hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18105) [AMv2] Split/Merge need cleanup; currently they diverge and do not fully embrace AMv2 world
Date Wed, 23 Aug 2017 04:44:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-18105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16137888#comment-16137888
] 

stack commented on HBASE-18105:
-------------------------------

[~easyliangjob] Thank you for digging in.

I like your reasoning on why an HRI has SPLIT in it. The alternative would be a new column
in hbase:meta that had state in it. We already have info:splitA, info:splitB, info:mergeA,
and info:mergeB columns which are probably badly named now I look at them but 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. File a TODO I'd say? In this issue, add
your nice reasoning as a comment on the split method?

(i thought we were putting region state already -- i.e. OPENING, OPEN -- into hbase:meta but
I was wrong -- we just update locations as region goes through its stages).

bq. Overall, there are still some places in split and merge needs to be cleaned up.

What you thinking [~easyliangjob]?

Thanks for doing this great cleanup.



> [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)

Mime
View raw message