apache / apache/cloudberry

'Parallel Safety' in CBDB style parallel plan

Open
#307 0 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
C
Stars
1.4k
Forks
247
Avg merge
4d 3h
Merged PRs (30d)
39

Description

### Cloudberry Database version

_No response_

### What happened

According to https://www.postgresql.org/docs/14/parallel-safety.html
> The planner classifies operations involved in a query as either parallel safe, parallel restricted, or parallel unsafe. A parallel safe operation is one that does not conflict with the use of parallel query. A parallel restricted operation is one that cannot be performed in a parallel worker, but that can be performed in the leader while parallel query is in use.

However, in our CBDB style parallel, there is no leader process at all.
The `parallel restricted` concept should be reconsidered.

### What you think should happen instead

_No response_

### How to reproduce

NA

### Operating System

NA

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] Yes, I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://cloudberrydb.org/community/coc).

Contributor guide

Open the contributing guide

Research direction

Start by reading PostgreSQL 14's parallel-safety documentation and comparing its leader/worker assumptions with the CBDB-style parallel execution described here. Done requires a decided treatment of the parallel-restricted concept and a corresponding documented or implemented change, but this issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.