Nihal Jain created HBASE-20821:
----------------------------------

             Summary: Re-creating a dropped namespace and contained table 
inherits previously set space quota settings
                 Key: HBASE-20821
                 URL: https://issues.apache.org/jira/browse/HBASE-20821
             Project: HBase
          Issue Type: Bug
            Reporter: Nihal Jain
            Assignee: Nihal Jain


As demonstarted in 
[HBASE-20662.master.002.patch|https://issues.apache.org/jira/secure/attachment/12927187/HBASE-20662.master.002.patch]
 re-creating a dropped namespace and contained table inherits previously set 
space quota settings.

*Steps*
 * Create a namespace and a table in it
 * Set space quota on namespace
 * Drop table and then namespace
 * Re create same namespace and same table
 * 
{code:java}
private void setQuotaAndThenDropNamespace(final String namespace, 
SpaceViolationPolicy policy)
    throws Exception {
  Put put = new Put(Bytes.toBytes("to_reject"));
  put.addColumn(Bytes.toBytes(SpaceQuotaHelperForTests.F1), Bytes.toBytes("to"),
    Bytes.toBytes("reject"));
  createNamespaceIfNotExist(TEST_UTIL.getAdmin(), namespace);
  // Do puts until we violate space policy
  final TableName tn = writeUntilNSSpaceViolationAndVerifyViolation(namespace, 
policy, put);
  // Now, drop the table
  TEST_UTIL.deleteTable(tn);
  LOG.debug("Successfully deleted table ", tn);
  // Now, drop the namespace
  TEST_UTIL.getAdmin().deleteNamespace(namespace);
  LOG.debug("Successfully deleted the namespace ", namespace);
  // Now re-create the namespace
  createNamespaceIfNotExist(TEST_UTIL.getAdmin(), namespace);
  LOG.debug("Successfully re-created the namespace ", namespace);
  TEST_UTIL.createTable(tn, Bytes.toBytes(SpaceQuotaHelperForTests.F1));
  LOG.debug("Successfully re-created table ", tn);
  // Put some rows now: should not violate as namespace/quota was dropped
  verifyNoViolation(policy, tn, put);
}
{code}

*Expected*: SpaceQuota settings should not exist on the newly re-created table

*Actual:* SpaceQuota settings (systematically created due to previously added 
namespace space quota) exist on table



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to