hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yi Liang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-19127) Set State.SPLITTING, MERGING, MERGING_NEW, SPLITTING_NEW properly in RegionStatesNode
Date Mon, 30 Oct 2017 23:08:01 GMT

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

Yi Liang updated HBASE-19127:
-----------------------------
    Attachment: state.patch

Try unit test, 
[~stack] [~jerryhe],  I found some issues about regionstates especially about the intermediate
state.

In the patch, I removed MERGE_TABLE_REGIONS_MOVE_REGION_TO_SAME_RS, this MERGE_TABLE_REGIONS_MOVE_REGION_TO_SAME_RS
has never been used.

and also removed MERGE_TABLE_REGIONS_SET_MERGING_TABLE_STATE,  And the method under this step
is commented out, so nothing will be done under this step. And I think we do not need to have
a specific step for it.

After read RegionState.java; Set above states follow rules below

1. SPLITTING => After check the parent regions is splittable, set it to parent region
2. SPLITTING_NEW => Set it after create daughter regions and before Assign these daughters
as OPEN in their region states.
3. Merging => After check 2 parent regions are mergeable, set it to both parent regions.
4. Merging_new => After create merged regions and before assign it as OPEN.

above states won't affect the real procedure work, we set it because in the metrics will use
them, and also RegionStates need to keep latest/correct state. 

> Set State.SPLITTING, MERGING, MERGING_NEW, SPLITTING_NEW properly in RegionStatesNode
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-19127
>                 URL: https://issues.apache.org/jira/browse/HBASE-19127
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Yi Liang
>            Assignee: Yi Liang
>         Attachments: state.patch
>
>
> In current code, we did not set above states to a region node at all, but we still have
statements like below to check if node have above states.
> {code}
> else if (!regionNode.isInState(State.CLOSING, State.SPLITTING)) {
> ....
> }
> {code}
> We need to set above states in a correct place.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message