I have committed PHOENIX-1642 to master, and will be going ahead with the proposal to create the branches shortly. I'll send out a summary of all the changes when done.
Enis On Tue, Mar 17, 2015 at 6:21 PM, Stack <[email protected]> wrote: > Nice summary. Proposal looks good to me. > St.Ack > > On Mon, Mar 16, 2015 at 3:44 PM, Enis Söztutar <[email protected]> wrote: > > > Hi, > > > > As some of you already know, there are discussions in multiple threads in > > the private list, and in jira PHOENIX-1642 about what we should do to > > support HBase-1.0 release and beyond. > > > > Previous discussions resulted in agreement that nobody wants to maintain > a > > shim layer for supporting HBase-0.98 and HBase-1.x releases > simultaneously. > > It would be hard between 0.98 and 1.x series, but relatively easier (I > > think) to do that between 1.x releases. > > > > Previous arguments also were in favor of not correlating Phoenix > > major/minor versions with the HBase's versions. This means that we do not > > want 4.x to only work with 0.98, and 5.x to only work with 1.x. It would > be > > most flexible if 4.4, 4.5 and 5.0 releases work with different HBase > > versions (although 5.0 is under discussion). > > > > Without shim layer and major version based scheme, the only remaining > > option is to have different branches corresponding to HBase-0.98 and > > HBase-1.0. Since Phoenix already has 4.x branch and master branch, the > > proposal is to have 5 active working branches for now: > > > > Branch: master => This will be main dev branch. 5 series > will > > be released from a fork (5.x) from this branch. Will only compile with > > HBase-1.x. > > Branch: 4.x-HBase-1.0 => This will be main dev branch for 4.x series. > > Will work with HBase 1. > > Branch: 4.x-HBase-0.98 => This will be main dev branch for 4.x series. > Will > > work with HBase 0.98. > > Branch-4.4-HBase-1.0 => This will be maintenance branch for 4.4.x > > releases. Will be forked from 4.x before the 4.4.0 release. > > Branch-4.4-HBase-0.98 => This will be maintenance branch for 4.4.x > > releases. > > > > As James points out in the private list thread, we will have 5 active > > branches similar to the previous case where 4.2 and 3.2 were both active. > > Quoting: > > > > > Agreed - that's how we've worked in the past with a 4.2 branch and a > > > 3.2 branch, etc. We've only done patch releases out of the latest > > > minor release branch, so it's not too bad. There's typically 5 active > > > branches: master, latest 4.x minor branch, the 4.x branch, latest 3.x > > > minor branch, and the 3.x branch. This would stay the same (in terms > > > of the # of branches we're actively working in) - it's the names may > > > change. > > > > > > Branch-4.4's should only be created before the 4.4.0 release. > > 4.4.0-HBase-0.98 and 4.4.0-HBase-1.0 releases will be made from those > > branches. > > > > For upcoming HBase-1.1, we can defer that for now until the release comes > > out. I think we may be able to support 1.0 and 1.1 with a very thin shim > > layer, but again that is for another day. > > > > Lastly, there was some discussion whether we want 5.0.0 release > supporting > > 0.98. Currently master is 5.0.0-SNAPSHOT and does not have PHOENIX-1642. > As > > suggested by Devaraj offline, we can also defer the discussion until the > > time when we want to have 5.0 release. We can commit PHOENIX-1642 to > master > > for now, and if we want to support 0.98 in 5.0, we can then revert the > > patch after we have created the corresponding branch if needed. > > > > Let me know what you guys think. Does this sound reasonable, and a thing > we > > can maintain? I am up for doing the branching work, but we want to reach > an > > agreement first. > > > > Enis > > >
