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

stack commented on HBASE-6228:
------------------------------

I've been looking at hbase-6060 as a background task (sorry, its taking me a 
while Ram and Rajesh to get back to you lot).  When I put together multiple 
threads (SSH, HMaster joining cluster, single vs bulk assigning/unassign, 
timeout monitor, zk callbacks etc.) and then try to trace state changes not 
only across multiple state keepers (RegionState, RegionInTransition, 
AM#this.regions and AM#this.servers) in the master process but then also too 
x-process master -> regionserver -> via zk, I want to throw out what we have 
and start over (smile).  That ain't going to happen though.

Meantime I think we need to identify patterns or practices and broadcast them 
so all can sign on.  For example, I appreciate stuff like Jimmy's small win 
simplifying AM breaking out RegionStates into a standalone class apart from AM. 
 This at least collects a bunch of in-memory state in the one place.

We also need to have more tests I'd say so we can have some confidence stuff 
still works when we shift things around.
                
> Fixup daughters twice  cause daughter region assigned twice
> -----------------------------------------------------------
>
>                 Key: HBASE-6228
>                 URL: https://issues.apache.org/jira/browse/HBASE-6228
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>             Fix For: 0.96.0
>
>         Attachments: HBASE-6228.patch, HBASE-6228v2.patch, 
> HBASE-6228v2.patch, HBASE-6228v3.patch, HBASE-6228v4.patch
>
>
> First, how fixup daughters twice happen?
> 1.we will fixupDaughters at the last of HMaster#finishInitialization
> 2.ServerShutdownHandler will fixupDaughters when reassigning region through 
> ServerShutdownHandler#processDeadRegion
> When fixupDaughters, we will added daughters to .META., but it coudn't 
> prevent the above case, because FindDaughterVisitor.
> The detail is as the following:
> Suppose region A is a splitted parent region, and its daughter region B is 
> missing
> 1.First, ServerShutdownHander thread fixup daughter, so add daughter region B 
> to .META. with serverName=null, and assign the daughter.
> 2.Then, Master's initialization thread will also find the daughter region B 
> is missing and assign it. It is because FindDaughterVisitor consider daughter 
> is missing if its serverName=null

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to