[ https://issues.apache.org/jira/browse/HBASE-18105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16148231#comment-16148231 ]
Yi Liang commented on HBASE-18105: ---------------------------------- [~stack], sorry for the later response. {quote}marking a parent region as split in a column in hbase:meta would go w/ our writing of splitA and splitB as hbase:meta columns better than setting flag in HRI.{quote} This seems a good idea, I will do some research to see if this is doable. And I have another question about PONR, before AMv2,PONR may happen during SPLIT_UPDATE_META step, I read the branch 1 code, but still not clear about why this PONR could happen I see you file some jiras about this PONR, could you illustrate a little bit, so I will see if we can remove it as you suggest in the jira description, thanks > [AMv2] Split/Merge need cleanup; currently they diverge and do not fully > embrace AMv2 world > ------------------------------------------------------------------------------------------- > > Key: HBASE-18105 > URL: https://issues.apache.org/jira/browse/HBASE-18105 > Project: HBase > Issue Type: Sub-task > Components: Region Assignment > Affects Versions: 2.0.0 > Reporter: stack > Fix For: 2.0.0 > > > Region Split and Merge work on the new AMv2 but they work differently. This > issue is about bringing them back together and fully embracing the AMv2 > program. > They both have issues mostly the fact that they carry around baggage no > longer necessary in the new world of assignment. > Here are some of the items: > Split and Merge metadata modifications are done by the Master now but we have > vestige of Split/Merge on RS still; e.g. when we SPLIT, we ask the Master > which asks the RS, which turns around, and asks the Master to run the > operation. Fun. MERGE is all done Master-side. > > Clean this up. Remove asking RS to run SPLIT and remove RegionMergeRequest, > etc. on RS-side. Also remove PONR. We don’t Points-Of-No-Return now we are up > on Pv2. Remove all calls in Interfaces; they are unused. Make RS still able > to detect when split, but have it be a client of Master like anyone else. > Split is Async but does not return procId > Split is async. Doesn’t return the procId though. Merge does. Fix. Only hard > part here I think is the Admin API does not allow procid return. > Flags > Currently OFFLINE is determined by looking either at the master instance of > HTD (isOffline) and/or at the RegionState#state. Ditto for SPLIT. For MERGE, > we rely on RegionState#state. Related is a note above on how split works -- > there is a split flag in HTD when there should not be. > > TODO is move to rely on RegionState#state exclusively in Master. > From Split/Merge Procedures need finishing in > https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.4b60dc1h4m1f -- This message was sent by Atlassian JIRA (v6.4.14#64029)