hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Allan Yang (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-18014) A case of Region remain unassigned when table enabled
Date Mon, 08 May 2017 13:17:04 GMT
Allan Yang created HBASE-18014:

             Summary: A case of Region remain unassigned when table enabled
                 Key: HBASE-18014
                 URL: https://issues.apache.org/jira/browse/HBASE-18014
             Project: HBase
          Issue Type: Bug
    Affects Versions: 1.1.10, 1.4.0
            Reporter: Allan Yang
            Assignee: Allan Yang

Reproduce procedure:
1. Create a table, say the regions of this table are opened on RS1
2. Disable this table
3. Abort RS1 and wait for SSH to complete
4. Wait for a while, RS1 will be deleted from processedServers(a HashMap in {{RegionState}}
to store processed dead servers)
5. Enable the table, then the region of the table will remain unassigned until master restarts.


When assigning regions after the table enabled, AssignmentManager will check whether those
regions are on servers which are dead but not processed, since RS1 already have deleted from
the map of 'processedServers'. Then the AssignmentManager think this region is on a dead but
not processed server. So it will skip assign, let the region be handled by SSH.

      if (useZKForAssignment
          && regionStates.isServerDeadAndNotProcessed(sn)
          && wasRegionOnDeadServerByMeta(region, sn)) {
        if (!regionStates.isRegionInTransition(region)) {
          LOG.info("Updating the state to " + State.OFFLINE + " to allow to be reassigned
by SSH");
          regionStates.updateRegionState(region, State.OFFLINE);
        LOG.info("Skip assigning " + region.getRegionNameAsString()
            + ", it is on a dead but not processed yet server: " + sn);
        return null;

This message was sent by Atlassian JIRA

View raw message