Description
As demonstrated in HBASE-20662.master.002.patch setting quota on a namespace and removing it does not remove the quota setting from the tables in the namespace (which were added systematically due to namespace quota settings).
Steps:
- Create a namespace and a table in it
- Set space quota on namespace
- Violate namespace space quota
- Remove space quota on namespace
- Put row in table contained in namespace
public void setQuotaAndThenRemove(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")); // Set quota and do puts until we violate space policy final TableName tn = writeUntilNSSpaceViolationAndVerifyViolation(namespace, policy, put); // Now, remove the quota removeQuotaFromNamespace(namespace); // Put some rows now: should not violate as quota settings removed verifyNoViolation(policy, tn, put); }
Expected: We should be able to put data in contained table
Actual: We are not able to put data as SpaceQuota settings (systematically created due to previously added namespace space quota) exist on table
Attachments
Issue Links
- relates to
-
HBASE-20662 Increasing space quota on a violated table does not remove SpaceViolationPolicy.DISABLE enforcement
- Resolved