This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new b61ca3f88cd Published site at b1fd92d3c7ea56b2f49eb9d419e1311a34c2f612.
b61ca3f88cd is described below
commit b61ca3f88cd0daca05103bf24650930d78c39bf3
Author: jenkins <[email protected]>
AuthorDate: Thu Aug 17 14:44:24 2023 +0000
Published site at b1fd92d3c7ea56b2f49eb9d419e1311a34c2f612.
---
acid-semantics.html | 2 +-
apache_hbase_reference_guide.pdf | 4 +-
book.html | 2 +-
bulk-loads.html | 2 +-
checkstyle-aggregate.html | 2 +-
coc.html | 2 +-
dependencies.html | 2 +-
dependency-convergence.html | 2 +-
dependency-info.html | 2 +-
dependency-management.html | 2 +-
downloads.html | 2 +-
export_control.html | 2 +-
index.html | 2 +-
issue-management.html | 2 +-
licenses.html | 2 +-
mailing-lists.html | 2 +-
metrics.html | 2 +-
old_news.html | 2 +-
plugin-management.html | 2 +-
plugins.html | 2 +-
poweredbyhbase.html | 2 +-
project-info.html | 2 +-
project-reports.html | 2 +-
pseudo-distributed.html | 2 +-
replication.html | 2 +-
resources.html | 2 +-
scm.html | 2 +-
sponsors.html | 2 +-
summary.html | 2 +-
supportingprojects.html | 2 +-
team.html | 2 +-
.../apache/hadoop/hbase/backup/package-tree.html | 2 +-
.../apache/hadoop/hbase/io/hfile/package-tree.html | 2 +-
.../org/apache/hadoop/hbase/package-tree.html | 14 +-
.../hadoop/hbase/procedure2/package-tree.html | 2 +-
.../quotas/TestClusterScopeQuotaThrottle.html | 42 +--
.../hadoop/hbase/regionserver/package-tree.html | 8 +-
.../org/apache/hadoop/hbase/test/package-tree.html | 2 +-
.../hbase/util/bulkdatagenerator/package-tree.html | 2 +-
.../quotas/TestClusterScopeQuotaThrottle.html | 407 +++++++++++----------
40 files changed, 273 insertions(+), 272 deletions(-)
diff --git a/acid-semantics.html b/acid-semantics.html
index 3fac1eaa7b9..ab1471d3fe6 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -464,7 +464,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 3079a0cb291..c65e6dd5b91 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
/Author (Apache HBase Team)
/Creator (Asciidoctor PDF 2.0.6, based on Prawn 2.4.0)
/Producer (Apache HBase Team)
-/ModDate (D:20230815143053+00'00')
-/CreationDate (D:20230815144153+00'00')
+/ModDate (D:20230817143050+00'00')
+/CreationDate (D:20230817144159+00'00')
>>
endobj
2 0 obj
diff --git a/book.html b/book.html
index 67cb8b33133..30c40bbf0e6 100644
--- a/book.html
+++ b/book.html
@@ -48718,7 +48718,7 @@
org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
<div id="footer">
<div id="footer-text">
Version 4.0.0-alpha-1-SNAPSHOT<br>
-Last updated 2023-08-15 14:30:53 UTC
+Last updated 2023-08-17 14:30:50 UTC
</div>
</div>
<script type="text/x-mathjax-config">
diff --git a/bulk-loads.html b/bulk-loads.html
index c319034e5a2..4569c30c03a 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -180,7 +180,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index fa466db2779..8aaeb601c4e 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -18562,7 +18562,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/coc.html b/coc.html
index 6893e78e957..5636ddedf84 100644
--- a/coc.html
+++ b/coc.html
@@ -248,7 +248,7 @@ email to <a class="externalLink"
href="mailto:[email protected]">the priv
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/dependencies.html b/dependencies.html
index 658e9eb7292..f3ad5be3c18 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -313,7 +313,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 70743c74898..dc2e876614f 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -897,7 +897,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/dependency-info.html b/dependency-info.html
index 8acc0e222ba..ded790c4feb 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -195,7 +195,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/dependency-management.html b/dependency-management.html
index 021f4246111..6878743e5cd 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -1198,7 +1198,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/downloads.html b/downloads.html
index 15cc6e3e494..aef819228c4 100644
--- a/downloads.html
+++ b/downloads.html
@@ -415,7 +415,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/export_control.html b/export_control.html
index f1884df3243..07a2cc39439 100644
--- a/export_control.html
+++ b/export_control.html
@@ -205,7 +205,7 @@ for more details.</p>
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/index.html b/index.html
index 6d802144e1f..5cdc55743c8 100644
--- a/index.html
+++ b/index.html
@@ -278,7 +278,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/issue-management.html b/issue-management.html
index ca1d875e624..aee66cf4a06 100644
--- a/issue-management.html
+++ b/issue-management.html
@@ -176,7 +176,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/licenses.html b/licenses.html
index a4439fbc2d7..a07ca3cd812 100644
--- a/licenses.html
+++ b/licenses.html
@@ -378,7 +378,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/mailing-lists.html b/mailing-lists.html
index 44a21feab44..0a74cbac2de 100644
--- a/mailing-lists.html
+++ b/mailing-lists.html
@@ -223,7 +223,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/metrics.html b/metrics.html
index bdbc6636c07..c212b2a3447 100644
--- a/metrics.html
+++ b/metrics.html
@@ -327,7 +327,7 @@ export HBASE_REGIONSERVER_OPTS="$HBASE_JMX_OPTS
-Dcom.sun.management.jmxrem
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/old_news.html b/old_news.html
index 654a6b3dcb3..12bdd482106 100644
--- a/old_news.html
+++ b/old_news.html
@@ -324,7 +324,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/plugin-management.html b/plugin-management.html
index 2406a00d792..35e1bdee0be 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -329,7 +329,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/plugins.html b/plugins.html
index a378a34fc1c..9a34426ba8b 100644
--- a/plugins.html
+++ b/plugins.html
@@ -263,7 +263,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index af96f1c8b95..725223a6149 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -658,7 +658,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/project-info.html b/project-info.html
index a10b45ea725..a98ff72300e 100644
--- a/project-info.html
+++ b/project-info.html
@@ -220,7 +220,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/project-reports.html b/project-reports.html
index 8963e0cdfd2..523db9c8d67 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -193,7 +193,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index ab016f71a2e..04ecc78ed3e 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -182,7 +182,7 @@ Running Apache HBase (TM) in pseudo-distributed mode
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/replication.html b/replication.html
index 7738b5f45d7..30ce0b85dda 100644
--- a/replication.html
+++ b/replication.html
@@ -177,7 +177,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/resources.html b/resources.html
index 029bc48937d..5b55ec2e0f2 100644
--- a/resources.html
+++ b/resources.html
@@ -200,7 +200,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/scm.html b/scm.html
index 809b6c94bef..01e15c192b7 100644
--- a/scm.html
+++ b/scm.html
@@ -184,7 +184,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/sponsors.html b/sponsors.html
index 0942e94f79b..710984ed34c 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -206,7 +206,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/summary.html b/summary.html
index 4ce9bd85afc..b1bad41da57 100644
--- a/summary.html
+++ b/summary.html
@@ -217,7 +217,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/supportingprojects.html b/supportingprojects.html
index 670a39557fb..b3d679e2b03 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -396,7 +396,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/team.html b/team.html
index a4aea4c1461..9fc089bce9e 100644
--- a/team.html
+++ b/team.html
@@ -797,7 +797,7 @@
<div class="row">
<p>Copyright ©2007–2023
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2023-08-17</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a
href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img
class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png"
/></a>
diff --git a/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
b/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index 413130f4748..108754cc057 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -150,8 +150,8 @@
<ul>
<li type="circle">java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true"
title="class or interface in java.lang"><span
class="typeNameLink">Enum</span></a><E> (implements java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true"
title="class or interface in java.lang">Comparable</a><T>, java.io.<a
href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true
[...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.backup.<a
href="../../../../../org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.Failure.html"
title="enum in org.apache.hadoop.hbase.backup"><span
class="typeNameLink">TestBackupDeleteWithFailures.Failure</span></a></li>
<li type="circle">org.apache.hadoop.hbase.backup.<a
href="../../../../../org/apache/hadoop/hbase/backup/TestIncrementalBackupMergeWithFailures.FailurePhase.html"
title="enum in org.apache.hadoop.hbase.backup"><span
class="typeNameLink">TestIncrementalBackupMergeWithFailures.FailurePhase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a
href="../../../../../org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.Failure.html"
title="enum in org.apache.hadoop.hbase.backup"><span
class="typeNameLink">TestBackupDeleteWithFailures.Failure</span></a></li>
</ul>
</li>
</ul>
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index dd196b6b5bf..7a394ea8eb0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -174,8 +174,8 @@
<ul>
<li type="circle">java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true"
title="class or interface in java.lang"><span
class="typeNameLink">Enum</span></a><E> (implements java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true"
title="class or interface in java.lang">Comparable</a><T>, java.io.<a
href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true
[...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a
href="../../../../../../org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.CacheOnWriteType.html"
title="enum in org.apache.hadoop.hbase.io.hfile"><span
class="typeNameLink">TestCacheOnWrite.CacheOnWriteType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a
href="../../../../../../org/apache/hadoop/hbase/io/hfile/TagUsage.html"
title="enum in org.apache.hadoop.hbase.io.hfile"><span
class="typeNameLink">TagUsage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a
href="../../../../../../org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.CacheOnWriteType.html"
title="enum in org.apache.hadoop.hbase.io.hfile"><span
class="typeNameLink">TestCacheOnWrite.CacheOnWriteType</span></a></li>
</ul>
</li>
</ul>
diff --git a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
index 17d760ac474..1ea19ca234b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -690,20 +690,20 @@
<ul>
<li type="circle">java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true"
title="class or interface in java.lang"><span
class="typeNameLink">Enum</span></a><E> (implements java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true"
title="class or interface in java.lang">Comparable</a><T>, java.io.<a
href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true
[...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/TestCustomPriorityRpcControllerFactory.State.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">TestCustomPriorityRpcControllerFactory.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">ClusterManager.ServiceType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.CommandProvider.Operation.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">HBaseClusterManager.CommandProvider.Operation</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.ACTION.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">IntegrationTestDDLMasterFailover.ACTION</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">ClusterManager.ServiceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleState.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">RESTApiClusterManager.RoleState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/ZNodeClusterManager.CmdType.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">ZNodeClusterManager.CmdType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/ResourceChecker.Phase.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">ResourceChecker.Phase</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.Service.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">RESTApiClusterManager.Service</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.HealthSummary.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">RESTApiClusterManager.HealthSummary</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.Signal.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">HBaseClusterManager.Signal</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/ZNodeClusterManager.CmdType.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">ZNodeClusterManager.CmdType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.Service.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">RESTApiClusterManager.Service</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a
href="../../../../org/apache/hadoop/hbase/TestCustomPriorityRpcControllerFactory.State.html"
title="enum in org.apache.hadoop.hbase"><span
class="typeNameLink">TestCustomPriorityRpcControllerFactory.State</span></a></li>
</ul>
</li>
</ul>
diff --git
a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 3d809ba5304..4e1571655ec 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -242,9 +242,9 @@
<li type="circle">java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true"
title="class or interface in java.lang"><span
class="typeNameLink">Enum</span></a><E> (implements java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true"
title="class or interface in java.lang">Comparable</a><T>, java.io.<a
href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true
[...]
<ul>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a
href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.State.html"
title="enum in org.apache.hadoop.hbase.procedure2"><span
class="typeNameLink">TestYieldProcedures.TestStateMachineProcedure.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a
href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureBypass.StuckStateMachineState.html"
title="enum in org.apache.hadoop.hbase.procedure2"><span
class="typeNameLink">TestProcedureBypass.StuckStateMachineState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a
href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.State.html"
title="enum in org.apache.hadoop.hbase.procedure2"><span
class="typeNameLink">TestProcedureRecovery.TestStateMachineProcedure.State</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a
href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html"
title="enum in org.apache.hadoop.hbase.procedure2"><span
class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a
href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureBypass.StuckStateMachineState.html"
title="enum in org.apache.hadoop.hbase.procedure2"><span
class="typeNameLink">TestProcedureBypass.StuckStateMachineState</span></a></li>
</ul>
</li>
</ul>
diff --git
a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html
b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html
index bf0f9edfc7b..999bdcfdebd 100644
---
a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html
+++
b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<hr>
<br>
-<pre>public class <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.50">TestClusterScopeQuotaThrottle</a>
+<pre>public class <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.49">TestClusterScopeQuotaThrottle</a>
extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true"
title="class or interface in java.lang">Object</a></pre>
</li>
</ul>
@@ -265,7 +265,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CLASS_RULE</h4>
-<pre>public static final <a
href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html"
title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.53">CLASS_RULE</a></pre>
+<pre>public static final <a
href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html"
title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.52">CLASS_RULE</a></pre>
</li>
</ul>
<a name="REFRESH_TIME">
@@ -274,7 +274,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>REFRESH_TIME</h4>
-<pre>private static final int <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.56">REFRESH_TIME</a></pre>
+<pre>private static final int <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.55">REFRESH_TIME</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a
href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.TestClusterScopeQuotaThrottle.REFRESH_TIME">Constant
Field Values</a></dd>
@@ -287,7 +287,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>TEST_UTIL</h4>
-<pre>private static final <a
href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtil.html"
title="class in org.apache.hadoop.hbase">HBaseTestingUtil</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.57">TEST_UTIL</a></pre>
+<pre>private static final <a
href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtil.html"
title="class in org.apache.hadoop.hbase">HBaseTestingUtil</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.56">TEST_UTIL</a></pre>
</li>
</ul>
<a name="TABLE_NAMES">
@@ -296,7 +296,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>TABLE_NAMES</h4>
-<pre>private static final org.apache.hadoop.hbase.TableName[] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.59">TABLE_NAMES</a></pre>
+<pre>private static final org.apache.hadoop.hbase.TableName[] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.58">TABLE_NAMES</a></pre>
</li>
</ul>
<a name="FAMILY">
@@ -305,7 +305,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>FAMILY</h4>
-<pre>private static final byte[] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.62">FAMILY</a></pre>
+<pre>private static final byte[] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.61">FAMILY</a></pre>
</li>
</ul>
<a name="QUALIFIER">
@@ -314,7 +314,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>QUALIFIER</h4>
-<pre>private static final byte[] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.63">QUALIFIER</a></pre>
+<pre>private static final byte[] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.62">QUALIFIER</a></pre>
</li>
</ul>
<a name="SPLITS">
@@ -323,7 +323,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>SPLITS</h4>
-<pre>private static final byte[][] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.64">SPLITS</a></pre>
+<pre>private static final byte[][] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.63">SPLITS</a></pre>
</li>
</ul>
<a name="tables">
@@ -332,7 +332,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>tables</h4>
-<pre>private static org.apache.hadoop.hbase.client.Table[] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.65">tables</a></pre>
+<pre>private static org.apache.hadoop.hbase.client.Table[] <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.64">tables</a></pre>
</li>
</ul>
<a name="NAMESPACE">
@@ -341,7 +341,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>NAMESPACE</h4>
-<pre>private static final <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.67">NAMESPACE</a></pre>
+<pre>private static final <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.66">NAMESPACE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a
href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.TestClusterScopeQuotaThrottle.NAMESPACE">Constant
Field Values</a></dd>
@@ -354,7 +354,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>TABLE_NAME</h4>
-<pre>private static final org.apache.hadoop.hbase.TableName <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.68">TABLE_NAME</a></pre>
+<pre>private static final org.apache.hadoop.hbase.TableName <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.67">TABLE_NAME</a></pre>
</li>
</ul>
<a name="table">
@@ -363,7 +363,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>table</h4>
-<pre>private static org.apache.hadoop.hbase.client.Table <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.69">table</a></pre>
+<pre>private static org.apache.hadoop.hbase.client.Table <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.68">table</a></pre>
</li>
</ul>
</li>
@@ -380,7 +380,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>TestClusterScopeQuotaThrottle</h4>
-<pre>public <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.50">TestClusterScopeQuotaThrottle</a>()</pre>
+<pre>public <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.49">TestClusterScopeQuotaThrottle</a>()</pre>
</li>
</ul>
</li>
@@ -397,7 +397,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>setUpBeforeClass</h4>
-<pre>public static void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.72">setUpBeforeClass</a>()
+<pre>public static void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.71">setUpBeforeClass</a>()
throws <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"
title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -411,7 +411,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>tearDownAfterClass</h4>
-<pre>public static void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.95">tearDownAfterClass</a>()
+<pre>public static void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.97">tearDownAfterClass</a>()
throws <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"
title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -425,7 +425,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>tearDown</h4>
-<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.109">tearDown</a>()
+<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.111">tearDown</a>()
throws <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"
title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -439,7 +439,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>testNamespaceClusterScopeQuota</h4>
-<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.114">testNamespaceClusterScopeQuota</a>()
+<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.116">testNamespaceClusterScopeQuota</a>()
throws <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"
title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -453,7 +453,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>testTableClusterScopeQuota</h4>
-<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.134">testTableClusterScopeQuota</a>()
+<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.136">testTableClusterScopeQuota</a>()
throws <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"
title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -467,7 +467,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>testUserClusterScopeQuota</h4>
-<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.164">testUserClusterScopeQuota</a>()
+<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.166">testUserClusterScopeQuota</a>()
throws <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"
title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -481,7 +481,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>testUserNamespaceClusterScopeQuota</h4>
-<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.185">testUserNamespaceClusterScopeQuota</a>()
+<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.186">testUserNamespaceClusterScopeQuota</a>()
throws <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"
title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -495,7 +495,7 @@ extends <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>testUserTableClusterScopeQuota</h4>
-<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.207">testUserTableClusterScopeQuota</a>()
+<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html#line.208">testUserTableClusterScopeQuota</a>()
throws <a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"
title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
diff --git
a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index a33111e2fb5..1dcf1b11729 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -771,12 +771,12 @@
<ul>
<li type="circle">java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true"
title="class or interface in java.lang"><span
class="typeNameLink">Enum</span></a><E> (implements java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true"
title="class or interface in java.lang">Comparable</a><T>, java.io.<a
href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true
[...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/TestCompactionState.StateSource.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">TestCompactionState.StateSource</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.ActionType.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">TestMultiLogThreshold.ActionType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.Metric.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.ActionType.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">TestMultiLogThreshold.ActionType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a
href="../../../../../org/apache/hadoop/hbase/regionserver/TestCompactionState.StateSource.html"
title="enum in org.apache.hadoop.hbase.regionserver"><span
class="typeNameLink">TestCompactionState.StateSource</span></a></li>
</ul>
</li>
</ul>
diff --git a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
index b196450e5e3..cfb3b674597 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -260,11 +260,11 @@
<ul>
<li type="circle">java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true"
title="class or interface in java.lang"><span
class="typeNameLink">Enum</span></a><E> (implements java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true"
title="class or interface in java.lang">Comparable</a><T>, java.io.<a
href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true
[...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.test.<a
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.GeneratorCounts.html"
title="enum in org.apache.hadoop.hbase.test"><span
class="typeNameLink">IntegrationTestBigLinkedList.Generator.GeneratorCounts</span></a></li>
<li type="circle">org.apache.hadoop.hbase.test.<a
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.VerifyCounts.html"
title="enum in org.apache.hadoop.hbase.test"><span
class="typeNameLink">IntegrationTestBigLinkedList.Verify.VerifyCounts</span></a></li>
<li type="circle">org.apache.hadoop.hbase.test.<a
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html"
title="enum in org.apache.hadoop.hbase.test"><span
class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
<li type="circle">org.apache.hadoop.hbase.test.<a
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadCommonCrawl.Counts.html"
title="enum in org.apache.hadoop.hbase.test"><span
class="typeNameLink">IntegrationTestLoadCommonCrawl.Counts</span></a></li>
<li type="circle">org.apache.hadoop.hbase.test.<a
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.Counters.html"
title="enum in org.apache.hadoop.hbase.test"><span
class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.GeneratorCounts.html"
title="enum in org.apache.hadoop.hbase.test"><span
class="typeNameLink">IntegrationTestBigLinkedList.Generator.GeneratorCounts</span></a></li>
</ul>
</li>
</ul>
diff --git
a/testdevapidocs/org/apache/hadoop/hbase/util/bulkdatagenerator/package-tree.html
b/testdevapidocs/org/apache/hadoop/hbase/util/bulkdatagenerator/package-tree.html
index 09a64f2742b..7a00a446ef4 100644
---
a/testdevapidocs/org/apache/hadoop/hbase/util/bulkdatagenerator/package-tree.html
+++
b/testdevapidocs/org/apache/hadoop/hbase/util/bulkdatagenerator/package-tree.html
@@ -112,8 +112,8 @@
<ul>
<li type="circle">java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true"
title="class or interface in java.lang"><span
class="typeNameLink">Enum</span></a><E> (implements java.lang.<a
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true"
title="class or interface in java.lang">Comparable</a><T>, java.io.<a
href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true
[...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.util.bulkdatagenerator.<a
href="../../../../../../org/apache/hadoop/hbase/util/bulkdatagenerator/Utility.TableColumnNames.html"
title="enum in org.apache.hadoop.hbase.util.bulkdatagenerator"><span
class="typeNameLink">Utility.TableColumnNames</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.bulkdatagenerator.<a
href="../../../../../../org/apache/hadoop/hbase/util/bulkdatagenerator/BulkDataGeneratorMapper.Counters.html"
title="enum in org.apache.hadoop.hbase.util.bulkdatagenerator"><span
class="typeNameLink">BulkDataGeneratorMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.bulkdatagenerator.<a
href="../../../../../../org/apache/hadoop/hbase/util/bulkdatagenerator/Utility.TableColumnNames.html"
title="enum in org.apache.hadoop.hbase.util.bulkdatagenerator"><span
class="typeNameLink">Utility.TableColumnNames</span></a></li>
</ul>
</li>
</ul>
diff --git
a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html
b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html
index 7f9e049938f..aa9207978a4 100644
---
a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html
+++
b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestClusterScopeQuotaThrottle.html
@@ -36,212 +36,213 @@
<span class="sourceLineNo">028</span>import java.util.concurrent.TimeUnit;<a
name="line.28"></a>
<span class="sourceLineNo">029</span>import
org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.29"></a>
<span class="sourceLineNo">030</span>import
org.apache.hadoop.hbase.HBaseTestingUtil;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import
org.apache.hadoop.hbase.HConstants;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import
org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import
org.apache.hadoop.hbase.TableName;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import
org.apache.hadoop.hbase.client.Admin;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import
org.apache.hadoop.hbase.client.Table;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import
org.apache.hadoop.hbase.security.User;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import
org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import
org.apache.hadoop.hbase.testclassification.RegionServerTests;<a
name="line.38"></a>
-<span class="sourceLineNo">039</span>import
org.apache.hadoop.hbase.util.Bytes;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import
org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import
org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;<a
name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.junit.After;<a
name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.junit.AfterClass;<a
name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.junit.BeforeClass;<a
name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.junit.ClassRule;<a
name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.junit.Test;<a
name="line.46"></a>
-<span class="sourceLineNo">047</span>import
org.junit.experimental.categories.Category;<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>@Category({ RegionServerTests.class,
LargeTests.class })<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class
TestClusterScopeQuotaThrottle {<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span> @ClassRule<a name="line.52"></a>
-<span class="sourceLineNo">053</span> public static final HBaseClassTestRule
CLASS_RULE =<a name="line.53"></a>
-<span class="sourceLineNo">054</span>
HBaseClassTestRule.forClass(TestClusterScopeQuotaThrottle.class);<a
name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span> private final static int REFRESH_TIME =
30 * 60000;<a name="line.56"></a>
-<span class="sourceLineNo">057</span> private final static HBaseTestingUtil
TEST_UTIL = new HBaseTestingUtil();<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span> private final static TableName[]
TABLE_NAMES =<a name="line.59"></a>
-<span class="sourceLineNo">060</span> new TableName[] {
TableName.valueOf("TestQuotaAdmin0"), TableName.valueOf("TestQuotaAdmin1"),<a
name="line.60"></a>
-<span class="sourceLineNo">061</span>
TableName.valueOf("TestQuotaAdmin2") };<a name="line.61"></a>
-<span class="sourceLineNo">062</span> private final static byte[] FAMILY =
Bytes.toBytes("cf");<a name="line.62"></a>
-<span class="sourceLineNo">063</span> private final static byte[] QUALIFIER =
Bytes.toBytes("q");<a name="line.63"></a>
-<span class="sourceLineNo">064</span> private final static byte[][] SPLITS =
new byte[][] { Bytes.toBytes("1") };<a name="line.64"></a>
-<span class="sourceLineNo">065</span> private static Table[] tables;<a
name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span> private final static String NAMESPACE =
"TestNs";<a name="line.67"></a>
-<span class="sourceLineNo">068</span> private final static TableName
TABLE_NAME = TableName.valueOf(NAMESPACE, "TestTable");<a name="line.68"></a>
-<span class="sourceLineNo">069</span> private static Table table;<a
name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span> @BeforeClass<a name="line.71"></a>
-<span class="sourceLineNo">072</span> public static void setUpBeforeClass()
throws Exception {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>
TEST_UTIL.getConfiguration().setBoolean(QuotaUtil.QUOTA_CONF_KEY, true);<a
name="line.73"></a>
-<span class="sourceLineNo">074</span>
TEST_UTIL.getConfiguration().setInt(QuotaCache.REFRESH_CONF_KEY,
REFRESH_TIME);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>
TEST_UTIL.getConfiguration().setInt("hbase.hstore.compactionThreshold", 10);<a
name="line.75"></a>
-<span class="sourceLineNo">076</span>
TEST_UTIL.getConfiguration().setInt("hbase.regionserver.msginterval", 100);<a
name="line.76"></a>
-<span class="sourceLineNo">077</span>
TEST_UTIL.getConfiguration().setInt("hbase.client.pause", 250);<a
name="line.77"></a>
-<span class="sourceLineNo">078</span>
TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,
6);<a name="line.78"></a>
-<span class="sourceLineNo">079</span>
TEST_UTIL.getConfiguration().setBoolean("hbase.master.enabletable.roundrobin",
true);<a name="line.79"></a>
-<span class="sourceLineNo">080</span> TEST_UTIL.startMiniCluster(2);<a
name="line.80"></a>
-<span class="sourceLineNo">081</span>
TEST_UTIL.waitTableAvailable(QuotaTableUtil.QUOTA_TABLE_NAME);<a
name="line.81"></a>
-<span class="sourceLineNo">082</span> QuotaCache.TEST_FORCE_REFRESH =
true;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span> tables = new
Table[TABLE_NAMES.length];<a name="line.84"></a>
-<span class="sourceLineNo">085</span> for (int i = 0; i <
TABLE_NAMES.length; ++i) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span> tables[i] =
TEST_UTIL.createTable(TABLE_NAMES[i], FAMILY);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>
TEST_UTIL.waitTableAvailable(TABLE_NAMES[i]);<a name="line.87"></a>
+<span class="sourceLineNo">031</span>import
org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import
org.apache.hadoop.hbase.TableName;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import
org.apache.hadoop.hbase.client.Admin;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import
org.apache.hadoop.hbase.client.Table;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import
org.apache.hadoop.hbase.security.User;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import
org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import
org.apache.hadoop.hbase.testclassification.RegionServerTests;<a
name="line.37"></a>
+<span class="sourceLineNo">038</span>import
org.apache.hadoop.hbase.util.Bytes;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import
org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import
org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;<a
name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.junit.After;<a
name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.junit.AfterClass;<a
name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.junit.BeforeClass;<a
name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.junit.ClassRule;<a
name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.junit.Test;<a
name="line.45"></a>
+<span class="sourceLineNo">046</span>import
org.junit.experimental.categories.Category;<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>@Category({ RegionServerTests.class,
LargeTests.class })<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public class
TestClusterScopeQuotaThrottle {<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span> @ClassRule<a name="line.51"></a>
+<span class="sourceLineNo">052</span> public static final HBaseClassTestRule
CLASS_RULE =<a name="line.52"></a>
+<span class="sourceLineNo">053</span>
HBaseClassTestRule.forClass(TestClusterScopeQuotaThrottle.class);<a
name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span> private final static int REFRESH_TIME =
30 * 60000;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> private final static HBaseTestingUtil
TEST_UTIL = new HBaseTestingUtil();<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span> private final static TableName[]
TABLE_NAMES =<a name="line.58"></a>
+<span class="sourceLineNo">059</span> new TableName[] {
TableName.valueOf("TestQuotaAdmin0"), TableName.valueOf("TestQuotaAdmin1"),<a
name="line.59"></a>
+<span class="sourceLineNo">060</span>
TableName.valueOf("TestQuotaAdmin2") };<a name="line.60"></a>
+<span class="sourceLineNo">061</span> private final static byte[] FAMILY =
Bytes.toBytes("cf");<a name="line.61"></a>
+<span class="sourceLineNo">062</span> private final static byte[] QUALIFIER =
Bytes.toBytes("q");<a name="line.62"></a>
+<span class="sourceLineNo">063</span> private final static byte[][] SPLITS =
new byte[][] { Bytes.toBytes("1") };<a name="line.63"></a>
+<span class="sourceLineNo">064</span> private static Table[] tables;<a
name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span> private final static String NAMESPACE =
"TestNs";<a name="line.66"></a>
+<span class="sourceLineNo">067</span> private final static TableName
TABLE_NAME = TableName.valueOf(NAMESPACE, "TestTable");<a name="line.67"></a>
+<span class="sourceLineNo">068</span> private static Table table;<a
name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span> @BeforeClass<a name="line.70"></a>
+<span class="sourceLineNo">071</span> public static void setUpBeforeClass()
throws Exception {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>
TEST_UTIL.getConfiguration().setBoolean(QuotaUtil.QUOTA_CONF_KEY, true);<a
name="line.72"></a>
+<span class="sourceLineNo">073</span>
TEST_UTIL.getConfiguration().setInt(QuotaCache.REFRESH_CONF_KEY,
REFRESH_TIME);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>
TEST_UTIL.getConfiguration().setInt("hbase.hstore.compactionThreshold", 10);<a
name="line.74"></a>
+<span class="sourceLineNo">075</span>
TEST_UTIL.getConfiguration().setInt("hbase.regionserver.msginterval", 100);<a
name="line.75"></a>
+<span class="sourceLineNo">076</span>
TEST_UTIL.getConfiguration().setInt("hbase.client.pause", 250);<a
name="line.76"></a>
+<span class="sourceLineNo">077</span>
TEST_UTIL.getConfiguration().setBoolean("hbase.master.enabletable.roundrobin",
true);<a name="line.77"></a>
+<span class="sourceLineNo">078</span> TEST_UTIL.startMiniCluster(2);<a
name="line.78"></a>
+<span class="sourceLineNo">079</span>
TEST_UTIL.waitTableAvailable(QuotaTableUtil.QUOTA_TABLE_NAME);<a
name="line.79"></a>
+<span class="sourceLineNo">080</span> QuotaCache.TEST_FORCE_REFRESH =
true;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span> tables = new
Table[TABLE_NAMES.length];<a name="line.82"></a>
+<span class="sourceLineNo">083</span> for (int i = 0; i <
TABLE_NAMES.length; ++i) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>
TEST_UTIL.createTable(TABLE_NAMES[i], FAMILY);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>
TEST_UTIL.waitTableAvailable(TABLE_NAMES[i]);<a name="line.85"></a>
+<span class="sourceLineNo">086</span> tables[i] =
TEST_UTIL.getConnection().getTableBuilder(TABLE_NAMES[i], null)<a
name="line.86"></a>
+<span class="sourceLineNo">087</span>
.setOperationTimeout(10000).build();<a name="line.87"></a>
<span class="sourceLineNo">088</span> }<a name="line.88"></a>
<span class="sourceLineNo">089</span>
TEST_UTIL.getAdmin().createNamespace(NamespaceDescriptor.create(NAMESPACE).build());<a
name="line.89"></a>
-<span class="sourceLineNo">090</span> table =
TEST_UTIL.createTable(TABLE_NAME, FAMILY, SPLITS);<a name="line.90"></a>
+<span class="sourceLineNo">090</span> TEST_UTIL.createTable(TABLE_NAME,
FAMILY, SPLITS);<a name="line.90"></a>
<span class="sourceLineNo">091</span>
TEST_UTIL.waitTableAvailable(TABLE_NAME);<a name="line.91"></a>
-<span class="sourceLineNo">092</span> }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span> @AfterClass<a name="line.94"></a>
-<span class="sourceLineNo">095</span> public static void tearDownAfterClass()
throws Exception {<a name="line.95"></a>
-<span class="sourceLineNo">096</span> EnvironmentEdgeManager.reset();<a
name="line.96"></a>
-<span class="sourceLineNo">097</span> for (int i = 0; i < tables.length;
++i) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> if (tables[i] != null) {<a
name="line.98"></a>
-<span class="sourceLineNo">099</span> tables[i].close();<a
name="line.99"></a>
-<span class="sourceLineNo">100</span>
TEST_UTIL.deleteTable(TABLE_NAMES[i]);<a name="line.100"></a>
-<span class="sourceLineNo">101</span> }<a name="line.101"></a>
-<span class="sourceLineNo">102</span> }<a name="line.102"></a>
-<span class="sourceLineNo">103</span> TEST_UTIL.deleteTable(TABLE_NAME);<a
name="line.103"></a>
-<span class="sourceLineNo">104</span>
TEST_UTIL.getAdmin().deleteNamespace(NAMESPACE);<a name="line.104"></a>
-<span class="sourceLineNo">105</span> TEST_UTIL.shutdownMiniCluster();<a
name="line.105"></a>
-<span class="sourceLineNo">106</span> }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span> @After<a name="line.108"></a>
-<span class="sourceLineNo">109</span> public void tearDown() throws Exception
{<a name="line.109"></a>
-<span class="sourceLineNo">110</span>
ThrottleQuotaTestUtil.clearQuotaCache(TEST_UTIL);<a name="line.110"></a>
-<span class="sourceLineNo">111</span> }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span> @Test<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public void
testNamespaceClusterScopeQuota() throws Exception {<a name="line.114"></a>
-<span class="sourceLineNo">115</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.115"></a>
-<span class="sourceLineNo">116</span> final String NAMESPACE = "default";<a
name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span> // Add 10req/min limit for write
request in cluster scope<a name="line.118"></a>
-<span class="sourceLineNo">119</span>
admin.setQuota(QuotaSettingsFactory.throttleNamespace(NAMESPACE,
ThrottleType.WRITE_NUMBER, 10,<a name="line.119"></a>
-<span class="sourceLineNo">120</span> TimeUnit.MINUTES,
QuotaScope.CLUSTER));<a name="line.120"></a>
-<span class="sourceLineNo">121</span> // Add 6req/min limit for read
request in machine scope<a name="line.121"></a>
-<span class="sourceLineNo">122</span>
admin.setQuota(QuotaSettingsFactory.throttleNamespace(NAMESPACE,
ThrottleType.READ_NUMBER, 6,<a name="line.122"></a>
-<span class="sourceLineNo">123</span> TimeUnit.MINUTES,
QuotaScope.MACHINE));<a name="line.123"></a>
-<span class="sourceLineNo">124</span>
triggerNamespaceCacheRefresh(TEST_UTIL, false, TABLE_NAMES[0]);<a
name="line.124"></a>
-<span class="sourceLineNo">125</span> // should execute at max 5 write
requests and at max 3 read requests<a name="line.125"></a>
-<span class="sourceLineNo">126</span> assertEquals(5, doPuts(10, FAMILY,
QUALIFIER, tables[0]));<a name="line.126"></a>
-<span class="sourceLineNo">127</span> assertEquals(6, doGets(10,
tables[0]));<a name="line.127"></a>
-<span class="sourceLineNo">128</span> // Remove all the limits<a
name="line.128"></a>
-<span class="sourceLineNo">129</span>
admin.setQuota(QuotaSettingsFactory.unthrottleNamespace(NAMESPACE));<a
name="line.129"></a>
-<span class="sourceLineNo">130</span>
triggerNamespaceCacheRefresh(TEST_UTIL, true, TABLE_NAMES[0]);<a
name="line.130"></a>
-<span class="sourceLineNo">131</span> }<a name="line.131"></a>
-<span class="sourceLineNo">132</span><a name="line.132"></a>
-<span class="sourceLineNo">133</span> @Test<a name="line.133"></a>
-<span class="sourceLineNo">134</span> public void
testTableClusterScopeQuota() throws Exception {<a name="line.134"></a>
-<span class="sourceLineNo">135</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.135"></a>
-<span class="sourceLineNo">136</span>
admin.setQuota(QuotaSettingsFactory.throttleTable(TABLE_NAME,
ThrottleType.READ_NUMBER, 20,<a name="line.136"></a>
-<span class="sourceLineNo">137</span> TimeUnit.HOURS,
QuotaScope.CLUSTER));<a name="line.137"></a>
-<span class="sourceLineNo">138</span> triggerTableCacheRefresh(TEST_UTIL,
false, TABLE_NAME);<a name="line.138"></a>
-<span class="sourceLineNo">139</span> for (RegionServerThread rst :
TEST_UTIL.getMiniHBaseCluster().getRegionServerThreads()) {<a
name="line.139"></a>
-<span class="sourceLineNo">140</span> for (TableName tableName :
rst.getRegionServer().getOnlineTables()) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span> if
(tableName.getNameAsString().equals(TABLE_NAME.getNameAsString())) {<a
name="line.141"></a>
-<span class="sourceLineNo">142</span> int rsRegionNum =
rst.getRegionServer().getRegions(tableName).size();<a name="line.142"></a>
-<span class="sourceLineNo">143</span> if (rsRegionNum == 0) {<a
name="line.143"></a>
-<span class="sourceLineNo">144</span> // If rs has 0 region, the
machine limiter is 0 (20 * 0 / 2)<a name="line.144"></a>
-<span class="sourceLineNo">145</span> break;<a name="line.145"></a>
-<span class="sourceLineNo">146</span> } else if (rsRegionNum == 1)
{<a name="line.146"></a>
-<span class="sourceLineNo">147</span> // If rs has 1 region, the
machine limiter is 10 (20 * 1 / 2)<a name="line.147"></a>
-<span class="sourceLineNo">148</span> // Read rows from 1 region,
so can read 10 first time and 0 second time<a name="line.148"></a>
-<span class="sourceLineNo">149</span> long count = doGets(20,
table);<a name="line.149"></a>
-<span class="sourceLineNo">150</span> assertTrue(count == 0 ||
count == 10);<a name="line.150"></a>
-<span class="sourceLineNo">151</span> } else if (rsRegionNum == 2)
{<a name="line.151"></a>
-<span class="sourceLineNo">152</span> // If rs has 2 regions, the
machine limiter is 20 (20 * 2 / 2)<a name="line.152"></a>
-<span class="sourceLineNo">153</span> assertEquals(20, doGets(20,
table));<a name="line.153"></a>
-<span class="sourceLineNo">154</span> }<a name="line.154"></a>
-<span class="sourceLineNo">155</span> break;<a name="line.155"></a>
-<span class="sourceLineNo">156</span> }<a name="line.156"></a>
-<span class="sourceLineNo">157</span> }<a name="line.157"></a>
-<span class="sourceLineNo">158</span> }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>
admin.setQuota(QuotaSettingsFactory.unthrottleTable(TABLE_NAME));<a
name="line.159"></a>
-<span class="sourceLineNo">160</span> triggerTableCacheRefresh(TEST_UTIL,
true, TABLE_NAME);<a name="line.160"></a>
-<span class="sourceLineNo">161</span> }<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span> @Test<a name="line.163"></a>
-<span class="sourceLineNo">164</span> public void testUserClusterScopeQuota()
throws Exception {<a name="line.164"></a>
-<span class="sourceLineNo">165</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.165"></a>
-<span class="sourceLineNo">166</span> final String userName =
User.getCurrent().getShortName();<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span> // Add 6req/min limit for read
request in cluster scope<a name="line.168"></a>
-<span class="sourceLineNo">169</span>
admin.setQuota(QuotaSettingsFactory.throttleUser(userName,
ThrottleType.READ_NUMBER, 6,<a name="line.169"></a>
-<span class="sourceLineNo">170</span> TimeUnit.MINUTES,
QuotaScope.CLUSTER));<a name="line.170"></a>
-<span class="sourceLineNo">171</span> // Add 6req/min limit for write
request in machine scope<a name="line.171"></a>
-<span class="sourceLineNo">172</span> admin.setQuota(<a name="line.172"></a>
-<span class="sourceLineNo">173</span>
QuotaSettingsFactory.throttleUser(userName, ThrottleType.WRITE_NUMBER, 6,
TimeUnit.MINUTES));<a name="line.173"></a>
-<span class="sourceLineNo">174</span> triggerUserCacheRefresh(TEST_UTIL,
false, TABLE_NAMES);<a name="line.174"></a>
-<span class="sourceLineNo">175</span> // should execute at max 6 read
requests and at max 3 write write requests<a name="line.175"></a>
-<span class="sourceLineNo">176</span> assertEquals(6, doPuts(10, FAMILY,
QUALIFIER, tables[0]));<a name="line.176"></a>
-<span class="sourceLineNo">177</span> assertEquals(3, doGets(10,
tables[0]));<a name="line.177"></a>
-<span class="sourceLineNo">178</span> // Remove all the limits<a
name="line.178"></a>
-<span class="sourceLineNo">179</span>
admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName));<a
name="line.179"></a>
-<span class="sourceLineNo">180</span> triggerUserCacheRefresh(TEST_UTIL,
true, TABLE_NAMES);<a name="line.180"></a>
-<span class="sourceLineNo">181</span> }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span> @org.junit.Ignore<a name="line.183"></a>
-<span class="sourceLineNo">184</span> @Test // Spews the log w/ triggering of
scheduler? HBASE-24035<a name="line.184"></a>
-<span class="sourceLineNo">185</span> public void
testUserNamespaceClusterScopeQuota() throws Exception {<a name="line.185"></a>
-<span class="sourceLineNo">186</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.186"></a>
-<span class="sourceLineNo">187</span> final String userName =
User.getCurrent().getShortName();<a name="line.187"></a>
-<span class="sourceLineNo">188</span> final String namespace =
TABLE_NAMES[0].getNamespaceAsString();<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span> // Add 10req/min limit for read
request in cluster scope<a name="line.190"></a>
-<span class="sourceLineNo">191</span>
admin.setQuota(QuotaSettingsFactory.throttleUser(userName, namespace,
ThrottleType.READ_NUMBER,<a name="line.191"></a>
-<span class="sourceLineNo">192</span> 10, TimeUnit.MINUTES,
QuotaScope.CLUSTER));<a name="line.192"></a>
-<span class="sourceLineNo">193</span> // Add 6req/min limit for write
request in machine scope<a name="line.193"></a>
-<span class="sourceLineNo">194</span>
admin.setQuota(QuotaSettingsFactory.throttleUser(userName, namespace,
ThrottleType.WRITE_NUMBER,<a name="line.194"></a>
-<span class="sourceLineNo">195</span> 6, TimeUnit.MINUTES));<a
name="line.195"></a>
-<span class="sourceLineNo">196</span> triggerUserCacheRefresh(TEST_UTIL,
false, TABLE_NAMES[0]);<a name="line.196"></a>
-<span class="sourceLineNo">197</span> // should execute at max 5 read
requests and at max 6 write requests<a name="line.197"></a>
-<span class="sourceLineNo">198</span> assertEquals(5, doGets(10,
tables[0]));<a name="line.198"></a>
-<span class="sourceLineNo">199</span> assertEquals(6, doPuts(10, FAMILY,
QUALIFIER, tables[0]));<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span> // Remove all the limits<a
name="line.201"></a>
-<span class="sourceLineNo">202</span>
admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName, namespace));<a
name="line.202"></a>
-<span class="sourceLineNo">203</span> triggerUserCacheRefresh(TEST_UTIL,
true, TABLE_NAMES[0]);<a name="line.203"></a>
-<span class="sourceLineNo">204</span> }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span> @Test<a name="line.206"></a>
-<span class="sourceLineNo">207</span> public void
testUserTableClusterScopeQuota() throws Exception {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.208"></a>
-<span class="sourceLineNo">209</span> final String userName =
User.getCurrent().getShortName();<a name="line.209"></a>
-<span class="sourceLineNo">210</span>
admin.setQuota(QuotaSettingsFactory.throttleUser(userName, TABLE_NAME,
ThrottleType.READ_NUMBER,<a name="line.210"></a>
-<span class="sourceLineNo">211</span> 20, TimeUnit.HOURS,
QuotaScope.CLUSTER));<a name="line.211"></a>
-<span class="sourceLineNo">212</span> triggerUserCacheRefresh(TEST_UTIL,
false, TABLE_NAME);<a name="line.212"></a>
-<span class="sourceLineNo">213</span> for (RegionServerThread rst :
TEST_UTIL.getMiniHBaseCluster().getRegionServerThreads()) {<a
name="line.213"></a>
-<span class="sourceLineNo">214</span> for (TableName tableName :
rst.getRegionServer().getOnlineTables()) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span> if
(tableName.getNameAsString().equals(TABLE_NAME.getNameAsString())) {<a
name="line.215"></a>
-<span class="sourceLineNo">216</span> int rsRegionNum =
rst.getRegionServer().getRegions(tableName).size();<a name="line.216"></a>
-<span class="sourceLineNo">217</span> if (rsRegionNum == 0) {<a
name="line.217"></a>
-<span class="sourceLineNo">218</span> // If rs has 0 region, the
machine limiter is 0 (20 * 0 / 2)<a name="line.218"></a>
-<span class="sourceLineNo">219</span> break;<a name="line.219"></a>
-<span class="sourceLineNo">220</span> } else if (rsRegionNum == 1)
{<a name="line.220"></a>
-<span class="sourceLineNo">221</span> // If rs has 1 region, the
machine limiter is 10 (20 * 1 / 2)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> // Read rows from 1 region,
so can read 10 first time and 0 second time<a name="line.222"></a>
-<span class="sourceLineNo">223</span> long count = doGets(20,
table);<a name="line.223"></a>
-<span class="sourceLineNo">224</span> assertTrue(count == 0 ||
count == 10);<a name="line.224"></a>
-<span class="sourceLineNo">225</span> } else if (rsRegionNum == 2)
{<a name="line.225"></a>
-<span class="sourceLineNo">226</span> // If rs has 2 regions, the
machine limiter is 20 (20 * 2 / 2)<a name="line.226"></a>
-<span class="sourceLineNo">227</span> assertEquals(20, doGets(20,
table));<a name="line.227"></a>
-<span class="sourceLineNo">228</span> }<a name="line.228"></a>
-<span class="sourceLineNo">229</span> break;<a name="line.229"></a>
-<span class="sourceLineNo">230</span> }<a name="line.230"></a>
-<span class="sourceLineNo">231</span> }<a name="line.231"></a>
-<span class="sourceLineNo">232</span> }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>
admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName));<a
name="line.233"></a>
-<span class="sourceLineNo">234</span> triggerUserCacheRefresh(TEST_UTIL,
true, TABLE_NAME);<a name="line.234"></a>
-<span class="sourceLineNo">235</span> }<a name="line.235"></a>
-<span class="sourceLineNo">236</span>}<a name="line.236"></a>
+<span class="sourceLineNo">092</span> table =
TEST_UTIL.getConnection().getTableBuilder(TABLE_NAME,
null).setOperationTimeout(10000)<a name="line.92"></a>
+<span class="sourceLineNo">093</span> .build();<a name="line.93"></a>
+<span class="sourceLineNo">094</span> }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span> @AfterClass<a name="line.96"></a>
+<span class="sourceLineNo">097</span> public static void tearDownAfterClass()
throws Exception {<a name="line.97"></a>
+<span class="sourceLineNo">098</span> EnvironmentEdgeManager.reset();<a
name="line.98"></a>
+<span class="sourceLineNo">099</span> for (int i = 0; i < tables.length;
++i) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span> if (tables[i] != null) {<a
name="line.100"></a>
+<span class="sourceLineNo">101</span> tables[i].close();<a
name="line.101"></a>
+<span class="sourceLineNo">102</span>
TEST_UTIL.deleteTable(TABLE_NAMES[i]);<a name="line.102"></a>
+<span class="sourceLineNo">103</span> }<a name="line.103"></a>
+<span class="sourceLineNo">104</span> }<a name="line.104"></a>
+<span class="sourceLineNo">105</span> TEST_UTIL.deleteTable(TABLE_NAME);<a
name="line.105"></a>
+<span class="sourceLineNo">106</span>
TEST_UTIL.getAdmin().deleteNamespace(NAMESPACE);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> TEST_UTIL.shutdownMiniCluster();<a
name="line.107"></a>
+<span class="sourceLineNo">108</span> }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span> @After<a name="line.110"></a>
+<span class="sourceLineNo">111</span> public void tearDown() throws Exception
{<a name="line.111"></a>
+<span class="sourceLineNo">112</span>
ThrottleQuotaTestUtil.clearQuotaCache(TEST_UTIL);<a name="line.112"></a>
+<span class="sourceLineNo">113</span> }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span> @Test<a name="line.115"></a>
+<span class="sourceLineNo">116</span> public void
testNamespaceClusterScopeQuota() throws Exception {<a name="line.116"></a>
+<span class="sourceLineNo">117</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.117"></a>
+<span class="sourceLineNo">118</span> final String NAMESPACE = "default";<a
name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span> // Add 10req/min limit for write
request in cluster scope<a name="line.120"></a>
+<span class="sourceLineNo">121</span>
admin.setQuota(QuotaSettingsFactory.throttleNamespace(NAMESPACE,
ThrottleType.WRITE_NUMBER, 10,<a name="line.121"></a>
+<span class="sourceLineNo">122</span> TimeUnit.MINUTES,
QuotaScope.CLUSTER));<a name="line.122"></a>
+<span class="sourceLineNo">123</span> // Add 6req/min limit for read
request in machine scope<a name="line.123"></a>
+<span class="sourceLineNo">124</span>
admin.setQuota(QuotaSettingsFactory.throttleNamespace(NAMESPACE,
ThrottleType.READ_NUMBER, 6,<a name="line.124"></a>
+<span class="sourceLineNo">125</span> TimeUnit.MINUTES,
QuotaScope.MACHINE));<a name="line.125"></a>
+<span class="sourceLineNo">126</span>
triggerNamespaceCacheRefresh(TEST_UTIL, false, TABLE_NAMES[0]);<a
name="line.126"></a>
+<span class="sourceLineNo">127</span> // should execute at max 5 write
requests and at max 3 read requests<a name="line.127"></a>
+<span class="sourceLineNo">128</span> assertEquals(5, doPuts(10, FAMILY,
QUALIFIER, tables[0]));<a name="line.128"></a>
+<span class="sourceLineNo">129</span> assertEquals(6, doGets(10,
tables[0]));<a name="line.129"></a>
+<span class="sourceLineNo">130</span> // Remove all the limits<a
name="line.130"></a>
+<span class="sourceLineNo">131</span>
admin.setQuota(QuotaSettingsFactory.unthrottleNamespace(NAMESPACE));<a
name="line.131"></a>
+<span class="sourceLineNo">132</span>
triggerNamespaceCacheRefresh(TEST_UTIL, true, TABLE_NAMES[0]);<a
name="line.132"></a>
+<span class="sourceLineNo">133</span> }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span> @Test<a name="line.135"></a>
+<span class="sourceLineNo">136</span> public void
testTableClusterScopeQuota() throws Exception {<a name="line.136"></a>
+<span class="sourceLineNo">137</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.137"></a>
+<span class="sourceLineNo">138</span>
admin.setQuota(QuotaSettingsFactory.throttleTable(TABLE_NAME,
ThrottleType.READ_NUMBER, 20,<a name="line.138"></a>
+<span class="sourceLineNo">139</span> TimeUnit.HOURS,
QuotaScope.CLUSTER));<a name="line.139"></a>
+<span class="sourceLineNo">140</span> triggerTableCacheRefresh(TEST_UTIL,
false, TABLE_NAME);<a name="line.140"></a>
+<span class="sourceLineNo">141</span> for (RegionServerThread rst :
TEST_UTIL.getMiniHBaseCluster().getRegionServerThreads()) {<a
name="line.141"></a>
+<span class="sourceLineNo">142</span> for (TableName tableName :
rst.getRegionServer().getOnlineTables()) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span> if
(tableName.getNameAsString().equals(TABLE_NAME.getNameAsString())) {<a
name="line.143"></a>
+<span class="sourceLineNo">144</span> int rsRegionNum =
rst.getRegionServer().getRegions(tableName).size();<a name="line.144"></a>
+<span class="sourceLineNo">145</span> if (rsRegionNum == 0) {<a
name="line.145"></a>
+<span class="sourceLineNo">146</span> // If rs has 0 region, the
machine limiter is 0 (20 * 0 / 2)<a name="line.146"></a>
+<span class="sourceLineNo">147</span> break;<a name="line.147"></a>
+<span class="sourceLineNo">148</span> } else if (rsRegionNum == 1)
{<a name="line.148"></a>
+<span class="sourceLineNo">149</span> // If rs has 1 region, the
machine limiter is 10 (20 * 1 / 2)<a name="line.149"></a>
+<span class="sourceLineNo">150</span> // Read rows from 1 region,
so can read 10 first time and 0 second time<a name="line.150"></a>
+<span class="sourceLineNo">151</span> long count = doGets(20,
table);<a name="line.151"></a>
+<span class="sourceLineNo">152</span> assertTrue(count == 0 ||
count == 10);<a name="line.152"></a>
+<span class="sourceLineNo">153</span> } else if (rsRegionNum == 2)
{<a name="line.153"></a>
+<span class="sourceLineNo">154</span> // If rs has 2 regions, the
machine limiter is 20 (20 * 2 / 2)<a name="line.154"></a>
+<span class="sourceLineNo">155</span> assertEquals(20, doGets(20,
table));<a name="line.155"></a>
+<span class="sourceLineNo">156</span> }<a name="line.156"></a>
+<span class="sourceLineNo">157</span> break;<a name="line.157"></a>
+<span class="sourceLineNo">158</span> }<a name="line.158"></a>
+<span class="sourceLineNo">159</span> }<a name="line.159"></a>
+<span class="sourceLineNo">160</span> }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>
admin.setQuota(QuotaSettingsFactory.unthrottleTable(TABLE_NAME));<a
name="line.161"></a>
+<span class="sourceLineNo">162</span> triggerTableCacheRefresh(TEST_UTIL,
true, TABLE_NAME);<a name="line.162"></a>
+<span class="sourceLineNo">163</span> }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span> @Test<a name="line.165"></a>
+<span class="sourceLineNo">166</span> public void testUserClusterScopeQuota()
throws Exception {<a name="line.166"></a>
+<span class="sourceLineNo">167</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.167"></a>
+<span class="sourceLineNo">168</span> final String userName =
User.getCurrent().getShortName();<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span> // Add 6req/min limit for read
request in cluster scope<a name="line.170"></a>
+<span class="sourceLineNo">171</span>
admin.setQuota(QuotaSettingsFactory.throttleUser(userName,
ThrottleType.READ_NUMBER, 6,<a name="line.171"></a>
+<span class="sourceLineNo">172</span> TimeUnit.MINUTES,
QuotaScope.CLUSTER));<a name="line.172"></a>
+<span class="sourceLineNo">173</span> // Add 6req/min limit for write
request in machine scope<a name="line.173"></a>
+<span class="sourceLineNo">174</span> admin.setQuota(<a name="line.174"></a>
+<span class="sourceLineNo">175</span>
QuotaSettingsFactory.throttleUser(userName, ThrottleType.WRITE_NUMBER, 6,
TimeUnit.MINUTES));<a name="line.175"></a>
+<span class="sourceLineNo">176</span> triggerUserCacheRefresh(TEST_UTIL,
false, TABLE_NAMES);<a name="line.176"></a>
+<span class="sourceLineNo">177</span> // should execute at max 6 read
requests and at max 3 write write requests<a name="line.177"></a>
+<span class="sourceLineNo">178</span> assertEquals(6, doPuts(10, FAMILY,
QUALIFIER, tables[0]));<a name="line.178"></a>
+<span class="sourceLineNo">179</span> assertEquals(3, doGets(10,
tables[0]));<a name="line.179"></a>
+<span class="sourceLineNo">180</span> // Remove all the limits<a
name="line.180"></a>
+<span class="sourceLineNo">181</span>
admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName));<a
name="line.181"></a>
+<span class="sourceLineNo">182</span> triggerUserCacheRefresh(TEST_UTIL,
true, TABLE_NAMES);<a name="line.182"></a>
+<span class="sourceLineNo">183</span> }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span> @Test // Spews the log w/ triggering of
scheduler? HBASE-24035<a name="line.185"></a>
+<span class="sourceLineNo">186</span> public void
testUserNamespaceClusterScopeQuota() throws Exception {<a name="line.186"></a>
+<span class="sourceLineNo">187</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.187"></a>
+<span class="sourceLineNo">188</span> final String userName =
User.getCurrent().getShortName();<a name="line.188"></a>
+<span class="sourceLineNo">189</span> final String namespace =
TABLE_NAMES[0].getNamespaceAsString();<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span> // Add 10req/min limit for read
request in cluster scope<a name="line.191"></a>
+<span class="sourceLineNo">192</span>
admin.setQuota(QuotaSettingsFactory.throttleUser(userName, namespace,
ThrottleType.READ_NUMBER,<a name="line.192"></a>
+<span class="sourceLineNo">193</span> 10, TimeUnit.MINUTES,
QuotaScope.CLUSTER));<a name="line.193"></a>
+<span class="sourceLineNo">194</span> // Add 6req/min limit for write
request in machine scope<a name="line.194"></a>
+<span class="sourceLineNo">195</span>
admin.setQuota(QuotaSettingsFactory.throttleUser(userName, namespace,
ThrottleType.WRITE_NUMBER,<a name="line.195"></a>
+<span class="sourceLineNo">196</span> 6, TimeUnit.MINUTES));<a
name="line.196"></a>
+<span class="sourceLineNo">197</span> triggerUserCacheRefresh(TEST_UTIL,
false, TABLE_NAMES[0]);<a name="line.197"></a>
+<span class="sourceLineNo">198</span> // should execute at max 5 read
requests and at max 6 write requests<a name="line.198"></a>
+<span class="sourceLineNo">199</span> assertEquals(5, doGets(10,
tables[0]));<a name="line.199"></a>
+<span class="sourceLineNo">200</span> assertEquals(6, doPuts(10, FAMILY,
QUALIFIER, tables[0]));<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span> // Remove all the limits<a
name="line.202"></a>
+<span class="sourceLineNo">203</span>
admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName, namespace));<a
name="line.203"></a>
+<span class="sourceLineNo">204</span> triggerUserCacheRefresh(TEST_UTIL,
true, TABLE_NAMES[0]);<a name="line.204"></a>
+<span class="sourceLineNo">205</span> }<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span> @Test<a name="line.207"></a>
+<span class="sourceLineNo">208</span> public void
testUserTableClusterScopeQuota() throws Exception {<a name="line.208"></a>
+<span class="sourceLineNo">209</span> final Admin admin =
TEST_UTIL.getAdmin();<a name="line.209"></a>
+<span class="sourceLineNo">210</span> final String userName =
User.getCurrent().getShortName();<a name="line.210"></a>
+<span class="sourceLineNo">211</span>
admin.setQuota(QuotaSettingsFactory.throttleUser(userName, TABLE_NAME,
ThrottleType.READ_NUMBER,<a name="line.211"></a>
+<span class="sourceLineNo">212</span> 20, TimeUnit.HOURS,
QuotaScope.CLUSTER));<a name="line.212"></a>
+<span class="sourceLineNo">213</span> triggerUserCacheRefresh(TEST_UTIL,
false, TABLE_NAME);<a name="line.213"></a>
+<span class="sourceLineNo">214</span> for (RegionServerThread rst :
TEST_UTIL.getMiniHBaseCluster().getRegionServerThreads()) {<a
name="line.214"></a>
+<span class="sourceLineNo">215</span> for (TableName tableName :
rst.getRegionServer().getOnlineTables()) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span> if
(tableName.getNameAsString().equals(TABLE_NAME.getNameAsString())) {<a
name="line.216"></a>
+<span class="sourceLineNo">217</span> int rsRegionNum =
rst.getRegionServer().getRegions(tableName).size();<a name="line.217"></a>
+<span class="sourceLineNo">218</span> if (rsRegionNum == 0) {<a
name="line.218"></a>
+<span class="sourceLineNo">219</span> // If rs has 0 region, the
machine limiter is 0 (20 * 0 / 2)<a name="line.219"></a>
+<span class="sourceLineNo">220</span> break;<a name="line.220"></a>
+<span class="sourceLineNo">221</span> } else if (rsRegionNum == 1)
{<a name="line.221"></a>
+<span class="sourceLineNo">222</span> // If rs has 1 region, the
machine limiter is 10 (20 * 1 / 2)<a name="line.222"></a>
+<span class="sourceLineNo">223</span> // Read rows from 1 region,
so can read 10 first time and 0 second time<a name="line.223"></a>
+<span class="sourceLineNo">224</span> long count = doGets(20,
table);<a name="line.224"></a>
+<span class="sourceLineNo">225</span> assertTrue(count == 0 ||
count == 10);<a name="line.225"></a>
+<span class="sourceLineNo">226</span> } else if (rsRegionNum == 2)
{<a name="line.226"></a>
+<span class="sourceLineNo">227</span> // If rs has 2 regions, the
machine limiter is 20 (20 * 2 / 2)<a name="line.227"></a>
+<span class="sourceLineNo">228</span> assertEquals(20, doGets(20,
table));<a name="line.228"></a>
+<span class="sourceLineNo">229</span> }<a name="line.229"></a>
+<span class="sourceLineNo">230</span> break;<a name="line.230"></a>
+<span class="sourceLineNo">231</span> }<a name="line.231"></a>
+<span class="sourceLineNo">232</span> }<a name="line.232"></a>
+<span class="sourceLineNo">233</span> }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>
admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName));<a
name="line.234"></a>
+<span class="sourceLineNo">235</span> triggerUserCacheRefresh(TEST_UTIL,
true, TABLE_NAME);<a name="line.235"></a>
+<span class="sourceLineNo">236</span> }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>}<a name="line.237"></a>