hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10215) TableNotFoundException should be thrown after removing stale znode in ETH
Date Fri, 27 Dec 2013 16:51:54 GMT

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

stack commented on HBASE-10215:
-------------------------------

+1 for 0.96.  Good one.  Thanks for adding test also.

> TableNotFoundException should be thrown after removing stale znode in ETH
> -------------------------------------------------------------------------
>
>                 Key: HBASE-10215
>                 URL: https://issues.apache.org/jira/browse/HBASE-10215
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.96.1, 0.94.14
>            Reporter: rajeshbabu
>            Assignee: rajeshbabu
>            Priority: Minor
>             Fix For: 0.98.0, 0.94.16, 0.96.2, 0.99.0
>
>         Attachments: HBASE-10215.patch, HBASE-10215_94.patch, HBASE-10215_v2.patch, HBASE-10215_v2.patch
>
>
> Lets suppose master went down while creating table then znode will be left in ENABLING
state. Master to recover them on restart. 
> If there are no meta entries for the table.
> While recovering the table we are checking whether table exists in meta or not, if not
we are removing the znode. After removing znode we need to throw TableNotFoundException. Presently
not throwing the exception so the znode will be recrated. It will be stale forever. Even on
master restart we cannot delete. We cannot create the table with same name also.
> {code}
>       // Check if table exists
>       if (!MetaReader.tableExists(catalogTracker, tableName)) {
>         // retainAssignment is true only during recovery.  In normal case it is false
>         if (!this.skipTableStateCheck) {
>           throw new TableNotFoundException(tableName);
>         } 
>         try {
>           this.assignmentManager.getZKTable().removeEnablingTable(tableName, true);
>         } catch (KeeperException e) {
>           // TODO : Use HBCK to clear such nodes
>           LOG.warn("Failed to delete the ENABLING node for the table " + tableName
>               + ".  The table will remain unusable. Run HBCK to manually fix the problem.");
>         }
>       }
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message