[ 
https://issues.apache.org/jira/browse/HBASE-21225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sakthi updated HBASE-21225:
---------------------------
    Description: 
A part of HBASE-20705 is still unresolved. In that Jira it was assumed that 
problem is: when table having both rpc & space quotas is dropped (with 
hbase.quota.remove.on.table.delete set as true), the rpc quota is not set to be 
dropped along with table-drops, and space quota was not being able to be 
removed completely because of the "EMPTY" row that rpc quota left even after 
removing. 

The proposed solution for that was to make sure that rpc quota didn't leave 
empty rows after removal of quota. And setting automatic removal of rpc quota 
with table drops. That made sure that space quotas can be recreated/removed.

But all this was under the assumption that hbase.quota.remove.on.table.delete 
is set as true. When it is set as false, the same issue can reproduced. Also 
the below shown steps can used to reproduce the issue without table-drops.
{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}

  was:
A part of HBASE-20705 is still unresolved. In that Jira it was assumed that 
problem is: when table having both rpc & space quotas is dropped (with 
hbase.delete.on.table.remove set as true), the quotas are still present in the 
quotas table. 
{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}


> 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. In that Jira it was assumed that 
> problem is: when table having both rpc & space quotas is dropped (with 
> hbase.quota.remove.on.table.delete set as true), the rpc quota is not set to 
> be dropped along with table-drops, and space quota was not being able to be 
> removed completely because of the "EMPTY" row that rpc quota left even after 
> removing. 
> The proposed solution for that was to make sure that rpc quota didn't leave 
> empty rows after removal of quota. And setting automatic removal of rpc quota 
> with table drops. That made sure that space quotas can be recreated/removed.
> But all this was under the assumption that hbase.quota.remove.on.table.delete 
> is set as true. When it is set as false, the same issue can reproduced. Also 
> the below shown steps can used to reproduce the issue without table-drops.
> {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