hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-4351) If from Admin we try to unassign a region forcefully, though a valid region name is given the master is not able to identify the region to unassign.
Date Thu, 08 Sep 2011 07:23:09 GMT
If from Admin we try to unassign a region forcefully, though a valid region name is given the
master is not able to identify the region to unassign.
----------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: HBASE-4351
                 URL: https://issues.apache.org/jira/browse/HBASE-4351
             Project: HBase
          Issue Type: Bug
         Environment: Linux
            Reporter: ramkrishna.s.vasudevan
            Assignee: ramkrishna.s.vasudevan


The following is the problem
Get the exact region name from UI and call
HBaseAdmin.unassign(regionname, true).
Here true is forceful option.
As part of unassign api
{code}
  public void unassign(final byte [] regionName, final boolean force)
  throws IOException {
    Pair<HRegionInfo, HServerAddress> pair =
      MetaReader.getRegion(this.catalogTracker, regionName);
    if (pair == null) throw new UnknownRegionException(Bytes.toStringBinary(regionName));
    HRegionInfo hri = pair.getFirst();
    if (force) this.assignmentManager.clearRegionFromTransition(hri);
    this.assignmentManager.unassign(hri, force);
  }
{code}
As part of clearRegionFromTransition()
{code}
    synchronized (this.regions) {
      this.regions.remove(hri);
      for (Set<HRegionInfo> regions : this.servers.values()) {
        regions.remove(hri);
      }
    }
{code}
the region is also removed.  Hence when the master tries to identify the region
{code}
      if (!regions.containsKey(region)) {
        debugLog(region, "Attempted to unassign region " +
          region.getRegionNameAsString() + " but it is not " +
          "currently assigned anywhere");
        return;
      }
{code}
It is not able to identify the region.  It exists in trunk and 0.90.x also.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message