stack created HBASE-18105:
-----------------------------
Summary: [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
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.3.15#6346)