hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6228) Fixup daughters twice cause daughter region assigned twice
Date Tue, 03 Jul 2012 23:51:35 GMT

    [ 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,
> 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


View raw message