You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Yi Liang (JIRA)" <ji...@apache.org> on 2017/09/26 23:46:02 UTC

[jira] [Updated] (HBASE-18105) [AMv2] Split/Merge need cleanup; currently they diverge and do not fully embrace AMv2 world

     [ https://issues.apache.org/jira/browse/HBASE-18105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yi Liang updated HBASE-18105:
-----------------------------
    Attachment: HBASE-14350-V1-master.patch

> [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
>            Assignee: Yi Liang
>             Fix For: 2.0.0
>
>         Attachments: HBASE-14350-V1-master.patch
>
>
> 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)