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