Replies: 1 comment 2 replies
-
Wow, this is huge, nearly 3000 commits needed to be cherry-picked. We need more community contributors to join us on this work. It's also an excellent chance for database kernel developers who are new to Cloudberry to gain hands-on experience. By cherry-picking GPDB commits one by one, you can gradually become familiar with Cloudberry's codebase. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Proposers
Max Yang (@my-ship-it)
Dianjin Wang (@tuhaihe)
Proposal Status
Under Discussion
Abstract
This proposal aims to make the process of cherry-picking commits from Greenplum to Cloudberry more transparent and easier to track. It also aims to open it to more interested community contributors who would like to join.
Motivation
The Cloudberry Database project was started in 2022, using Greenplum 7.0.0-beta.3 as the codebase before it was made open source. We then focused on developing features for the Cloudberry Database and had slow progress in cherry-picking commits from the upstream Greenplum. When Greenplum became closed-source, cherry-picking work became more important. We found that a few users had adopted the latest open-source Greenplum version 7.1.0 or deployed the latest Greenplum's main branch in their production. We also noticed some minor operation behavior changes and bugs are already fixed in the open-source Greenplum. Therefore, we need to cherry-pick all the necessary commits from the open-source Greenplum to Cloudberry to keep up with the upstream changes for better compatibility between Greenplum and Cloudberry.
Implementation
We started this work in the past few months, but it's not open and transparent enough with the community members. To improve cherry-pick tracking, we have created a GitHub project for public view.
Now, there are nearly 3,000 commits that need to be cherry-picked from Greenplum to Cloudberry. You can check the following document for an overview.
How to cherry-pick
When cherry-picking, it's important not to combine multiple original upstream commits into one. Keep the commit history unchanged and do not alter the original author information and commit messages.
If you need to make changes due to conflicts or for Cloudberry, create a new commit yourself instead of editing the original cherry-picked commits directly.
The rest of the process follows the normal pull request workflow. When merging the pull request, choose "rebase and merge" instead of the "squash and merge" option.
Eg:
Rollout/Adoption Plan
We would like to have a flexible cherry-pick strategy, allowing you to cherry-pick the commits by features (like
Resource Group V2
,gptoolkit
, etc.), by the bug fix priority (Urgent issues are first), or on a monthly interval (sort from oldest to newest). If you would like to contribute, please feel free to share your comments in this discussion.Moreover, it would be better to add the label
cherry-pick
to your pull request on cherry-picks.Are you willing to submit a PR?
Beta Was this translation helpful? Give feedback.
All reactions