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


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

        

Reply via email to