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

zhangduo commented on HBASE-13076:
----------------------------------

Seems works.
It is safe if we do not change the state when assigning because in disable we 
set state first and then begin offline regions, and in assign we first assign 
region and at the last we still have a disable check after setting region state 
to open. The checking and setting state forces a happens-before order.
So the only problem is we need to confirm the removed code is useless now.

> Table can be forcibly enabled in AssignmentManager during table disabling.
> --------------------------------------------------------------------------
>
>                 Key: HBASE-13076
>                 URL: https://issues.apache.org/jira/browse/HBASE-13076
>             Project: HBase
>          Issue Type: Bug
>          Components: master, Region Assignment
>    Affects Versions: 2.0.0
>            Reporter: Andrey Stepachev
>            Assignee: Andrey Stepachev
>             Fix For: 2.0.0
>
>         Attachments: 23757f039d83f4f17ca18815eae70b28.log, HBASE-13076.patch
>
>
> Got situation where region can be opened while table is disabling by 
> DisableTableHandler. Here is relevant log for such situation. There is no 
> clues who issued OPEN to region.
> Log file attached.
> UPD: A bit more details. It seems that even in case of new state put into 
> meta, it still possible to get previous state.
> That leads to one more round of assignment invoked in 
> AssignmentManager#onRegionClosed.
> UPD: Table become ENABLED, thats leads to regions instructed to assign 
> immediately on onRegionClosed. BulkDisabler will not know about that and will 
> wait indefinitely, because it will not issue unassign for newly opened 
> regions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to