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

Allan Yang commented on HBASE-20860:
------------------------------------

{quote}
Will this also effect branch-2.1+? IIRC, I changed the method after loading 
meta, where we only generate RIT for OFFLINE regions.
{quote}
Just run my test case against  branch-2.1, yes, it affect branch-2.1+
In loadMeta(), we have this logic:
{code}
} else if (localState == State.CLOSED && getTableStateManager().
                isTableState(regionNode.getTable(), TableState.State.DISABLED,
                TableState.State.DISABLING)) {
              // The region is CLOSED and the table is DISABLED/ DISABLING, 
there is nothing to
              // schedule; the region is inert.
            } else {
              // These regions should have a procedure in replay
              regionStates.addRegionInTransition(regionNode, null);
            }
{code}
For the merged regions after master restarts, they are in CLOSED state, and no 
procedure attached to them, so they are added as RITregions.

> Merged region's RIT state may not be cleaned after master restart
> -----------------------------------------------------------------
>
>                 Key: HBASE-20860
>                 URL: https://issues.apache.org/jira/browse/HBASE-20860
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 3.0.0, 2.1.0, 2.0.1
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>            Priority: Major
>             Fix For: 3.0.0, 2.1.0, 2.0.2
>
>         Attachments: HBASE-20860.branch-2.0.patch
>
>
> In MergeTableRegionsProcedure, we issue UnassignProcedures to offline regions 
> to merge. But if we restart master just after MergeTableRegionsProcedure 
> finished these two UnassignProcedure and before it can delete their meta 
> entries. The new master will found these two region is CLOSED but no 
> procedures are attached to them. They will be regard as RIT regions and 
> nobody will clean the RIT state for them later.
> A quick way to resolve this stuck situation in the production env is 
> restarting master again, since the meta entries are deleted in 
> MergeTableRegionsProcedure. Here, I offer a fix for this problem.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to