[ 
https://issues.apache.org/jira/browse/HBASE-21225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16632004#comment-16632004
 ] 

Josh Elser commented on HBASE-21225:
------------------------------------

[~jatsakthi], please update the description with an explanation of the problem, 
not just the reproduction steps. In HBASE-20705, you seemed to have some notion 
of why this still doesn't work in all cases.

A couple of comments:

1. Why all of the modification/removal of existing tests?
{code:java}
         if (quotaToMerge.getRemove()) {
-          // Update the builder to propagate the removal
-          spaceBuilder.setRemove(true).clearSoftLimit().clearViolationPolicy();
+          // To prevent the "REMOVE => true" row in 
QuotaTableUtil.QUOTA_TABLE_NAME
+          spaceBuilder = null;{code}
2. The purpose of the {{REMOVE => true}} entry is to denote that HBase should 
remove the SpaceQuota when it writes that out. With this change, it seems like 
you're leaving the {{REMOVE}} attribute in the protobuf message, but completely 
ignoring it which is confusing.

IMO, the bug is that GlobalSettingsQuotaImpl is not correctly removing the 
SpaceQuota when REMOVE is set to true. Seems the logic I had initially written 
around an RPC and Space quota on the same table/namespace is lacking. Does that 
make sense?

> Having RPC & Space quota on a table/Namespace doesn't allow space quota to be 
> removed using 'NONE'
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-21225
>                 URL: https://issues.apache.org/jira/browse/HBASE-21225
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Sakthi
>            Assignee: Sakthi
>            Priority: Major
>         Attachments: hbase-21225.master.001.patch
>
>
> A part of HBASE-20705 is still unresolved
> {noformat}
> hbase(main):005:0> create 't2','cf'
> Created table t2
> Took 0.7619 seconds
> => Hbase::Table - t2
> hbase(main):006:0> set_quota TYPE => THROTTLE, TABLE => 't2', LIMIT => 
> '10M/sec'
> Took 0.0514 seconds
> hbase(main):007:0> set_quota TYPE => SPACE, TABLE => 't2', LIMIT => '1G', 
> POLICY => NO_WRITES
> Took 0.0162 seconds
> hbase(main):008:0> list_quotas
> OWNER                      QUOTAS
>  TABLE => t2               TYPE => THROTTLE, THROTTLE_TYPE => REQUEST_SIZE, 
> LIMIT => 10M/sec, SCOPE =>
>                            MACHINE
>  TABLE => t2               TYPE => SPACE, TABLE => t2, LIMIT => 1073741824, 
> VIOLATION_POLICY => NO_WRIT
>                            ES
> 2 row(s)
> Took 0.0716 seconds
> hbase(main):009:0> set_quota TYPE => SPACE, TABLE => 't2', LIMIT => NONE
> Took 0.0082 seconds
> hbase(main):010:0> list_quotas
> OWNER                           QUOTAS
>  TABLE => t2                    TYPE => THROTTLE, THROTTLE_TYPE => 
> REQUEST_SIZE, LIMIT => 10M/sec, SCOPE => MACHINE
>  TABLE => t2                    TYPE => SPACE, TABLE => t2, REMOVE => true
> 2 row(s)
> Took 0.0254 seconds
> hbase(main):011:0> set_quota TYPE => SPACE, TABLE => 't2', LIMIT => '1G', 
> POLICY => NO_WRITES
> Took 0.0082 seconds
> hbase(main):012:0> list_quotas
> OWNER                           QUOTAS
>  TABLE => t2                    TYPE => THROTTLE, THROTTLE_TYPE => 
> REQUEST_SIZE, LIMIT => 10M/sec, SCOPE => MACHINE
>  TABLE => t2                    TYPE => SPACE, TABLE => t2, REMOVE => true
> 2 row(s)
> Took 0.0411 seconds
> {noformat}



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

Reply via email to