You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "rajeshbabu (JIRA)" <ji...@apache.org> on 2013/12/20 13:16:10 UTC

[jira] [Created] (HBASE-10215) TableNotFoundException should be thrown after removing stale znode in ETH

rajeshbabu created HBASE-10215:
----------------------------------

             Summary: 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.94.14, 0.96.1
            Reporter: rajeshbabu
            Assignee: rajeshbabu
            Priority: Minor
             Fix For: 0.98.0, 0.94.16, 0.96.2, 0.99.0


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.4#6159)