hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhou wenjian (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6473) deletedtable is not deleted completely, some region may be still online
Date Thu, 02 Aug 2012 01:48:02 GMT

    [ https://issues.apache.org/jira/browse/HBASE-6473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13427065#comment-13427065

Zhou wenjian commented on HBASE-6473:

@Jimmy Xiang
the issue appears due to the the check condition of deletetable. 
when we deletetable, we first try to check if the zk state is disabled, and then check if
the regions online is not in rit. For some reason disabled state is set but there is region
still being unassigned, in that case the check of delete table shipps,  and it will delete
the table and zk state , that will cause the region being unassigned to assign again.

In the patch I give a strictly check to deleting table. If there is region disabled but still
online, we will wait for the region offline, after that we can delete table, and this case
will never appear again

> deletedtable is not deleted completely, some region may be 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
>         Attachments: HBASE-6473-trunk.patch
> 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.
> {code}
> 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");
>       }
> {code}
> however A is still being unassigned, when it finished closed the A,it finds that the
disabled 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


View raw message