I'd think we do. May be server shall simply abort if both are on? -Sent from mobile, please excuse typos Mikhail
> On Jun 12, 2014, at 14:33, Ted Yu <yuzhih...@gmail.com> wrote: > > bq. zk-less assignments and region replicas to not be turned on at the same > time > > Interesting. Do we need to add a configuration check for the above ? > > > On Thu, Jun 12, 2014 at 2:12 PM, Mikhail Antonov <olorinb...@gmail.com> > wrote: > >> So how would the defaults and dependencies look amongst these 3, once >> committed to 0.99? >> >> - co-location of meta and master >> - zk-less assignment >> - timeline-consistent replicas? >> >> As I understand - >> - All 3 are off by default >> - zk-less assignments and region replicas to not be turned on at the same >> time >> - zk-less assignments require meta co-location >> - region replicas don't care about meta co-location? >> >> -Mikhail >> >> >> 2014-06-12 14:07 GMT-07:00 Jonathan Hsieh <j...@cloudera.com>: >> >>> sgtm. >>> >>> >>>> On Mon, Jun 9, 2014 at 10:46 AM, Enis Söztutar <enis....@gmail.com> >>> wrote: >>> >>>> Thanks Jon. >>>> >>>> I think we'll try the rebase approach first. I'll start the effort >> today >>>> and see how far along I can get with that. Rebasing each patch might >> be a >>>> bit more work actually. If this turns out painful, we'll revert to the >>>> merge approach similar to what you describe. >>>> >>>> Enis >>>> >>>> >>>> On Sat, Jun 7, 2014 at 7:41 AM, Jonathan Hsieh <j...@cloudera.com> >> wrote: >>>> >>>>>> On Fri, Jun 6, 2014 at 5:05 PM, Enis Söztutar <enis....@gmail.com> >>>>> wrote: >>>>> >>>>>> My preference would be to do the rebase-then-merge style (last >> style >>> in >>>>>> your comment). For each patch, I am hoping for all the changes >>> between >>>>>> committed version and rebased version to be mechanical. I like >>> having a >>>>>> linear history with explicit commit-to-patch mapping. >>>>>> >>>>>> If the changes are of a mechanical nature and that each patch >>> compiles >>>>> and >>>>> passes unit tests along the way, then rebase-then-merge is perfectly >>> fine >>>>> by me. >>>>> >>>>> Even though snapshots were fairly orthogonal to the rest of the >>> codebase, >>>>> when we did merges we had problems maintaining the compiles and >> passes >>>> with >>>>> every commit invariants when we tried rebase-then-merge approach. >>> After >>>>> each rebase we would end up doing a bunch of work and still end up >>>> failing >>>>> unit tests. In that case we (jesse, matteo, myself) went to the >> merge >>>>> approach. We actually merged into the snapshot branch a few times >>>> fixing >>>>> things due to changes in trunk that broke parts of the snapshots >>> branch. >>>>> Here's a more accurate picture of what the commit history looked like >>> in >>>>> git (we dev'ed in git and in end had to recommit this all in svn). >>>>> >>>>> m (essentially empty merge patch). >>>>> |\ >>>>> t | (trunk patch with no impact) >>>>> | s6* (patch to fix newly introduced problem) >>>>> |/| >>>>> t | >>>>> t*| (trunk patch that broke snapshots again) >>>>> | s5* (branch bug fixes due to merge) >>>>> | s4* (mechanical fixups due to the merge) >>>>> |/| >>>>> t | >>>>> t | >>>>> t | >>>>> | s3 >>>>> | s2 >>>>> | s1 >>>>> |/ >>>>> t >>>>> t >>>>> >>>>> This approach was captured in github and had the added benefit of >>>>> preserving exact history, and having known good points preserving the >>>>> compile/unit test invariants on trunk. (unfortunately, some of this >>>>> history was lost when we ported the git history over to svn, but that >>>> isn't >>>>> a problem any more). If you want to see the whole thing, look at >> my >>>> git >>>>> repo: >>>>> >>>>> git remote add jmhsieh g...@github.com:jmhsieh/hbase.git >>>>> git log --oneline --graph --color jmhsieh/hbase-7290 >>>>> >>>>> >>>>> Can we do history-preserving merge with the first style? I can do the >>>>>> rebases and upload interdiff if that is big so that we can compare >>> on a >>>>>> per-patch basis. >>>>> It is possible. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> Enis >>>>>> >>>>>> >>>>>> On Fri, Jun 6, 2014 at 4:36 PM, Jonathan Hsieh <j...@cloudera.com> >>>> wrote: >>>>>> >>>>>>> When we merged snapshots branch in we did this: >>>>>>> >>>>>>> t = trunk commit >>>>>>> s = snapshot branch commit >>>>>>> m = merge point. >>>>>>> >>>>>>> During work: >>>>>>> t >>>>>>> t >>>>>>> t >>>>>>> | s3 >>>>>>> | s2 >>>>>>> | s1 >>>>>>> |/ >>>>>>> t >>>>>>> t >>>>>>> >>>>>>> During after merge: >>>>>>> m (essentially empty merge patch). >>>>>>> t \ >>>>>>> t | >>>>>>> t | >>>>>>> | s4* (fixups due to the merge) >>>>>>> | s3 >>>>>>> | s2 >>>>>>> | s1 >>>>>>> |/ >>>>>>> t >>>>>>> t >>>>>>> >>>>>>> Does your proposal mean you are going to do this instead? >>>>>>> >>>>>>> s3* (modified due to rebase) >>>>>>> s2* (modified due to rebase) >>>>>>> s1 >>>>>>> t >>>>>>> t >>>>>>> t >>>>>>> | s (now dead hbase-10070 branch) >>>>>>> | s >>>>>>> | s >>>>>>> | s >>>>>>> |/ >>>>>>> t >>>>>>> t >>>>>>> >>>>>>> If it is the then we should probably have a review of the >> modified >>>>>> patches. >>>>>>> If it the same as the snapshot merge, then we just need a review >>> of >>>>> the >>>>>>> merge point delta (as well as a full review). >>>>>>> >>>>>>> Personally I prefer the merge for these large feature branches -- >>> it >>>>>>> guarantees that each commit is compilable, and reflects what you >>> guys >>>>>> have >>>>>>> been testing for a while. If you go with the last approach you >>> might >>>>>> have >>>>>>> stuff broken, and in the mainline commit path. >>>>>>> >>>>>>> Jon. >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Jun 3, 2014 at 11:16 AM, Andrew Purtell < >>> apurt...@apache.org >>>>> >>>>>>> wrote: >>>>>>> >>>>>>>> >>>>>>>> On Mon, Jun 2, 2014 at 2:24 PM, Enis Söztutar <e...@apache.org >>> >>>>> wrote: >>>>>>>> >>>>>>>>> This VOTE is for merging back the remaining changes in branch >>> to >>>>>> trunk. >>>>>>>> If >>>>>>>>> passes, we will rebase the branch on top of current trunk, in >>>> which >>>>>> we >>>>>>>> will >>>>>>>>> keep the commit-per-issue log history. After that we will do >> a >>>> git >>>>>>> merge >>>>>>>>> for the branch keeping the history clean and not squashing >> the >>>>>>> commits. I >>>>>>>>> expect rebasing to be straightforward, however with some >> manual >>>>>>> conflict >>>>>>>>> resolution. After the merge we'll keep running the tests to >>> make >>>>> sure >>>>>>>>> everything is ok. >>>>>>>> >>>>>>>> Just to clarify that would look something like this: >>>>>>>> >>>>>>>> $ git checkout HBASE-10070 >>>>>>>> $ git rebase --ignore-date master >>>>>>>> (fixups, git add, git rebase --continue, etc, etc, etc) >>>>>>>> $ git checkout master >>>>>>>> $ git merge HBASE-10070 >>>>>>>> >>>>>>>> ? >>>>>>>> >>>>>>>> That sounds good to me, the final merge should be a fast >> forward >>>>> merge. >>>>>>>> >>>>>>>> Use of ' --ignore-date' could be mildly controversial. It's not >>>>>> strictly >>>>>>>> necessary because the commits for 10070 will appear grouped in >>>>> history, >>>>>>> but >>>>>>>> then dates on commits will be discontiguous in that section of >>>>>> history. I >>>>>>>> suggest using that option so the order of commits and dates >> sort >>>> the >>>>>> same >>>>>>>> on master. >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Jun 2, 2014 at 2:24 PM, Enis Söztutar <e...@apache.org >>> >>>>> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> Last week we started some discussion[4] for merging branch >>>>>>> hbase-10070[1] >>>>>>>>> into trunk. It seems like the consensus there is to do the >>> merge >>>>>> sooner >>>>>>>>> rather than later. >>>>>>>>> >>>>>>>>> >>>>>>>>> We had branched hbase-10070 in Feb out of trunk[5]. The >> branch >>>>>> contains >>>>>>>> 55 >>>>>>>>> jiras committed[2]. Out of these 55, 15 has already been >>>> committed >>>>> to >>>>>>>> trunk >>>>>>>>> and backported to hbase-10070 branch[3]. >>>>>>>>> >>>>>>>>> This VOTE is for merging back the remaining changes in branch >>> to >>>>>> trunk. >>>>>>>> If >>>>>>>>> passes, we will rebase the branch on top of current trunk, in >>>> which >>>>>> we >>>>>>>> will >>>>>>>>> keep the commit-per-issue log history. After that we will do >> a >>>> git >>>>>>> merge >>>>>>>>> for the branch keeping the history clean and not squashing >> the >>>>>>> commits. I >>>>>>>>> expect rebasing to be straightforward, however with some >> manual >>>>>>> conflict >>>>>>>>> resolution. After the merge we'll keep running the tests to >>> make >>>>> sure >>>>>>>>> everything is ok. >>>>>>>>> >>>>>>>>> An overview of the changes, and the status of the work can be >>>> found >>>>>>> under >>>>>>>>> [4], [6] and [7].In summary, with the code in branch, you can >>>>> create >>>>>>>> tables >>>>>>>>> with region replicas, do gets / multi gets and scans using >>>> TIMELINE >>>>>>>>> consistency with high availability. Region replicas >>> periodically >>>>> scan >>>>>>> the >>>>>>>>> files of the primary and pick up flushed / committed files. >> The >>>> RPC >>>>>>>> paths / >>>>>>>>> assignment, balancing etc are pretty stable. However some >> more >>>>>>>> performance >>>>>>>>> analysis and tuning is needed. Phase 2 work is being worked >> on >>>>> under >>>>>>>>> HBASE-11183, and we have some working prototype for >>>>> async-replicating >>>>>>> and >>>>>>>>> region splits. However, we believe even without those >> features, >>>>> this >>>>>>> work >>>>>>>>> is useable (especially for read-only/bulk load tables) , and >>> can >>>> be >>>>>>>>> released as an experimental feature in 1.0. >>>>>>>>> >>>>>>>>> Please indicate your choice: >>>>>>>>> >>>>>>>>> [ ] +1 on yes, merge branch hbase-10070 to trunk. >>>>>>>>> [ ] 0 on don't care >>>>>>>>> [ ] -1 don't merge, because ... >>>>>>>>> >>>>>>>>> I'll keep the vote running for 7 days, and close it Mon 9th >> of >>>>> June, >>>>>>> PDT. >>>>>>>>> >>>>>>>>> Here is my official +1. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Enis >>>>>>>>> >>>>>>>>> [1] >> https://git-wip-us.apache.org/repos/asf?p=hbase.git;a=log;h=refs/heads/hbase-10070 >>>>>>>>> [2] >> https://issues.apache.org/jira/browse/HBASE-11214?jql=fixVersion%20%3D%20hbase-10070%20AND%20project%20%3D%20HBASE%20AND%20status%20%3D%20resolved >>>>>>>>> [3] >> https://issues.apache.org/jira/browse/HBASE-10792?jql=fixVersion%20%3D%20hbase-10070%20and%20fixversion%20%3D%200.99.0%20AND%20project%20%3D%20HBASE%20AND%20status%20%3D%20resolved >>>>>>>>> [4] >>>>> https://www.mail-archive.com/dev@hbase.apache.org/msg25795.html >>>>>>>>> [5] >> https://github.com/apache/hbase/commit/e22c7efeac02efde3451a0c9ff9bdcd2725576d0 >>>>>>>>> [6] >> http://www.slideshare.net/enissoz/hbase-high-availability-for-reads-with-time >>>>>>>>> [7] https://issues.apache.org/jira/browse/HBASE-10070 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Best regards, >>>>>>>> >>>>>>>> - Andy >>>>>>>> >>>>>>>> Problems worthy of attack prove their worth by hitting back. - >>> Piet >>>>>> Hein >>>>>>>> (via Tom White) >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> // Jonathan Hsieh (shay) >>>>>>> // HBase Tech Lead, Software Engineer, Cloudera >>>>>>> // j...@cloudera.com // @jmhsieh >>>>> >>>>> >>>>> >>>>> -- >>>>> // Jonathan Hsieh (shay) >>>>> // HBase Tech Lead, Software Engineer, Cloudera >>>>> // j...@cloudera.com // @jmhsieh >>> >>> >>> >>> -- >>> // Jonathan Hsieh (shay) >>> // HBase Tech Lead, Software Engineer, Cloudera >>> // j...@cloudera.com // @jmhsieh >> >> >> >> -- >> Thanks, >> Michael Antonov >>