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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

Cool, thanks.

There is one problem with the patch I am still thinking about.

In the bulk assignment, I keep the async ZK node offline for the performance 
reason.  However, it depends on the zk event thread's callback to know if all 
nodes are created or not.  If the single event thread is blocked due to any 
locker which is held by the bulk assigner, there will be a deadlock.

What should we do about this?

Instead of async ZK node offline, I am thinking to have an executor service to 
sync ZK node offline so that we don't have too much performance degrade.


                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>
> In assigning a region, assignment manager forces the region state offline if 
> it is not. This could cause double assignment, for example, if the region is 
> already assigned and in the Open state, you should not just change it's state 
> to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region 
> state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way 
> to create some assignment inconsistencies, for example, calling region server 
> to open a region directly. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to