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)