You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (Commented) (JIRA)" <ji...@apache.org> on 2012/03/23 06:28:22 UTC

[jira] [Commented] (HBASE-5624) Aborting regionserver when splitting region, may cause daughter region not assigned by ServerShutdownHandler.

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

stack commented on HBASE-5624:
------------------------------

This is for the case where we stop a regionserver on a rolling restart or we just stop a single regionserver but we leave the rest of the cluster up, right?  Not for the case where the cluster is all going down?

+1 on the patch.  Passing via hadoopqa.
                
> Aborting regionserver when splitting region, may cause daughter region not assigned by ServerShutdownHandler.
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5624
>                 URL: https://issues.apache.org/jira/browse/HBASE-5624
>             Project: HBase
>          Issue Type: Bug
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>         Attachments: HBASE-5624.patch
>
>
> If one region is splitting when regionserver is stoping.
> The following code may executed in SplitTransaction#openDaughters.
> {code}
> // TODO: Is this check needed here?
>     if (stopped || stopping) {
>       // add 2nd daughter first (see HBASE-4335)
>       MetaEditor.addDaughter(server.getCatalogTracker(),
>           b.getRegionInfo(), null);
>       MetaEditor.addDaughter(server.getCatalogTracker(),
>           a.getRegionInfo(), null);
>       LOG.info("Not opening daughters " +
>           b.getRegionInfo().getRegionNameAsString() +
>           " and " +
>           a.getRegionInfo().getRegionNameAsString() +
>           " because stopping=" + stopping + ", stopped=" + stopped);
>     } 
> {code}
> So, for the two daughter regions, their location are both null in .META.
> When ServerShutdownHandler process the dead server, it will not assign these two daughter regions since their location(info:server) are null in .META. by MetaReader.getServerUserRegions().

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