[jira] [Comment Edited] (HBASE-20821) Re-creating a dropped namespace and contained table inherits previously set space quota settings
[ https://issues.apache.org/jira/browse/HBASE-20821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16835859#comment-16835859 ] Shardul Singh edited comment on HBASE-20821 at 5/8/19 7:52 PM: --- hi [~elserj]..can you please review this patch?...thanks in advance. :-) was (Author: shardulsingh): hi [~elserj]..can you please review this patch...thanks in advance? :-) > 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 >Affects Versions: 3.0.0, 2.1.0 >Reporter: Nihal Jain >Assignee: Shardul Singh >Priority: Major > Fix For: 3.0.0, 2.1.0 > > Attachments: HBASE-20821.master.v001patch, > HBASE-20821.master.v002.patch, HBASE-20821.master.v003.patch > > > 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 > * Violate namespace quota > * Drop table and then namespace > * Re create same namespace and same table > * Put data into the table (more than the previosuly set namespace quota > limit) > {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 and we should be able to put limit less data into the table > *Actual:* We fail to put data into newly created table as 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)
[jira] [Comment Edited] (HBASE-20821) Re-creating a dropped namespace and contained table inherits previously set space quota settings
[ https://issues.apache.org/jira/browse/HBASE-20821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16834567#comment-16834567 ] Shardul Singh edited comment on HBASE-20821 at 5/7/19 9:36 AM: --- ping [~elserj] - Hi , ..I would like to work on this jira...Can you add me as a contributor? was (Author: shardulsingh): ping [~elserj] - I would like to work on this jira...Can you add me as a contributor? > 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 >Priority: Major > > 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 > * Violate namespace quota > * Drop table and then namespace > * Re create same namespace and same table > * Put data into the table (more than the previosuly set namespace quota > limit) > {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 and we should be able to put limit less data into the table > *Actual:* We fail to put data into newly created table as 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)