Hi,

As per private PMC threads and the dev discussions [1], I have created two
new branches for 4.x development for supporting both HBase-0.98 and
HBase-1.0 versions. The goal is to have 4.4.0 and 4.5.0, etc releases which
support both of the HBase versions and possibly HBase-1.1.0+ as well.

See [1] for why the branches are needed (this seems like the least bad
approach). Here are the changes I did for this:

BRANCH CHANGES:
- Committed PHOENIX-1642 to master
- Created branch-4.x-HBase-0.98. Pushed to git repo
- Created branch-4.x-HBase-1.x. Pushed to git repo
- Changed versions to be 4.4.0-HBase-0.98-SNAPSHOT and
4.4.0-HBase-1.x-SNAPSHOT respectively in above branches
- Cherry-picked PHOENIX-1642 to branch-4.x-HBase-1.x
- Deleted branch named "4.0". (there is no rename of branches in git)

I have named the branch 4.x-HBase-1.x instead of suffix HBase-1.0 in hopes
that further HBase-1.1, 1.2 can be supported in this branch and we can get
away without branching again for 1.1. See especially HBASE-12972. We can
change this later on if it is not the case.


JENKINS CHANGES:
- Disabled Phoenix-4.0 job (Lets keep it around for a couple of days just
in case)
- Created new jobs for these two branches:

https://builds.apache.org/view/All/job/Phoenix-4.x-HBase-0.98/
https://builds.apache.org/job/Phoenix-4.x-HBase-1.x/

The build should be similar to the previous 4.0 branch builds.


JIRA CHANGES:
 - Renamed release version 4.4 in jira to 4.4.0


Further changes coming shortly unless objection:
 - Delete jenkins job https://builds.apache.org/view/All/job/Phoenix%202.0/
 (does not seem to be used for more than 1 year)
 - Delete jenkins job https://builds.apache.org/view/All/job/Phoenix-2.0/
 - Delete jenkins job https://builds.apache.org/view/All/job/Phoenix-4.0/


How does this affect development and releases?
 - Current master is version 5.0.0-SNAPSHOT. It builds with
HBase-1.0.1-SNAPSHOT (from apache snapshots repo).
 - branch-4.x-HBase-0.98 is very similar to old 4.0 branch. It builds with
HBase-0.98.9-hadoop2
 - branch-4.x-HBase-1.x is forked from branch-4.x-HBase-0.98 and builds
with HBase-1.0.1-SNAPSHOT.
 - There should be two release artifacts (or releases simultaneously) for
4.4 release. One will have version 4.4.0-HBase-0.98 and the other
4.4.0-HBase-1.x. We can make it so that the RM creates both releases at the
same time, and the VOTE applies to both releases.
 - All changes MUST be committed to both branches for future 4.x releases
unless it is HBase version specific. There is no way to auto-enforce it, so
all committers should take this into account. The patches might differ
sligtly. Before the release RM may do some manual checks to ensure that
every patch is commmitted to both branches.
 - Old 4.0 is deleted from git repository. Please re-check or rename your
local branches. Please do not push anything there (as it will re-create the
branch).
 - There is only one jira version 4.4.0, which should apply equally to both
release versions. If needed we can differentiate these in jira as well. Let
me know.
 - Before the 4.4.0 release, RM should fork both 4.x branches and name them
4.4-HBase-XXX. At that time, we will have 1 master branch, 2 of 4.x
branches and 2 of 4.4 branches.

Let me know if you have further concerns. Let's see how well this process
works.

Thanks,
Enis

Ref:
[1] http://search-hadoop.com/m/lz2la1GgkPx

Reply via email to