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

Jonathan Hsieh commented on HBASE-6228:
---------------------------------------

@Ram, @Chunhui

I think stack may have started looking at some of these things but let me give 
a list that I've been looking at which I think are related: (there are probably 
more).

HBASE-6012, HBASE-6060, HBASE-5914, HBASE-5882, HBASE-6147, HBASe-5916, 
HBASE-5546, HBASE-5816, HBASE_6160, HBASE-5918, HBASE-6016, HBASE-5927.

I've been gathering the list with the intent of seeing if there is a common 
pattern.  At the highest level, I think that we need somethign to protect meta 
from changes coming from multiple uncoordinated sources like RS's and HM.   My 
gut is that the long term solution is something like a region lock (possibly a 
ZK "regionlock") that is used to isolate and protect hbase metadata 
modifications.   Something like that would reduce the space of possible 
problems and hopefully make testing easier along the way.
                
> 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