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

Sakthi commented on HBASE-20885:
--------------------------------

In GlobalQuotaSettingsImpl#merge :
{code:java}
    validateQuotaTarget(other);

    // Propagate the Throttle
    QuotaProtos.Throttle.Builder throttleBuilder = (throttleProto == null
        ? null : throttleProto.toBuilder());
    if (other instanceof ThrottleSettings) {
      if (throttleBuilder == null) {
        throttleBuilder = QuotaProtos.Throttle.newBuilder();
      }
      ThrottleSettings otherThrottle = (ThrottleSettings) other;
      if (otherThrottle.proto.hasType()) {
        QuotaProtos.ThrottleRequest otherProto = otherThrottle.proto;
        if (otherProto.hasTimedQuota()) {
          if (otherProto.hasTimedQuota()) {
            validateTimedQuota(otherProto.getTimedQuota());
          }

          switch (otherProto.getType()) {
...
       } else {
          throttleBuilder = clearThrottleBuilder(throttleBuilder);
        }
      } else {
        throttleBuilder = clearThrottleBuilder(throttleBuilder);
      }
    }
{code}

following solves the issue:
{code:java}
-   throttleBuilder = clearThrottleBuilder(throttleBuilder);
+   throttleBuilder = null;
{code}

> Remove entry for RPC quota from hbase:quota when RPC quota is removed.
> ----------------------------------------------------------------------
>
>                 Key: HBASE-20885
>                 URL: https://issues.apache.org/jira/browse/HBASE-20885
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Sakthi
>            Assignee: Sakthi
>            Priority: Minor
>
> When a RPC quota is removed (using LIMIT => 'NONE'), the entry from 
> hbase:quota table is not completely removed. For e.g. see below:
> {noformat}
> hbase(main):005:0> create 't2','cf1'
> Created table t2
> Took 0.8000 seconds
> => Hbase::Table - t2
> hbase(main):006:0> set_quota TYPE => THROTTLE, TABLE => 't2', LIMIT => 
> '10M/sec'
> Took 0.1024 seconds
> hbase(main):007:0> list_quotas
> OWNER                          QUOTAS
>  TABLE => t2                   TYPE => THROTTLE, THROTTLE_TYPE => 
> REQUEST_SIZE, LIMIT => 10M/sec, SCOPE => MACHINE
> 1 row(s)
> Took 0.0622 seconds
> hbase(main):008:0> scan 'hbase:quota'
> ROW                            COLUMN+CELL
>  t.t2                          column=q:s, timestamp=1531513014463, 
> value=PBUF\x12\x0B\x12\x09\x08\x04\x10\x80\x80\x80
>                                \x05 \x02
> 1 row(s)
> Took 0.0453 seconds
> hbase(main):009:0> set_quota TYPE => THROTTLE, TABLE => 't2', LIMIT => 'NONE'
> Took 0.0097 seconds
> hbase(main):010:0> list_quotas
> OWNER                          QUOTAS
> 0 row(s)
> Took 0.0338 seconds
> hbase(main):011:0> scan 'hbase:quota'
> ROW                            COLUMN+CELL
>  t.t2                          column=q:s, timestamp=1531513039505, 
> value=PBUF\x12\x00
> 1 row(s)
> Took 0.0066 seconds
> {noformat}



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

Reply via email to