You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Allan Yang (JIRA)" <ji...@apache.org> on 2017/05/08 13:17:04 UTC

[jira] [Created] (HBASE-18014) A case of Region remain unassigned when table enabled

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.

Why?

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.

{code:java}
case OFFLINE:
      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;
      }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)