Jianwei Cui created HBASE-15433:
-----------------------------------
Summary: SnapshotManager#restoreSnapshot not update table and
region count quota correctly when encountering exception
Key: HBASE-15433
URL: https://issues.apache.org/jira/browse/HBASE-15433
Project: HBase
Issue Type: Bug
Components: snapshots
Affects Versions: 2.0.0
Reporter: Jianwei Cui
In SnapshotManager#restoreSnapshot, the table and region quota will be checked
and updated as:
{code}
try {
// Table already exist. Check and update the region quota for this
table namespace
checkAndUpdateNamespaceRegionQuota(manifest, tableName);
restoreSnapshot(snapshot, snapshotTableDesc);
} catch (IOException e) {
this.master.getMasterQuotaManager().removeTableFromNamespaceQuota(tableName);
LOG.error("Exception occurred while restoring the snapshot " +
snapshot.getName()
+ " as table " + tableName.getNameAsString(), e);
throw e;
}
{code}
The 'checkAndUpdateNamespaceRegionQuota' will fail if regions in the snapshot
make the region count quota exceeded, then, the table will be removed in the
'catch' block. This will make the current table count and region count
decrease, following table creation or region split will succeed even if the
actual quota is exceeded.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)