[ 
https://issues.apache.org/jira/browse/HBASE-6473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

zhou wenjian updated HBASE-6473:
--------------------------------

    Description: 
consider such Scenario:

we have a table called T1, which has 1 regions: A 

1. move A from rs1 to rs2,and A is now closed
2. disable T1,
3. delete  T1.
when we disable T1, disable handler will just set the zk to disabled and A will 
still be assigned. when Ais opened, A in transition will be clean out. 

At that time, Deletetable found it is safe to delete all regions and table in 
meta and fs , it will also delete the zk node of T1.
while (System.currentTimeMillis() < done) {
        AssignmentManager.RegionState rs = am.isRegionInTransition(region);
        if (rs == null) break;
        Threads.sleep(waitingTimeForEvents);
        LOG.debug("Waiting on  region to clear regions in transition; " + rs);
      }
      if (am.isRegionInTransition(region) != null) {
        throw new IOException("Waited hbase.master.wait.on.region (" +
          waitTime + "ms) for region to leave region " +
          region.getRegionNameAsString() + " in transitions");
      }

howover A is still being unassigned, when it finished closed the A,it finds 
that the closed state in zk is deleted, and then A will be assigned again.



  was:
consider such Scenario:

wo have a table called T1, which has 1 regions: A 

1. move A from rs1 to rs2,and A is now closed
2. disable T1,
3. delete  T1.
when we disable T1, disable handler will just set the zk to disabled and A will 
still be assigned. when the region is opened, the region in transition will 
clean out. 

At that time, Deletetable found it is safe to delete all regions and table in 
meta and fs , it will also delete the zk node of T1.
while (System.currentTimeMillis() < done) {
        AssignmentManager.RegionState rs = am.isRegionInTransition(region);
        if (rs == null) break;
        Threads.sleep(waitingTimeForEvents);
        LOG.debug("Waiting on  region to clear regions in transition; " + rs);
      }
      if (am.isRegionInTransition(region) != null) {
        throw new IOException("Waited hbase.master.wait.on.region (" +
          waitTime + "ms) for region to leave region " +
          region.getRegionNameAsString() + " in transitions");
      }

howover the region is still being unassigned, when it finished closed the 
region,it finds that the closed state in zk is deleted, and then it will be 
assigned again.



    
> deleted table may be not deleted regions completely, some region maybe still 
> online
> -----------------------------------------------------------------------------------
>
>                 Key: HBASE-6473
>                 URL: https://issues.apache.org/jira/browse/HBASE-6473
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.0
>            Reporter: zhou wenjian
>             Fix For: 0.96.0, 0.94.2
>
>
> consider such Scenario:
> we have a table called T1, which has 1 regions: A 
> 1. move A from rs1 to rs2,and A is now closed
> 2. disable T1,
> 3. delete  T1.
> when we disable T1, disable handler will just set the zk to disabled and A 
> will still be assigned. when Ais opened, A in transition will be clean out. 
> At that time, Deletetable found it is safe to delete all regions and table in 
> meta and fs , it will also delete the zk node of T1.
> while (System.currentTimeMillis() < done) {
>         AssignmentManager.RegionState rs = am.isRegionInTransition(region);
>         if (rs == null) break;
>         Threads.sleep(waitingTimeForEvents);
>         LOG.debug("Waiting on  region to clear regions in transition; " + rs);
>       }
>       if (am.isRegionInTransition(region) != null) {
>         throw new IOException("Waited hbase.master.wait.on.region (" +
>           waitTime + "ms) for region to leave region " +
>           region.getRegionNameAsString() + " in transitions");
>       }
> howover A is still being unassigned, when it finished closed the A,it finds 
> that the closed state in zk is deleted, and then A will be assigned again.

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