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

Jonathan Gray commented on HBASE-2700:
--------------------------------------

During master failover, the most important thing is to determine whether there 
are regions which need actions to be taken by the master to get back to normal 
operation (for example, they were being moved for load balancing but master 
only issued the closeRegion not the openRegion yet).  Anything the master would 
need to cleanup immediately would be regions in transitions.  That information 
would be available immediately via ZK with this new design.  That seems 
superior to requiring each RS to tell you everything it holds and diff'ing that 
against a full META scan which could take some time and is more complex.

The other thing we'd need to know is if any RS had failed at a time when no 
master was around to process its termination (by reassigning its regions to 
others).  For this, we propose a second list of online RS that is maintained by 
the master (in addition to the ephemeral node put up by each RS).  When a 
master actually processes a shutdown or onlining it would update its list.  A 
new master would diff these two lists of znodes to determine if anything 
changed during failover.

With the zk-based assignment we would no longer need to do this metascan/rpc to 
each server.  To me that seems rather desirable and the zk approach is faster.  
That recovery style described in BT also requires holding all region and 
assignment information in memory?  There has been some discussion around 
whether we want to go that way or not but for large clusters it could get 
significant.  Even if we do go that way I still think using the regions in 
transition out of zk is a better way to ensure cluster sanity when a failed 
over master starts up.

> Handle master failover for regions in transition
> ------------------------------------------------
>
>                 Key: HBASE-2700
>                 URL: https://issues.apache.org/jira/browse/HBASE-2700
>             Project: HBase
>          Issue Type: Sub-task
>          Components: master, zookeeper
>            Reporter: Jonathan Gray
>            Priority: Critical
>             Fix For: 0.21.0
>
>
> To this point in HBASE-2692 tasks we have moved everything for regions in 
> transition into ZK, but we have not fully handled the master failover case.  
> This is to deal with that and to write tests for it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to