You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2019/06/03 14:58:31 UTC
[hbase-site] branch asf-site updated: Published site at
b4d5a9a8e11720b27fd556d6c28bcfdbcad7d20d.
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 c4e305f Published site at b4d5a9a8e11720b27fd556d6c28bcfdbcad7d20d.
c4e305f is described below
commit c4e305fe117ea1d4734d4dc2325fdfb2ae5d321d
Author: jenkins <bu...@apache.org>
AuthorDate: Mon Jun 3 14:58:15 2019 +0000
Published site at b4d5a9a8e11720b27fd556d6c28bcfdbcad7d20d.
---
acid-semantics.html | 10 +-
apache_hbase_reference_guide.pdf | 2694 ++++++++++----------
.../apache/hadoop/hbase/quotas/QuotaRetriever.html | 12 +-
.../apache/hadoop/hbase/quotas/QuotaRetriever.html | 298 +--
.../org/apache/hadoop/hbase/util/VersionInfo.html | 2 +-
book.html | 10 +-
bulk-loads.html | 10 +-
checkstyle-aggregate.html | 12 +-
coc.html | 10 +-
dependencies.html | 10 +-
dependency-convergence.html | 10 +-
dependency-info.html | 10 +-
dependency-management.html | 10 +-
devapidocs/constant-values.html | 2 +-
devapidocs/index-all.html | 4 +-
.../hadoop/hbase/client/VersionInfoUtil.html | 4 +-
.../hadoop/hbase/quotas/QuotaRetriever.Iter.html | 12 +-
.../apache/hadoop/hbase/quotas/QuotaRetriever.html | 30 +-
.../org/apache/hadoop/hbase/util/VersionInfo.html | 4 +-
.../src-html/org/apache/hadoop/hbase/Version.html | 2 +-
.../VersionInfoUtil.ServiceCallFunction.html | 2 +-
.../hadoop/hbase/client/VersionInfoUtil.html | 2 +-
.../hadoop/hbase/quotas/QuotaRetriever.Iter.html | 298 +--
.../apache/hadoop/hbase/quotas/QuotaRetriever.html | 298 +--
.../org/apache/hadoop/hbase/util/VersionInfo.html | 2 +-
downloads.html | 40 +-
export_control.html | 10 +-
index.html | 10 +-
issue-management.html | 10 +-
licenses.html | 10 +-
mailing-lists.html | 10 +-
metrics.html | 10 +-
old_news.html | 10 +-
plugin-management.html | 10 +-
plugins.html | 10 +-
poweredbyhbase.html | 10 +-
project-info.html | 10 +-
project-reports.html | 10 +-
pseudo-distributed.html | 10 +-
replication.html | 10 +-
resources.html | 10 +-
scm.html | 10 +-
sponsors.html | 10 +-
summary.html | 10 +-
supportingprojects.html | 10 +-
team.html | 10 +-
.../apache/hadoop/hbase/quotas/TestQuotaAdmin.html | 24 +-
.../apache/hadoop/hbase/quotas/TestQuotaAdmin.html | 407 +--
48 files changed, 2052 insertions(+), 2377 deletions(-)
diff --git a/acid-semantics.html b/acid-semantics.html
index 1c6b6e3..97a06e5 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -95,14 +95,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -457,7 +449,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 fee198f..b46d864 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
/Author (Apache HBase Team)
/Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
/Producer (Apache HBase Team)
-/ModDate (D:20190602213349+00'00')
-/CreationDate (D:20190602213349+00'00')
+/ModDate (D:20190603145339+00'00')
+/CreationDate (D:20190603145339+00'00')
>>
endobj
2 0 obj
@@ -82008,7 +82008,7 @@ ET
BT
48.24 492.455 Td
/F1.0 10.5 Tf
-<62696e61727920636f6d70617469626c652076657273696f6e733b20692e652e206163726f7373206d61696e74656e616e63652072656c65617365733a20652e672e2066726f6d20312e322e3420746f20312e322e362e20536565206c696e6b3a5b446f6573> Tj
+<62696e61727920636f6d70617469626c652076657273696f6e733b20692e652e206163726f7373206d61696e74656e616e63652072656c65617365733a20652e672e2066726f6d20312e342e3420746f20312e342e362e20536565206c696e6b3a5b446f6573> Tj
ET
@@ -82374,7 +82374,7 @@ ET
BT
95.2693 69.424 Td
/F1.0 10.5 Tf
-[<206265747765656e20484261736520706f696e742076657273696f6e732e2046> 40.0391 <6f72206578616d706c652c20796f752063616e20676f20746f20312e322e342066726f6d20312e322e362062> 20.0195 <7920646f696e672061>] TJ
+[<206265747765656e20484261736520706f696e742076657273696f6e732e2046> 40.0391 <6f72206578616d706c652c20796f752063616e20676f20746f20312e342e342066726f6d20312e342e362062> 20.0195 <7920646f696e672061>] TJ
ET
@@ -82387,7 +82387,7 @@ ET
BT
48.24 53.644 Td
/F1.0 10.5 Tf
-[<726f6c6c696e672075706772> 20.0195 <616465206163726f73732074686520636c7573746572207265706c6163696e672074686520312e322e342062696e6172792077697468206120312e322e362062696e617279> 89.8438 <2e>] TJ
+[<726f6c6c696e672075706772> 20.0195 <616465206163726f73732074686520636c7573746572207265706c6163696e672074686520312e342e342062696e6172792077697468206120312e342e362062696e617279> 89.8438 <2e>] TJ
ET
0.0 0.0 0.0 SCN
@@ -776135,7 +776135,7 @@ endobj
[4125 0 R /XYZ 0 421.277 null]
endobj
4133 0 obj
-<< /Length 9504
+<< /Length 8548
>>
stream
q
@@ -776352,14 +776352,6 @@ f
297.64 457.739 249.4 20.28 re
f
0.0 0.0 0.0 scn
-0.9765 0.9765 0.9765 scn
-48.24 437.459 249.4 20.28 re
-f
-0.0 0.0 0.0 scn
-0.9765 0.9765 0.9765 scn
-297.64 437.459 249.4 20.28 re
-f
-0.0 0.0 0.0 scn
0.5 w
0.8667 0.8667 0.8667 SCN
48.24 579.419 m
@@ -776461,7 +776453,7 @@ S
BT
51.24 544.925 Td
/F1.0 10.5 Tf
-<312e32> Tj
+<312e33> Tj
ET
0.0 0.0 0.0 scn
@@ -776496,7 +776488,7 @@ S
BT
300.64 544.925 Td
/F1.0 10.5 Tf
-<5365616e20427573626579> Tj
+<4d696b6861696c20416e746f6e6f76> Tj
ET
0.0 0.0 0.0 scn
@@ -776531,7 +776523,7 @@ S
BT
51.24 524.645 Td
/F1.0 10.5 Tf
-<312e33> Tj
+<312e34> Tj
ET
0.0 0.0 0.0 scn
@@ -776566,7 +776558,7 @@ S
BT
300.64 524.645 Td
/F1.0 10.5 Tf
-<4d696b6861696c20416e746f6e6f76> Tj
+<416e647265772050757274656c6c> Tj
ET
0.0 0.0 0.0 scn
@@ -776601,7 +776593,7 @@ S
BT
51.24 504.365 Td
/F1.0 10.5 Tf
-<312e34> Tj
+<322e30> Tj
ET
0.0 0.0 0.0 scn
@@ -776636,7 +776628,7 @@ S
BT
300.64 504.365 Td
/F1.0 10.5 Tf
-<416e647265772050757274656c6c> Tj
+<4d69636861656c20537461636b> Tj
ET
0.0 0.0 0.0 scn
@@ -776671,7 +776663,7 @@ S
BT
51.24 484.085 Td
/F1.0 10.5 Tf
-<322e30> Tj
+<322e31> Tj
ET
0.0 0.0 0.0 scn
@@ -776706,7 +776698,7 @@ S
BT
300.64 484.085 Td
/F1.0 10.5 Tf
-<4d69636861656c20537461636b> Tj
+<44756f205a68616e67> Tj
ET
0.0 0.0 0.0 scn
@@ -776741,7 +776733,7 @@ S
BT
51.24 463.805 Td
/F1.0 10.5 Tf
-<322e31> Tj
+<322e32> Tj
ET
0.0 0.0 0.0 scn
@@ -776776,76 +776768,6 @@ S
BT
300.64 463.805 Td
/F1.0 10.5 Tf
-<44756f205a68616e67> Tj
-ET
-
-0.0 0.0 0.0 scn
-0.5 w
-0.8667 0.8667 0.8667 SCN
-48.24 457.739 m
-297.64 457.739 l
-S
-[] 0 d
-0.5 w
-0.8667 0.8667 0.8667 SCN
-48.24 437.459 m
-297.64 437.459 l
-S
-[] 0 d
-0.5 w
-0.8667 0.8667 0.8667 SCN
-48.24 457.989 m
-48.24 437.209 l
-S
-[] 0 d
-0.5 w
-0.8667 0.8667 0.8667 SCN
-297.64 457.989 m
-297.64 437.209 l
-S
-[] 0 d
-1 w
-0.0 0.0 0.0 SCN
-0.2 0.2 0.2 scn
-
-BT
-51.24 443.525 Td
-/F1.0 10.5 Tf
-<322e32> Tj
-ET
-
-0.0 0.0 0.0 scn
-0.5 w
-0.8667 0.8667 0.8667 SCN
-297.64 457.739 m
-547.04 457.739 l
-S
-[] 0 d
-0.5 w
-0.8667 0.8667 0.8667 SCN
-297.64 437.459 m
-547.04 437.459 l
-S
-[] 0 d
-0.5 w
-0.8667 0.8667 0.8667 SCN
-297.64 457.989 m
-297.64 437.209 l
-S
-[] 0 d
-0.5 w
-0.8667 0.8667 0.8667 SCN
-547.04 457.989 m
-547.04 437.209 l
-S
-[] 0 d
-1 w
-0.0 0.0 0.0 SCN
-0.2 0.2 0.2 scn
-
-BT
-300.64 443.525 Td
-/F1.0 10.5 Tf
<4775616e6768616f205a68616e67> Tj
ET
@@ -869737,1305 +869659,1305 @@ xref
0012115634 00000 n
0012115819 00000 n
0012115868 00000 n
-0012125427 00000 n
-0012125820 00000 n
-0012125868 00000 n
-0012125916 00000 n
-0012126102 00000 n
-0012129470 00000 n
-0012129850 00000 n
-0012129898 00000 n
-0012130083 00000 n
-0012130471 00000 n
-0012130819 00000 n
-0012130867 00000 n
-0012142789 00000 n
-0012143200 00000 n
-0012143248 00000 n
-0012143425 00000 n
-0012143592 00000 n
-0012143717 00000 n
-0012143765 00000 n
-0012143813 00000 n
-0012157481 00000 n
-0012157889 00000 n
-0012157937 00000 n
-0012158158 00000 n
-0012178329 00000 n
-0012178740 00000 n
-0012178883 00000 n
-0012178930 00000 n
-0012178978 00000 n
-0012179026 00000 n
-0012179195 00000 n
-0012179380 00000 n
-0012204971 00000 n
-0012205369 00000 n
-0012205576 00000 n
-0012205784 00000 n
-0012205991 00000 n
-0012224123 00000 n
-0012224484 00000 n
-0012239176 00000 n
-0012239583 00000 n
-0012239788 00000 n
-0012239993 00000 n
-0012240196 00000 n
-0012240400 00000 n
-0012248772 00000 n
-0012249133 00000 n
-0012257486 00000 n
-0012257884 00000 n
-0012258092 00000 n
-0012258302 00000 n
-0012258511 00000 n
-0012272726 00000 n
-0012273128 00000 n
-0012273324 00000 n
-0012273520 00000 n
-0012290426 00000 n
-0012290833 00000 n
-0012290883 00000 n
-0012291016 00000 n
-0012291066 00000 n
-0012301647 00000 n
-0012302021 00000 n
-0012302069 00000 n
-0012302117 00000 n
-0012313210 00000 n
-0012313648 00000 n
-0012313696 00000 n
-0012314130 00000 n
-0012314178 00000 n
-0012314306 00000 n
-0012314492 00000 n
-0012314663 00000 n
-0012314788 00000 n
-0012314915 00000 n
-0012315043 00000 n
-0012315091 00000 n
-0012327017 00000 n
-0012327500 00000 n
-0012327549 00000 n
-0012327677 00000 n
-0012327726 00000 n
-0012327852 00000 n
-0012327982 00000 n
-0012328031 00000 n
-0012328156 00000 n
-0012328280 00000 n
-0012328414 00000 n
-0012328548 00000 n
-0012328683 00000 n
-0012328806 00000 n
-0012328942 00000 n
-0012329072 00000 n
-0012334647 00000 n
-0012335077 00000 n
-0012335125 00000 n
-0012335248 00000 n
-0012335296 00000 n
-0012335422 00000 n
-0012335542 00000 n
-0012335590 00000 n
-0012335716 00000 n
-0012335838 00000 n
-0012335886 00000 n
-0012336007 00000 n
-0012336131 00000 n
-0012336179 00000 n
-0012336303 00000 n
-0012344297 00000 n
-0012344658 00000 n
-0012344706 00000 n
-0012344755 00000 n
-0012344804 00000 n
-0012365968 00000 n
-0012366342 00000 n
-0012403742 00000 n
-0012404090 00000 n
-0012441614 00000 n
-0012441962 00000 n
-0012474527 00000 n
-0012474875 00000 n
-0012505503 00000 n
-0012505851 00000 n
-0012517055 00000 n
-0012517493 00000 n
-0012517541 00000 n
-0012517690 00000 n
-0012517887 00000 n
-0012518022 00000 n
-0012518159 00000 n
-0012518298 00000 n
-0012518440 00000 n
-0012523826 00000 n
-0012524228 00000 n
-0012564885 00000 n
-0012592648 00000 n
-0012600510 00000 n
-0012600885 00000 n
-0012646926 00000 n
-0012646975 00000 n
-0012665086 00000 n
-0012665492 00000 n
-0012665675 00000 n
-0012665722 00000 n
-0012699287 00000 n
-0012699661 00000 n
-0012731272 00000 n
-0012731683 00000 n
-0012731876 00000 n
-0012732067 00000 n
-0012732278 00000 n
-0012732326 00000 n
-0012732374 00000 n
-0012747149 00000 n
-0012747565 00000 n
-0012747760 00000 n
-0012747896 00000 n
-0012747945 00000 n
-0012748153 00000 n
-0012748295 00000 n
-0012748344 00000 n
-0012748480 00000 n
-0012748529 00000 n
-0012760391 00000 n
-0012760806 00000 n
-0012760938 00000 n
-0012761080 00000 n
-0012761128 00000 n
-0012761177 00000 n
-0012761226 00000 n
-0012773638 00000 n
-0012774012 00000 n
-0012774061 00000 n
-0012785080 00000 n
-0012785454 00000 n
-0012785503 00000 n
-0012788365 00000 n
-0012788726 00000 n
-0012790055 00000 n
-0012790431 00000 n
-0012790479 00000 n
-0012790527 00000 n
-0012790696 00000 n
-0012790744 00000 n
-0012790926 00000 n
-0012793882 00000 n
-0012794276 00000 n
-0012794324 00000 n
-0012794509 00000 n
-0012794702 00000 n
-0012794879 00000 n
-0012795055 00000 n
-0012802258 00000 n
-0012802633 00000 n
-0012802681 00000 n
-0012802729 00000 n
-0012802777 00000 n
-0012828664 00000 n
-0012833227 00000 n
-0012833276 00000 n
-0012833325 00000 n
-0012833374 00000 n
-0012841080 00000 n
-0012841428 00000 n
-0012841476 00000 n
-0012888244 00000 n
-0012894884 00000 n
-0012895259 00000 n
-0012895308 00000 n
-0012905236 00000 n
-0012905597 00000 n
-0012905645 00000 n
-0012905693 00000 n
-0012918237 00000 n
-0012918598 00000 n
-0012918646 00000 n
-0012932400 00000 n
-0012932761 00000 n
-0012932809 00000 n
-0012933386 00000 n
-0012933434 00000 n
-0012933482 00000 n
-0012951415 00000 n
-0012951763 00000 n
-0012951811 00000 n
-0012964242 00000 n
-0012964685 00000 n
-0012964733 00000 n
-0012965145 00000 n
-0012965193 00000 n
-0012965333 00000 n
-0012965460 00000 n
-0012965610 00000 n
-0012965747 00000 n
-0012965795 00000 n
-0012965927 00000 n
-0012965974 00000 n
-0012966099 00000 n
-0012966147 00000 n
-0012966275 00000 n
-0012966489 00000 n
-0012976528 00000 n
-0012976908 00000 n
-0012976956 00000 n
-0012977092 00000 n
-0012984500 00000 n
-0012984997 00000 n
-0012985045 00000 n
-0012985093 00000 n
-0012985264 00000 n
-0012985436 00000 n
-0012985692 00000 n
-0012985741 00000 n
-0012985990 00000 n
-0012986218 00000 n
-0012986462 00000 n
-0012986511 00000 n
-0012986704 00000 n
-0012986914 00000 n
-0012987127 00000 n
-0012987176 00000 n
-0012987368 00000 n
-0012987601 00000 n
-0012987786 00000 n
-0012987835 00000 n
-0012988028 00000 n
-0012988077 00000 n
-0012988509 00000 n
-0012988703 00000 n
-0012990689 00000 n
-0012991056 00000 n
-0012991104 00000 n
-0012991298 00000 n
-0012994672 00000 n
-0012995048 00000 n
-0012995096 00000 n
-0012995144 00000 n
-0012995328 00000 n
-0012995376 00000 n
-0012995570 00000 n
-0012999186 00000 n
-0012999625 00000 n
-0012999673 00000 n
-0013003933 00000 n
-0013004463 00000 n
-0013004657 00000 n
-0013004841 00000 n
-0013005034 00000 n
-0013005231 00000 n
-0013005426 00000 n
-0013005612 00000 n
-0013029190 00000 n
-0013029619 00000 n
-0013029667 00000 n
-0013029848 00000 n
-0013030043 00000 n
-0013030238 00000 n
-0013030286 00000 n
-0013030465 00000 n
-0013030712 00000 n
-0013039350 00000 n
-0013039730 00000 n
-0013039913 00000 n
-0013069776 00000 n
-0013070150 00000 n
-0013070198 00000 n
-0013090926 00000 n
-0013091287 00000 n
-0013091335 00000 n
-0013101383 00000 n
-0013101804 00000 n
-0013101852 00000 n
-0013102426 00000 n
-0013102620 00000 n
-0013102841 00000 n
-0013103058 00000 n
-0013103274 00000 n
-0013103505 00000 n
-0013103553 00000 n
-0013103601 00000 n
-0013103649 00000 n
-0013103880 00000 n
-0013104113 00000 n
-0013104161 00000 n
-0013104209 00000 n
-0013118118 00000 n
-0013118505 00000 n
-0013118554 00000 n
-0013118603 00000 n
-0013118652 00000 n
-0013126622 00000 n
-0013126983 00000 n
-0013127032 00000 n
-0013127081 00000 n
-0013127130 00000 n
-0013127179 00000 n
-0013127228 00000 n
-0013138981 00000 n
-0013139368 00000 n
-0013139417 00000 n
-0013140017 00000 n
-0013140365 00000 n
-0013140413 00000 n
-0013152965 00000 n
-0013153328 00000 n
-0013153376 00000 n
-0013153424 00000 n
-0013153472 00000 n
-0013153520 00000 n
-0013153568 00000 n
-0013169166 00000 n
-0013169529 00000 n
-0013169577 00000 n
-0013169625 00000 n
-0013169673 00000 n
-0013184485 00000 n
-0013184848 00000 n
-0013184896 00000 n
-0013184944 00000 n
-0013201610 00000 n
-0013201945 00000 n
-0013215969 00000 n
-0013216332 00000 n
-0013216380 00000 n
-0013216428 00000 n
-0013216476 00000 n
-0013216524 00000 n
-0013229479 00000 n
-0013229842 00000 n
-0013229890 00000 n
-0013229938 00000 n
-0013229986 00000 n
-0013230034 00000 n
-0013230082 00000 n
-0013247140 00000 n
-0013247503 00000 n
-0013247551 00000 n
-0013247599 00000 n
-0013247647 00000 n
-0013247695 00000 n
-0013247743 00000 n
-0013248158 00000 n
-0013270170 00000 n
-0013270533 00000 n
-0013270581 00000 n
-0013270629 00000 n
-0013286048 00000 n
-0013286396 00000 n
-0013286444 00000 n
-0013286492 00000 n
-0013286540 00000 n
-0013299611 00000 n
-0013299959 00000 n
-0013300007 00000 n
-0013300055 00000 n
-0013300103 00000 n
-0013318868 00000 n
-0013319231 00000 n
-0013319279 00000 n
-0013319327 00000 n
-0013319375 00000 n
-0013334348 00000 n
-0013334711 00000 n
-0013334759 00000 n
-0013335202 00000 n
-0013335250 00000 n
-0013335298 00000 n
-0013335346 00000 n
-0013349240 00000 n
-0013349603 00000 n
-0013349651 00000 n
-0013349699 00000 n
-0013349747 00000 n
-0013349795 00000 n
-0013349843 00000 n
-0013365706 00000 n
-0013366069 00000 n
-0013366117 00000 n
-0013366165 00000 n
-0013366786 00000 n
-0013366834 00000 n
-0013366882 00000 n
-0013382152 00000 n
-0013382515 00000 n
-0013382563 00000 n
-0013382611 00000 n
-0013382659 00000 n
-0013382707 00000 n
-0013382755 00000 n
-0013382803 00000 n
-0013383335 00000 n
-0013397736 00000 n
-0013398099 00000 n
-0013398147 00000 n
-0013398195 00000 n
-0013398799 00000 n
-0013398988 00000 n
-0013399036 00000 n
-0013399084 00000 n
-0013399132 00000 n
-0013418970 00000 n
-0013419333 00000 n
-0013419381 00000 n
-0013419429 00000 n
-0013431794 00000 n
-0013432157 00000 n
-0013432205 00000 n
-0013432253 00000 n
-0013432301 00000 n
-0013432349 00000 n
-0013432397 00000 n
-0013432445 00000 n
-0013432493 00000 n
-0013445196 00000 n
-0013445559 00000 n
-0013445607 00000 n
-0013445956 00000 n
-0013446004 00000 n
-0013446404 00000 n
-0013446452 00000 n
-0013446500 00000 n
-0013446548 00000 n
-0013447186 00000 n
-0013461568 00000 n
-0013461931 00000 n
-0013461979 00000 n
-0013462027 00000 n
-0013462075 00000 n
-0013462123 00000 n
-0013470062 00000 n
-0013470410 00000 n
-0013470529 00000 n
-0013470651 00000 n
-0013470780 00000 n
-0013470910 00000 n
-0013471035 00000 n
-0013471162 00000 n
-0013471285 00000 n
-0013471410 00000 n
-0013471537 00000 n
-0013471664 00000 n
-0013471797 00000 n
-0013471930 00000 n
-0013472062 00000 n
-0013472195 00000 n
-0013472323 00000 n
-0013472452 00000 n
-0013472573 00000 n
-0013472694 00000 n
-0013472820 00000 n
-0013472946 00000 n
-0013473074 00000 n
-0013473202 00000 n
-0013473340 00000 n
-0013473478 00000 n
-0013473602 00000 n
-0013473726 00000 n
-0013473849 00000 n
-0013473972 00000 n
-0013474102 00000 n
-0013474232 00000 n
-0013474353 00000 n
-0013474475 00000 n
-0013474602 00000 n
-0013474729 00000 n
-0013474847 00000 n
-0013474967 00000 n
-0013475090 00000 n
-0013475214 00000 n
-0013475369 00000 n
-0013475525 00000 n
-0013475664 00000 n
-0013475805 00000 n
-0013475964 00000 n
-0013476124 00000 n
-0013476268 00000 n
-0013476414 00000 n
-0013476577 00000 n
-0013476741 00000 n
-0013476867 00000 n
-0013476994 00000 n
-0013477116 00000 n
-0013477240 00000 n
-0013477368 00000 n
-0013477498 00000 n
-0013477625 00000 n
-0013477753 00000 n
-0013477875 00000 n
-0013477999 00000 n
-0013478118 00000 n
-0013478238 00000 n
-0013478351 00000 n
-0013478469 00000 n
-0013478595 00000 n
-0013478722 00000 n
-0013478840 00000 n
-0013478960 00000 n
-0013479095 00000 n
-0013479231 00000 n
-0013479353 00000 n
-0013479476 00000 n
-0013479597 00000 n
-0013479719 00000 n
-0013479848 00000 n
-0013479979 00000 n
-0013480096 00000 n
-0013480214 00000 n
-0013480332 00000 n
-0013480451 00000 n
-0013480571 00000 n
-0013480692 00000 n
-0013480820 00000 n
-0013480950 00000 n
-0013481091 00000 n
-0013481233 00000 n
-0013481380 00000 n
-0013481529 00000 n
-0013481656 00000 n
-0013481784 00000 n
-0013481911 00000 n
-0013482039 00000 n
-0013482168 00000 n
-0013482298 00000 n
-0013482431 00000 n
-0013482565 00000 n
-0013482691 00000 n
-0013482818 00000 n
-0013482935 00000 n
-0013483053 00000 n
-0013483182 00000 n
-0013483312 00000 n
-0013483442 00000 n
-0013483574 00000 n
-0013483699 00000 n
-0013483825 00000 n
-0013483957 00000 n
-0013484090 00000 n
-0013484214 00000 n
-0013484339 00000 n
-0013484465 00000 n
-0013484593 00000 n
-0013484716 00000 n
-0013484840 00000 n
-0013484979 00000 n
-0013485119 00000 n
-0013485254 00000 n
-0013485391 00000 n
-0013485533 00000 n
-0013485676 00000 n
-0013485840 00000 n
-0013486005 00000 n
-0013486161 00000 n
-0013486318 00000 n
-0013486450 00000 n
-0013486583 00000 n
-0013486705 00000 n
-0013486828 00000 n
-0013486958 00000 n
-0013487090 00000 n
-0013487227 00000 n
-0013487365 00000 n
-0013487495 00000 n
-0013487626 00000 n
-0013487748 00000 n
-0013487872 00000 n
-0013487994 00000 n
-0013488117 00000 n
-0013488269 00000 n
-0013488422 00000 n
-0013488558 00000 n
-0013488695 00000 n
-0013488835 00000 n
-0013488976 00000 n
-0013489122 00000 n
-0013489269 00000 n
-0013489420 00000 n
-0013489572 00000 n
-0013489714 00000 n
-0013489857 00000 n
-0013489994 00000 n
-0013490132 00000 n
-0013490257 00000 n
-0013490384 00000 n
-0013490509 00000 n
-0013490636 00000 n
-0013490760 00000 n
-0013490885 00000 n
-0013491016 00000 n
-0013491148 00000 n
-0013491275 00000 n
-0013491403 00000 n
-0013491536 00000 n
-0013491670 00000 n
-0013491800 00000 n
-0013491932 00000 n
-0013492058 00000 n
-0013492185 00000 n
-0013492312 00000 n
-0013492441 00000 n
-0013492563 00000 n
-0013492687 00000 n
-0013492830 00000 n
-0013492974 00000 n
-0013493096 00000 n
-0013493220 00000 n
-0013493352 00000 n
-0013493486 00000 n
-0013493611 00000 n
-0013493738 00000 n
-0013493859 00000 n
-0013493982 00000 n
-0013494108 00000 n
-0013494236 00000 n
-0013494360 00000 n
-0013494486 00000 n
-0013494614 00000 n
-0013494743 00000 n
-0013494868 00000 n
-0013494994 00000 n
-0013495124 00000 n
-0013495255 00000 n
-0013495395 00000 n
-0013495537 00000 n
-0013495668 00000 n
-0013495800 00000 n
-0013495937 00000 n
-0013496075 00000 n
-0013496206 00000 n
-0013496338 00000 n
-0013496473 00000 n
+0012124471 00000 n
+0012124864 00000 n
+0012124912 00000 n
+0012124960 00000 n
+0012125146 00000 n
+0012128514 00000 n
+0012128894 00000 n
+0012128942 00000 n
+0012129127 00000 n
+0012129515 00000 n
+0012129863 00000 n
+0012129911 00000 n
+0012141833 00000 n
+0012142244 00000 n
+0012142292 00000 n
+0012142469 00000 n
+0012142636 00000 n
+0012142761 00000 n
+0012142809 00000 n
+0012142857 00000 n
+0012156525 00000 n
+0012156933 00000 n
+0012156981 00000 n
+0012157202 00000 n
+0012177373 00000 n
+0012177784 00000 n
+0012177927 00000 n
+0012177974 00000 n
+0012178022 00000 n
+0012178070 00000 n
+0012178239 00000 n
+0012178424 00000 n
+0012204015 00000 n
+0012204413 00000 n
+0012204620 00000 n
+0012204828 00000 n
+0012205035 00000 n
+0012223167 00000 n
+0012223528 00000 n
+0012238220 00000 n
+0012238627 00000 n
+0012238832 00000 n
+0012239037 00000 n
+0012239240 00000 n
+0012239444 00000 n
+0012247816 00000 n
+0012248177 00000 n
+0012256530 00000 n
+0012256928 00000 n
+0012257136 00000 n
+0012257346 00000 n
+0012257555 00000 n
+0012271770 00000 n
+0012272172 00000 n
+0012272368 00000 n
+0012272564 00000 n
+0012289470 00000 n
+0012289877 00000 n
+0012289927 00000 n
+0012290060 00000 n
+0012290110 00000 n
+0012300691 00000 n
+0012301065 00000 n
+0012301113 00000 n
+0012301161 00000 n
+0012312254 00000 n
+0012312692 00000 n
+0012312740 00000 n
+0012313174 00000 n
+0012313222 00000 n
+0012313350 00000 n
+0012313536 00000 n
+0012313707 00000 n
+0012313832 00000 n
+0012313959 00000 n
+0012314087 00000 n
+0012314135 00000 n
+0012326061 00000 n
+0012326544 00000 n
+0012326593 00000 n
+0012326721 00000 n
+0012326770 00000 n
+0012326896 00000 n
+0012327026 00000 n
+0012327075 00000 n
+0012327200 00000 n
+0012327324 00000 n
+0012327458 00000 n
+0012327592 00000 n
+0012327727 00000 n
+0012327850 00000 n
+0012327986 00000 n
+0012328116 00000 n
+0012333691 00000 n
+0012334121 00000 n
+0012334169 00000 n
+0012334292 00000 n
+0012334340 00000 n
+0012334466 00000 n
+0012334586 00000 n
+0012334634 00000 n
+0012334760 00000 n
+0012334882 00000 n
+0012334930 00000 n
+0012335051 00000 n
+0012335175 00000 n
+0012335223 00000 n
+0012335347 00000 n
+0012343341 00000 n
+0012343702 00000 n
+0012343750 00000 n
+0012343799 00000 n
+0012343848 00000 n
+0012365012 00000 n
+0012365386 00000 n
+0012402786 00000 n
+0012403134 00000 n
+0012440658 00000 n
+0012441006 00000 n
+0012473571 00000 n
+0012473919 00000 n
+0012504547 00000 n
+0012504895 00000 n
+0012516099 00000 n
+0012516537 00000 n
+0012516585 00000 n
+0012516734 00000 n
+0012516931 00000 n
+0012517066 00000 n
+0012517203 00000 n
+0012517342 00000 n
+0012517484 00000 n
+0012522870 00000 n
+0012523272 00000 n
+0012563929 00000 n
+0012591692 00000 n
+0012599554 00000 n
+0012599929 00000 n
+0012645970 00000 n
+0012646019 00000 n
+0012664130 00000 n
+0012664536 00000 n
+0012664719 00000 n
+0012664766 00000 n
+0012698331 00000 n
+0012698705 00000 n
+0012730316 00000 n
+0012730727 00000 n
+0012730920 00000 n
+0012731111 00000 n
+0012731322 00000 n
+0012731370 00000 n
+0012731418 00000 n
+0012746193 00000 n
+0012746609 00000 n
+0012746804 00000 n
+0012746940 00000 n
+0012746989 00000 n
+0012747197 00000 n
+0012747339 00000 n
+0012747388 00000 n
+0012747524 00000 n
+0012747573 00000 n
+0012759435 00000 n
+0012759850 00000 n
+0012759982 00000 n
+0012760124 00000 n
+0012760172 00000 n
+0012760221 00000 n
+0012760270 00000 n
+0012772682 00000 n
+0012773056 00000 n
+0012773105 00000 n
+0012784124 00000 n
+0012784498 00000 n
+0012784547 00000 n
+0012787409 00000 n
+0012787770 00000 n
+0012789099 00000 n
+0012789475 00000 n
+0012789523 00000 n
+0012789571 00000 n
+0012789740 00000 n
+0012789788 00000 n
+0012789970 00000 n
+0012792926 00000 n
+0012793320 00000 n
+0012793368 00000 n
+0012793553 00000 n
+0012793746 00000 n
+0012793923 00000 n
+0012794099 00000 n
+0012801302 00000 n
+0012801677 00000 n
+0012801725 00000 n
+0012801773 00000 n
+0012801821 00000 n
+0012827708 00000 n
+0012832271 00000 n
+0012832320 00000 n
+0012832369 00000 n
+0012832418 00000 n
+0012840124 00000 n
+0012840472 00000 n
+0012840520 00000 n
+0012887288 00000 n
+0012893928 00000 n
+0012894303 00000 n
+0012894352 00000 n
+0012904280 00000 n
+0012904641 00000 n
+0012904689 00000 n
+0012904737 00000 n
+0012917281 00000 n
+0012917642 00000 n
+0012917690 00000 n
+0012931444 00000 n
+0012931805 00000 n
+0012931853 00000 n
+0012932430 00000 n
+0012932478 00000 n
+0012932526 00000 n
+0012950459 00000 n
+0012950807 00000 n
+0012950855 00000 n
+0012963286 00000 n
+0012963729 00000 n
+0012963777 00000 n
+0012964189 00000 n
+0012964237 00000 n
+0012964377 00000 n
+0012964504 00000 n
+0012964654 00000 n
+0012964791 00000 n
+0012964839 00000 n
+0012964971 00000 n
+0012965018 00000 n
+0012965143 00000 n
+0012965191 00000 n
+0012965319 00000 n
+0012965533 00000 n
+0012975572 00000 n
+0012975952 00000 n
+0012976000 00000 n
+0012976136 00000 n
+0012983544 00000 n
+0012984041 00000 n
+0012984089 00000 n
+0012984137 00000 n
+0012984308 00000 n
+0012984480 00000 n
+0012984736 00000 n
+0012984785 00000 n
+0012985034 00000 n
+0012985262 00000 n
+0012985506 00000 n
+0012985555 00000 n
+0012985748 00000 n
+0012985958 00000 n
+0012986171 00000 n
+0012986220 00000 n
+0012986412 00000 n
+0012986645 00000 n
+0012986830 00000 n
+0012986879 00000 n
+0012987072 00000 n
+0012987121 00000 n
+0012987553 00000 n
+0012987747 00000 n
+0012989733 00000 n
+0012990100 00000 n
+0012990148 00000 n
+0012990342 00000 n
+0012993716 00000 n
+0012994092 00000 n
+0012994140 00000 n
+0012994188 00000 n
+0012994372 00000 n
+0012994420 00000 n
+0012994614 00000 n
+0012998230 00000 n
+0012998669 00000 n
+0012998717 00000 n
+0013002977 00000 n
+0013003507 00000 n
+0013003701 00000 n
+0013003885 00000 n
+0013004078 00000 n
+0013004275 00000 n
+0013004470 00000 n
+0013004656 00000 n
+0013028234 00000 n
+0013028663 00000 n
+0013028711 00000 n
+0013028892 00000 n
+0013029087 00000 n
+0013029282 00000 n
+0013029330 00000 n
+0013029509 00000 n
+0013029756 00000 n
+0013038394 00000 n
+0013038774 00000 n
+0013038957 00000 n
+0013068820 00000 n
+0013069194 00000 n
+0013069242 00000 n
+0013089970 00000 n
+0013090331 00000 n
+0013090379 00000 n
+0013100427 00000 n
+0013100848 00000 n
+0013100896 00000 n
+0013101470 00000 n
+0013101664 00000 n
+0013101885 00000 n
+0013102102 00000 n
+0013102318 00000 n
+0013102549 00000 n
+0013102597 00000 n
+0013102645 00000 n
+0013102693 00000 n
+0013102924 00000 n
+0013103157 00000 n
+0013103205 00000 n
+0013103253 00000 n
+0013117162 00000 n
+0013117549 00000 n
+0013117598 00000 n
+0013117647 00000 n
+0013117696 00000 n
+0013125666 00000 n
+0013126027 00000 n
+0013126076 00000 n
+0013126125 00000 n
+0013126174 00000 n
+0013126223 00000 n
+0013126272 00000 n
+0013138025 00000 n
+0013138412 00000 n
+0013138461 00000 n
+0013139061 00000 n
+0013139409 00000 n
+0013139457 00000 n
+0013152009 00000 n
+0013152372 00000 n
+0013152420 00000 n
+0013152468 00000 n
+0013152516 00000 n
+0013152564 00000 n
+0013152612 00000 n
+0013168210 00000 n
+0013168573 00000 n
+0013168621 00000 n
+0013168669 00000 n
+0013168717 00000 n
+0013183529 00000 n
+0013183892 00000 n
+0013183940 00000 n
+0013183988 00000 n
+0013200654 00000 n
+0013200989 00000 n
+0013215013 00000 n
+0013215376 00000 n
+0013215424 00000 n
+0013215472 00000 n
+0013215520 00000 n
+0013215568 00000 n
+0013228523 00000 n
+0013228886 00000 n
+0013228934 00000 n
+0013228982 00000 n
+0013229030 00000 n
+0013229078 00000 n
+0013229126 00000 n
+0013246184 00000 n
+0013246547 00000 n
+0013246595 00000 n
+0013246643 00000 n
+0013246691 00000 n
+0013246739 00000 n
+0013246787 00000 n
+0013247202 00000 n
+0013269214 00000 n
+0013269577 00000 n
+0013269625 00000 n
+0013269673 00000 n
+0013285092 00000 n
+0013285440 00000 n
+0013285488 00000 n
+0013285536 00000 n
+0013285584 00000 n
+0013298655 00000 n
+0013299003 00000 n
+0013299051 00000 n
+0013299099 00000 n
+0013299147 00000 n
+0013317912 00000 n
+0013318275 00000 n
+0013318323 00000 n
+0013318371 00000 n
+0013318419 00000 n
+0013333392 00000 n
+0013333755 00000 n
+0013333803 00000 n
+0013334246 00000 n
+0013334294 00000 n
+0013334342 00000 n
+0013334390 00000 n
+0013348284 00000 n
+0013348647 00000 n
+0013348695 00000 n
+0013348743 00000 n
+0013348791 00000 n
+0013348839 00000 n
+0013348887 00000 n
+0013364750 00000 n
+0013365113 00000 n
+0013365161 00000 n
+0013365209 00000 n
+0013365830 00000 n
+0013365878 00000 n
+0013365926 00000 n
+0013381196 00000 n
+0013381559 00000 n
+0013381607 00000 n
+0013381655 00000 n
+0013381703 00000 n
+0013381751 00000 n
+0013381799 00000 n
+0013381847 00000 n
+0013382379 00000 n
+0013396780 00000 n
+0013397143 00000 n
+0013397191 00000 n
+0013397239 00000 n
+0013397843 00000 n
+0013398032 00000 n
+0013398080 00000 n
+0013398128 00000 n
+0013398176 00000 n
+0013418014 00000 n
+0013418377 00000 n
+0013418425 00000 n
+0013418473 00000 n
+0013430838 00000 n
+0013431201 00000 n
+0013431249 00000 n
+0013431297 00000 n
+0013431345 00000 n
+0013431393 00000 n
+0013431441 00000 n
+0013431489 00000 n
+0013431537 00000 n
+0013444240 00000 n
+0013444603 00000 n
+0013444651 00000 n
+0013445000 00000 n
+0013445048 00000 n
+0013445448 00000 n
+0013445496 00000 n
+0013445544 00000 n
+0013445592 00000 n
+0013446230 00000 n
+0013460612 00000 n
+0013460975 00000 n
+0013461023 00000 n
+0013461071 00000 n
+0013461119 00000 n
+0013461167 00000 n
+0013469106 00000 n
+0013469454 00000 n
+0013469573 00000 n
+0013469695 00000 n
+0013469824 00000 n
+0013469954 00000 n
+0013470079 00000 n
+0013470206 00000 n
+0013470329 00000 n
+0013470454 00000 n
+0013470581 00000 n
+0013470708 00000 n
+0013470841 00000 n
+0013470974 00000 n
+0013471106 00000 n
+0013471239 00000 n
+0013471367 00000 n
+0013471496 00000 n
+0013471617 00000 n
+0013471738 00000 n
+0013471864 00000 n
+0013471990 00000 n
+0013472118 00000 n
+0013472246 00000 n
+0013472384 00000 n
+0013472522 00000 n
+0013472646 00000 n
+0013472770 00000 n
+0013472893 00000 n
+0013473016 00000 n
+0013473146 00000 n
+0013473276 00000 n
+0013473397 00000 n
+0013473519 00000 n
+0013473646 00000 n
+0013473773 00000 n
+0013473891 00000 n
+0013474011 00000 n
+0013474134 00000 n
+0013474258 00000 n
+0013474413 00000 n
+0013474569 00000 n
+0013474708 00000 n
+0013474849 00000 n
+0013475008 00000 n
+0013475168 00000 n
+0013475312 00000 n
+0013475458 00000 n
+0013475621 00000 n
+0013475785 00000 n
+0013475911 00000 n
+0013476038 00000 n
+0013476160 00000 n
+0013476284 00000 n
+0013476412 00000 n
+0013476542 00000 n
+0013476669 00000 n
+0013476797 00000 n
+0013476919 00000 n
+0013477043 00000 n
+0013477162 00000 n
+0013477282 00000 n
+0013477395 00000 n
+0013477513 00000 n
+0013477639 00000 n
+0013477766 00000 n
+0013477884 00000 n
+0013478004 00000 n
+0013478139 00000 n
+0013478275 00000 n
+0013478397 00000 n
+0013478520 00000 n
+0013478641 00000 n
+0013478763 00000 n
+0013478892 00000 n
+0013479023 00000 n
+0013479140 00000 n
+0013479258 00000 n
+0013479376 00000 n
+0013479495 00000 n
+0013479615 00000 n
+0013479736 00000 n
+0013479864 00000 n
+0013479994 00000 n
+0013480135 00000 n
+0013480277 00000 n
+0013480424 00000 n
+0013480573 00000 n
+0013480700 00000 n
+0013480828 00000 n
+0013480955 00000 n
+0013481083 00000 n
+0013481212 00000 n
+0013481342 00000 n
+0013481475 00000 n
+0013481609 00000 n
+0013481735 00000 n
+0013481862 00000 n
+0013481979 00000 n
+0013482097 00000 n
+0013482226 00000 n
+0013482356 00000 n
+0013482486 00000 n
+0013482618 00000 n
+0013482743 00000 n
+0013482869 00000 n
+0013483001 00000 n
+0013483134 00000 n
+0013483258 00000 n
+0013483383 00000 n
+0013483509 00000 n
+0013483637 00000 n
+0013483760 00000 n
+0013483884 00000 n
+0013484023 00000 n
+0013484163 00000 n
+0013484298 00000 n
+0013484435 00000 n
+0013484577 00000 n
+0013484720 00000 n
+0013484884 00000 n
+0013485049 00000 n
+0013485205 00000 n
+0013485362 00000 n
+0013485494 00000 n
+0013485627 00000 n
+0013485749 00000 n
+0013485872 00000 n
+0013486002 00000 n
+0013486134 00000 n
+0013486271 00000 n
+0013486409 00000 n
+0013486539 00000 n
+0013486670 00000 n
+0013486792 00000 n
+0013486916 00000 n
+0013487038 00000 n
+0013487161 00000 n
+0013487313 00000 n
+0013487466 00000 n
+0013487602 00000 n
+0013487739 00000 n
+0013487879 00000 n
+0013488020 00000 n
+0013488166 00000 n
+0013488313 00000 n
+0013488464 00000 n
+0013488616 00000 n
+0013488758 00000 n
+0013488901 00000 n
+0013489038 00000 n
+0013489176 00000 n
+0013489301 00000 n
+0013489428 00000 n
+0013489553 00000 n
+0013489680 00000 n
+0013489804 00000 n
+0013489929 00000 n
+0013490060 00000 n
+0013490192 00000 n
+0013490319 00000 n
+0013490447 00000 n
+0013490580 00000 n
+0013490714 00000 n
+0013490844 00000 n
+0013490976 00000 n
+0013491102 00000 n
+0013491229 00000 n
+0013491356 00000 n
+0013491485 00000 n
+0013491607 00000 n
+0013491731 00000 n
+0013491874 00000 n
+0013492018 00000 n
+0013492140 00000 n
+0013492264 00000 n
+0013492396 00000 n
+0013492530 00000 n
+0013492655 00000 n
+0013492782 00000 n
+0013492903 00000 n
+0013493026 00000 n
+0013493152 00000 n
+0013493280 00000 n
+0013493404 00000 n
+0013493530 00000 n
+0013493658 00000 n
+0013493787 00000 n
+0013493912 00000 n
+0013494038 00000 n
+0013494168 00000 n
+0013494299 00000 n
+0013494439 00000 n
+0013494581 00000 n
+0013494712 00000 n
+0013494844 00000 n
+0013494981 00000 n
+0013495119 00000 n
+0013495250 00000 n
+0013495382 00000 n
+0013495517 00000 n
+0013495653 00000 n
+0013495783 00000 n
+0013495914 00000 n
+0013496048 00000 n
+0013496183 00000 n
+0013496325 00000 n
+0013496468 00000 n
0013496609 00000 n
-0013496739 00000 n
-0013496870 00000 n
-0013497004 00000 n
-0013497139 00000 n
-0013497281 00000 n
-0013497424 00000 n
-0013497565 00000 n
-0013497707 00000 n
-0013497835 00000 n
-0013497964 00000 n
-0013498093 00000 n
-0013498223 00000 n
-0013498349 00000 n
-0013498476 00000 n
-0013498595 00000 n
-0013498716 00000 n
-0013498855 00000 n
-0013498995 00000 n
-0013499119 00000 n
-0013499244 00000 n
-0013499366 00000 n
-0013499489 00000 n
-0013499615 00000 n
-0013499743 00000 n
-0013499861 00000 n
-0013499980 00000 n
-0013500099 00000 n
-0013500220 00000 n
-0013500334 00000 n
-0013500450 00000 n
-0013500567 00000 n
-0013500685 00000 n
-0013500804 00000 n
-0013500924 00000 n
-0013501042 00000 n
-0013501162 00000 n
-0013501279 00000 n
-0013501398 00000 n
-0013501531 00000 n
-0013501666 00000 n
-0013501784 00000 n
-0013501904 00000 n
-0013502029 00000 n
-0013502155 00000 n
-0013502284 00000 n
-0013502414 00000 n
-0013502537 00000 n
-0013502661 00000 n
-0013502794 00000 n
-0013502928 00000 n
-0013503044 00000 n
-0013503161 00000 n
-0013503294 00000 n
-0013503429 00000 n
-0013503563 00000 n
-0013503699 00000 n
-0013503823 00000 n
-0013503948 00000 n
-0013504071 00000 n
-0013504196 00000 n
-0013504348 00000 n
-0013504501 00000 n
-0013504644 00000 n
-0013504788 00000 n
-0013504913 00000 n
-0013505039 00000 n
-0013505160 00000 n
-0013505282 00000 n
-0013505408 00000 n
-0013505535 00000 n
-0013505652 00000 n
-0013505770 00000 n
-0013505903 00000 n
-0013506037 00000 n
-0013506165 00000 n
-0013506294 00000 n
-0013506418 00000 n
-0013506544 00000 n
-0013506670 00000 n
-0013506797 00000 n
-0013506922 00000 n
-0013507049 00000 n
-0013507175 00000 n
-0013507302 00000 n
-0013507429 00000 n
-0013507557 00000 n
-0013507680 00000 n
-0013507804 00000 n
-0013507925 00000 n
-0013508048 00000 n
-0013508183 00000 n
-0013508319 00000 n
-0013508447 00000 n
-0013508576 00000 n
-0013508696 00000 n
-0013508819 00000 n
-0013508945 00000 n
-0013509072 00000 n
-0013509200 00000 n
-0013509330 00000 n
-0013509448 00000 n
-0013509568 00000 n
-0013509683 00000 n
-0013509800 00000 n
-0013509918 00000 n
-0013510038 00000 n
-0013510158 00000 n
-0013510280 00000 n
-0013510409 00000 n
-0013510539 00000 n
-0013510664 00000 n
-0013510790 00000 n
-0013510921 00000 n
-0013511053 00000 n
-0013511180 00000 n
-0013511308 00000 n
-0013511433 00000 n
-0013511561 00000 n
-0013511689 00000 n
-0013511819 00000 n
-0013511946 00000 n
-0013512075 00000 n
-0013512204 00000 n
-0013512334 00000 n
-0013512458 00000 n
-0013512583 00000 n
-0013512710 00000 n
-0013512839 00000 n
-0013512970 00000 n
-0013513102 00000 n
-0013513226 00000 n
-0013513352 00000 n
-0013513482 00000 n
-0013513613 00000 n
-0013513740 00000 n
-0013513869 00000 n
-0013513996 00000 n
-0013514124 00000 n
-0013514255 00000 n
-0013514387 00000 n
-0013514515 00000 n
-0013514644 00000 n
-0013514790 00000 n
-0013514937 00000 n
-0013515061 00000 n
-0013515186 00000 n
-0013515311 00000 n
-0013515437 00000 n
-0013515571 00000 n
-0013515706 00000 n
-0013515837 00000 n
-0013515970 00000 n
-0013516104 00000 n
-0013516240 00000 n
-0013516361 00000 n
-0013516483 00000 n
-0013516602 00000 n
-0013516722 00000 n
-0013516849 00000 n
-0013516977 00000 n
-0013517105 00000 n
-0013517235 00000 n
-0013517362 00000 n
-0013517490 00000 n
-0013517617 00000 n
-0013517746 00000 n
-0013517878 00000 n
-0013518012 00000 n
-0013518172 00000 n
-0013518333 00000 n
-0013518456 00000 n
-0013518581 00000 n
-0013518707 00000 n
-0013518835 00000 n
-0013518964 00000 n
-0013519094 00000 n
-0013519220 00000 n
-0013519347 00000 n
-0013519473 00000 n
-0013519600 00000 n
-0013519720 00000 n
-0013519842 00000 n
-0013519966 00000 n
-0013520091 00000 n
-0013520214 00000 n
-0013520338 00000 n
-0013520467 00000 n
-0013520598 00000 n
-0013520717 00000 n
-0013520837 00000 n
-0013520954 00000 n
-0013521073 00000 n
-0013521192 00000 n
-0013521312 00000 n
-0013521434 00000 n
-0013521558 00000 n
-0013521687 00000 n
-0013521817 00000 n
-0013521955 00000 n
-0013522095 00000 n
-0013522220 00000 n
-0013522346 00000 n
-0013522467 00000 n
-0013522635 00000 n
-0013522758 00000 n
-0013522880 00000 n
-0013523005 00000 n
-0013523131 00000 n
-0013523255 00000 n
-0013523380 00000 n
-0013523504 00000 n
-0013523629 00000 n
-0013523747 00000 n
-0013523867 00000 n
-0013523987 00000 n
-0013524109 00000 n
-0013524229 00000 n
-0013524350 00000 n
-0013524510 00000 n
-0013524671 00000 n
-0013524792 00000 n
-0013524915 00000 n
-0013525039 00000 n
-0013525164 00000 n
-0013525281 00000 n
-0013525477 00000 n
-0013525597 00000 n
-0013525715 00000 n
-0013525839 00000 n
-0013525964 00000 n
-0013526090 00000 n
-0013526218 00000 n
-0013526347 00000 n
-0013526479 00000 n
-0013526599 00000 n
-0013526720 00000 n
-0013526857 00000 n
-0013526995 00000 n
-0013527115 00000 n
-0013527237 00000 n
-0013527365 00000 n
-0013527495 00000 n
-0013527619 00000 n
-0013527744 00000 n
-0013527862 00000 n
-0013527981 00000 n
-0013528107 00000 n
-0013528234 00000 n
-0013528358 00000 n
-0013528483 00000 n
-0013528614 00000 n
-0013528746 00000 n
-0013528863 00000 n
-0013528982 00000 n
-0013529102 00000 n
-0013529224 00000 n
-0013529358 00000 n
-0013529493 00000 n
-0013529617 00000 n
-0013529743 00000 n
-0013529864 00000 n
-0013529986 00000 n
-0013530109 00000 n
-0013530233 00000 n
-0013530380 00000 n
-0013530528 00000 n
-0013530654 00000 n
-0013530781 00000 n
-0013530903 00000 n
-0013531027 00000 n
-0013531149 00000 n
-0013531273 00000 n
-0013531402 00000 n
-0013531532 00000 n
-0013531669 00000 n
-0013531807 00000 n
-0013531928 00000 n
-0013532051 00000 n
-0013532202 00000 n
-0013532355 00000 n
-0013532472 00000 n
-0013532590 00000 n
-0013532723 00000 n
-0013532857 00000 n
-0013532980 00000 n
-0013533105 00000 n
-0013533220 00000 n
-0013533336 00000 n
-0013533452 00000 n
-0013533569 00000 n
-0013533697 00000 n
-0013533826 00000 n
-0013533949 00000 n
-0013534074 00000 n
-0013534200 00000 n
-0013534328 00000 n
-0013534445 00000 n
-0013534563 00000 n
-0013534680 00000 n
-0013534799 00000 n
-0013534920 00000 n
-0013535042 00000 n
-0013535184 00000 n
-0013535327 00000 n
-0013535461 00000 n
-0013535596 00000 n
-0013535718 00000 n
-0013535842 00000 n
-0013536000 00000 n
-0013536159 00000 n
-0013536303 00000 n
-0013536448 00000 n
-0013536720 00000 n
-0013536992 00000 n
-0013537074 00000 n
-0013537306 00000 n
-0013537466 00000 n
-0013537622 00000 n
-0013537841 00000 n
-0013538046 00000 n
-0013538323 00000 n
-0013538587 00000 n
-0013538821 00000 n
-0013539070 00000 n
-0013539415 00000 n
-0013539748 00000 n
-0013540005 00000 n
-0013540266 00000 n
-0013540551 00000 n
-0013540797 00000 n
-0013540993 00000 n
-0013541307 00000 n
-0013541516 00000 n
-0013541730 00000 n
-0013541978 00000 n
-0013542216 00000 n
-0013542557 00000 n
-0013542834 00000 n
-0013543191 00000 n
-0013543492 00000 n
-0013543865 00000 n
-0013544075 00000 n
-0013544276 00000 n
-0013544498 00000 n
-0013544727 00000 n
-0013544940 00000 n
-0013545137 00000 n
-0013545326 00000 n
-0013545555 00000 n
-0013545752 00000 n
-0013546013 00000 n
-0013546222 00000 n
-0013546439 00000 n
-0013546676 00000 n
-0013546873 00000 n
-0013547051 00000 n
-0013547303 00000 n
-0013547525 00000 n
-0013547795 00000 n
-0013548093 00000 n
-0013548384 00000 n
-0013548614 00000 n
-0013548864 00000 n
-0013549118 00000 n
-0013549316 00000 n
-0013549566 00000 n
-0013549828 00000 n
-0013550178 00000 n
-0013550400 00000 n
-0013550682 00000 n
-0013551056 00000 n
-0013551271 00000 n
-0013551509 00000 n
-0013551812 00000 n
-0013552078 00000 n
-0013552368 00000 n
-0013552746 00000 n
-0013553092 00000 n
-0013553342 00000 n
-0013553592 00000 n
-0013553866 00000 n
-0013554232 00000 n
-0013554494 00000 n
-0013554693 00000 n
-0013554938 00000 n
-0013555261 00000 n
-0013555651 00000 n
-0013555973 00000 n
-0013556287 00000 n
-0013556613 00000 n
-0013556903 00000 n
-0013557186 00000 n
-0013557396 00000 n
-0013557591 00000 n
-0013557825 00000 n
-0013558027 00000 n
-0013558293 00000 n
-0013558495 00000 n
-0013558721 00000 n
-0013558927 00000 n
-0013559153 00000 n
-0013559347 00000 n
-0013559685 00000 n
-0013559984 00000 n
-0013560225 00000 n
-0013560420 00000 n
-0013560615 00000 n
-0013560849 00000 n
-0013561044 00000 n
-0013561266 00000 n
-0013561476 00000 n
-0013561774 00000 n
-0013562060 00000 n
-0013562362 00000 n
-0013562612 00000 n
-0013562846 00000 n
-0013563248 00000 n
-0013563518 00000 n
-0013563900 00000 n
-0013564202 00000 n
-0013564448 00000 n
-0013564791 00000 n
-0013565044 00000 n
-0013565247 00000 n
-0013565449 00000 n
-0013565712 00000 n
-0013565941 00000 n
-0013566121 00000 n
-0013566386 00000 n
-0013566565 00000 n
-0013566767 00000 n
-0013567045 00000 n
-0013567387 00000 n
-0013567589 00000 n
-0013567780 00000 n
-0013568061 00000 n
-0013568273 00000 n
-0013568494 00000 n
-0013568705 00000 n
-0013568947 00000 n
-0013569165 00000 n
-0013569408 00000 n
-0013569669 00000 n
-0013569916 00000 n
-0013570182 00000 n
-0013570444 00000 n
-0013570658 00000 n
-0013570992 00000 n
-0013571275 00000 n
-0013571561 00000 n
-0013571792 00000 n
-0013572002 00000 n
-0013572200 00000 n
-0013572462 00000 n
-0013572680 00000 n
-0013572914 00000 n
+0013496751 00000 n
+0013496879 00000 n
+0013497008 00000 n
+0013497137 00000 n
+0013497267 00000 n
+0013497393 00000 n
+0013497520 00000 n
+0013497639 00000 n
+0013497760 00000 n
+0013497899 00000 n
+0013498039 00000 n
+0013498163 00000 n
+0013498288 00000 n
+0013498410 00000 n
+0013498533 00000 n
+0013498659 00000 n
+0013498787 00000 n
+0013498905 00000 n
+0013499024 00000 n
+0013499143 00000 n
+0013499264 00000 n
+0013499378 00000 n
+0013499494 00000 n
+0013499611 00000 n
+0013499729 00000 n
+0013499848 00000 n
+0013499968 00000 n
+0013500086 00000 n
+0013500206 00000 n
+0013500323 00000 n
+0013500442 00000 n
+0013500575 00000 n
+0013500710 00000 n
+0013500828 00000 n
+0013500948 00000 n
+0013501073 00000 n
+0013501199 00000 n
+0013501328 00000 n
+0013501458 00000 n
+0013501581 00000 n
+0013501705 00000 n
+0013501838 00000 n
+0013501972 00000 n
+0013502088 00000 n
+0013502205 00000 n
+0013502338 00000 n
+0013502473 00000 n
+0013502607 00000 n
+0013502743 00000 n
+0013502867 00000 n
+0013502992 00000 n
+0013503115 00000 n
+0013503240 00000 n
+0013503392 00000 n
+0013503545 00000 n
+0013503688 00000 n
+0013503832 00000 n
+0013503957 00000 n
+0013504083 00000 n
+0013504204 00000 n
+0013504326 00000 n
+0013504452 00000 n
+0013504579 00000 n
+0013504696 00000 n
+0013504814 00000 n
+0013504947 00000 n
+0013505081 00000 n
+0013505209 00000 n
+0013505338 00000 n
+0013505462 00000 n
+0013505588 00000 n
+0013505714 00000 n
+0013505841 00000 n
+0013505966 00000 n
+0013506093 00000 n
+0013506219 00000 n
+0013506346 00000 n
+0013506473 00000 n
+0013506601 00000 n
+0013506724 00000 n
+0013506848 00000 n
+0013506969 00000 n
+0013507092 00000 n
+0013507227 00000 n
+0013507363 00000 n
+0013507491 00000 n
+0013507620 00000 n
+0013507740 00000 n
+0013507863 00000 n
+0013507989 00000 n
+0013508116 00000 n
+0013508244 00000 n
+0013508374 00000 n
+0013508492 00000 n
+0013508612 00000 n
+0013508727 00000 n
+0013508844 00000 n
+0013508962 00000 n
+0013509082 00000 n
+0013509202 00000 n
+0013509324 00000 n
+0013509453 00000 n
+0013509583 00000 n
+0013509708 00000 n
+0013509834 00000 n
+0013509965 00000 n
+0013510097 00000 n
+0013510224 00000 n
+0013510352 00000 n
+0013510477 00000 n
+0013510605 00000 n
+0013510733 00000 n
+0013510863 00000 n
+0013510990 00000 n
+0013511119 00000 n
+0013511248 00000 n
+0013511378 00000 n
+0013511502 00000 n
+0013511627 00000 n
+0013511754 00000 n
+0013511883 00000 n
+0013512014 00000 n
+0013512146 00000 n
+0013512270 00000 n
+0013512396 00000 n
+0013512526 00000 n
+0013512657 00000 n
+0013512784 00000 n
+0013512913 00000 n
+0013513040 00000 n
+0013513168 00000 n
+0013513299 00000 n
+0013513431 00000 n
+0013513559 00000 n
+0013513688 00000 n
+0013513834 00000 n
+0013513981 00000 n
+0013514105 00000 n
+0013514230 00000 n
+0013514355 00000 n
+0013514481 00000 n
+0013514615 00000 n
+0013514750 00000 n
+0013514881 00000 n
+0013515014 00000 n
+0013515148 00000 n
+0013515284 00000 n
+0013515405 00000 n
+0013515527 00000 n
+0013515646 00000 n
+0013515766 00000 n
+0013515893 00000 n
+0013516021 00000 n
+0013516149 00000 n
+0013516279 00000 n
+0013516406 00000 n
+0013516534 00000 n
+0013516661 00000 n
+0013516790 00000 n
+0013516922 00000 n
+0013517056 00000 n
+0013517216 00000 n
+0013517377 00000 n
+0013517500 00000 n
+0013517625 00000 n
+0013517751 00000 n
+0013517879 00000 n
+0013518008 00000 n
+0013518138 00000 n
+0013518264 00000 n
+0013518391 00000 n
+0013518517 00000 n
+0013518644 00000 n
+0013518764 00000 n
+0013518886 00000 n
+0013519010 00000 n
+0013519135 00000 n
+0013519258 00000 n
+0013519382 00000 n
+0013519511 00000 n
+0013519642 00000 n
+0013519761 00000 n
+0013519881 00000 n
+0013519998 00000 n
+0013520117 00000 n
+0013520236 00000 n
+0013520356 00000 n
+0013520478 00000 n
+0013520602 00000 n
+0013520731 00000 n
+0013520861 00000 n
+0013520999 00000 n
+0013521139 00000 n
+0013521264 00000 n
+0013521390 00000 n
+0013521511 00000 n
+0013521679 00000 n
+0013521802 00000 n
+0013521924 00000 n
+0013522049 00000 n
+0013522175 00000 n
+0013522299 00000 n
+0013522424 00000 n
+0013522548 00000 n
+0013522673 00000 n
+0013522791 00000 n
+0013522911 00000 n
+0013523031 00000 n
+0013523153 00000 n
+0013523273 00000 n
+0013523394 00000 n
+0013523554 00000 n
+0013523715 00000 n
+0013523836 00000 n
+0013523959 00000 n
+0013524083 00000 n
+0013524208 00000 n
+0013524325 00000 n
+0013524521 00000 n
+0013524641 00000 n
+0013524759 00000 n
+0013524883 00000 n
+0013525008 00000 n
+0013525134 00000 n
+0013525262 00000 n
+0013525391 00000 n
+0013525523 00000 n
+0013525643 00000 n
+0013525764 00000 n
+0013525901 00000 n
+0013526039 00000 n
+0013526159 00000 n
+0013526281 00000 n
+0013526409 00000 n
+0013526539 00000 n
+0013526663 00000 n
+0013526788 00000 n
+0013526906 00000 n
+0013527025 00000 n
+0013527151 00000 n
+0013527278 00000 n
+0013527402 00000 n
+0013527527 00000 n
+0013527658 00000 n
+0013527790 00000 n
+0013527907 00000 n
+0013528026 00000 n
+0013528146 00000 n
+0013528268 00000 n
+0013528402 00000 n
+0013528537 00000 n
+0013528661 00000 n
+0013528787 00000 n
+0013528908 00000 n
+0013529030 00000 n
+0013529153 00000 n
+0013529277 00000 n
+0013529424 00000 n
+0013529572 00000 n
+0013529698 00000 n
+0013529825 00000 n
+0013529947 00000 n
+0013530071 00000 n
+0013530193 00000 n
+0013530317 00000 n
+0013530446 00000 n
+0013530576 00000 n
+0013530713 00000 n
+0013530851 00000 n
+0013530972 00000 n
+0013531095 00000 n
+0013531246 00000 n
+0013531399 00000 n
+0013531516 00000 n
+0013531634 00000 n
+0013531767 00000 n
+0013531901 00000 n
+0013532024 00000 n
+0013532149 00000 n
+0013532264 00000 n
+0013532380 00000 n
+0013532496 00000 n
+0013532613 00000 n
+0013532741 00000 n
+0013532870 00000 n
+0013532993 00000 n
+0013533118 00000 n
+0013533244 00000 n
+0013533372 00000 n
+0013533489 00000 n
+0013533607 00000 n
+0013533724 00000 n
+0013533843 00000 n
+0013533964 00000 n
+0013534086 00000 n
+0013534228 00000 n
+0013534371 00000 n
+0013534505 00000 n
+0013534640 00000 n
+0013534762 00000 n
+0013534886 00000 n
+0013535044 00000 n
+0013535203 00000 n
+0013535347 00000 n
+0013535492 00000 n
+0013535764 00000 n
+0013536036 00000 n
+0013536118 00000 n
+0013536350 00000 n
+0013536510 00000 n
+0013536666 00000 n
+0013536885 00000 n
+0013537090 00000 n
+0013537367 00000 n
+0013537631 00000 n
+0013537865 00000 n
+0013538114 00000 n
+0013538459 00000 n
+0013538792 00000 n
+0013539049 00000 n
+0013539310 00000 n
+0013539595 00000 n
+0013539841 00000 n
+0013540037 00000 n
+0013540351 00000 n
+0013540560 00000 n
+0013540774 00000 n
+0013541022 00000 n
+0013541260 00000 n
+0013541601 00000 n
+0013541878 00000 n
+0013542235 00000 n
+0013542536 00000 n
+0013542909 00000 n
+0013543119 00000 n
+0013543320 00000 n
+0013543542 00000 n
+0013543771 00000 n
+0013543984 00000 n
+0013544181 00000 n
+0013544370 00000 n
+0013544599 00000 n
+0013544796 00000 n
+0013545057 00000 n
+0013545266 00000 n
+0013545483 00000 n
+0013545720 00000 n
+0013545917 00000 n
+0013546095 00000 n
+0013546347 00000 n
+0013546569 00000 n
+0013546839 00000 n
+0013547137 00000 n
+0013547428 00000 n
+0013547658 00000 n
+0013547908 00000 n
+0013548162 00000 n
+0013548360 00000 n
+0013548610 00000 n
+0013548872 00000 n
+0013549222 00000 n
+0013549444 00000 n
+0013549726 00000 n
+0013550100 00000 n
+0013550315 00000 n
+0013550553 00000 n
+0013550856 00000 n
+0013551122 00000 n
+0013551412 00000 n
+0013551790 00000 n
+0013552136 00000 n
+0013552386 00000 n
+0013552636 00000 n
+0013552910 00000 n
+0013553276 00000 n
+0013553538 00000 n
+0013553737 00000 n
+0013553982 00000 n
+0013554305 00000 n
+0013554695 00000 n
+0013555017 00000 n
+0013555331 00000 n
+0013555657 00000 n
+0013555947 00000 n
+0013556230 00000 n
+0013556440 00000 n
+0013556635 00000 n
+0013556869 00000 n
+0013557071 00000 n
+0013557337 00000 n
+0013557539 00000 n
+0013557765 00000 n
+0013557971 00000 n
+0013558197 00000 n
+0013558391 00000 n
+0013558729 00000 n
+0013559028 00000 n
+0013559269 00000 n
+0013559464 00000 n
+0013559659 00000 n
+0013559893 00000 n
+0013560088 00000 n
+0013560310 00000 n
+0013560520 00000 n
+0013560818 00000 n
+0013561104 00000 n
+0013561406 00000 n
+0013561656 00000 n
+0013561890 00000 n
+0013562292 00000 n
+0013562562 00000 n
+0013562944 00000 n
+0013563246 00000 n
+0013563492 00000 n
+0013563835 00000 n
+0013564088 00000 n
+0013564291 00000 n
+0013564493 00000 n
+0013564756 00000 n
+0013564985 00000 n
+0013565165 00000 n
+0013565430 00000 n
+0013565609 00000 n
+0013565811 00000 n
+0013566089 00000 n
+0013566431 00000 n
+0013566633 00000 n
+0013566824 00000 n
+0013567105 00000 n
+0013567317 00000 n
+0013567538 00000 n
+0013567749 00000 n
+0013567991 00000 n
+0013568209 00000 n
+0013568452 00000 n
+0013568713 00000 n
+0013568960 00000 n
+0013569226 00000 n
+0013569488 00000 n
+0013569702 00000 n
+0013570036 00000 n
+0013570319 00000 n
+0013570605 00000 n
+0013570836 00000 n
+0013571046 00000 n
+0013571244 00000 n
+0013571506 00000 n
+0013571724 00000 n
+0013571958 00000 n
+0013572228 00000 n
+0013572474 00000 n
+0013572728 00000 n
+0013572986 00000 n
0013573184 00000 n
-0013573430 00000 n
-0013573684 00000 n
-0013573942 00000 n
-0013574140 00000 n
-0013574362 00000 n
-0013574668 00000 n
-0013574883 00000 n
-0013575108 00000 n
-0013575315 00000 n
-0013575549 00000 n
-0013575751 00000 n
-0013575941 00000 n
-0013576128 00000 n
-0013576458 00000 n
-0013576697 00000 n
-0013576895 00000 n
-0013577113 00000 n
-0013577315 00000 n
-0013577521 00000 n
-0013577739 00000 n
-0013577953 00000 n
-0013578163 00000 n
-0013578393 00000 n
-0013578599 00000 n
-0013578817 00000 n
-0013579039 00000 n
-0013579345 00000 n
-0013579583 00000 n
-0013579897 00000 n
-0013580127 00000 n
-0013580397 00000 n
-0013580707 00000 n
-0013580914 00000 n
-0013581175 00000 n
-0013581374 00000 n
-0013581608 00000 n
-0013581883 00000 n
-0013582185 00000 n
-0013582452 00000 n
-0013582702 00000 n
-0013582944 00000 n
-0013583178 00000 n
-0013583424 00000 n
-0013583682 00000 n
-0013584048 00000 n
-0013584278 00000 n
-0013584520 00000 n
-0013584898 00000 n
-0013585220 00000 n
-0013585450 00000 n
-0013585716 00000 n
-0013585951 00000 n
-0013586257 00000 n
-0013586488 00000 n
-0013586770 00000 n
-0013586968 00000 n
-0013587234 00000 n
-0013587504 00000 n
-0013587798 00000 n
-0013588056 00000 n
-0013588382 00000 n
-0013588664 00000 n
-0013588866 00000 n
-0013589113 00000 n
-0013589398 00000 n
-0013589585 00000 n
-0013589795 00000 n
-0013590001 00000 n
-0013590352 00000 n
-0013590581 00000 n
-0013590765 00000 n
-0013591078 00000 n
-0013591285 00000 n
-0013591519 00000 n
-0013591769 00000 n
-0013591975 00000 n
-0013592249 00000 n
-0013592459 00000 n
-0013592701 00000 n
-0013592908 00000 n
-0013593169 00000 n
-0013593376 00000 n
-0013593598 00000 n
-0013593848 00000 n
-0013594038 00000 n
-0013594248 00000 n
-0013594510 00000 n
-0013594736 00000 n
-0013594923 00000 n
-0013595120 00000 n
-0013595419 00000 n
-0013595722 00000 n
-0013595919 00000 n
-0013596122 00000 n
-0013596364 00000 n
-0013596615 00000 n
-0013596794 00000 n
-0013597073 00000 n
-0013597263 00000 n
-0013597525 00000 n
-0013597879 00000 n
-0013598113 00000 n
-0013598307 00000 n
-0013598533 00000 n
-0013598827 00000 n
-0013599057 00000 n
-0013599395 00000 n
-0013599641 00000 n
-0013599967 00000 n
-0013600229 00000 n
-0013600507 00000 n
-0013600773 00000 n
-0013601127 00000 n
-0013601414 00000 n
-0013616441 00000 n
-0013626960 00000 n
-0013627178 00000 n
-0013628542 00000 n
-0013629579 00000 n
-0013638830 00000 n
-0013639053 00000 n
-0013640417 00000 n
-0013641472 00000 n
-0013649912 00000 n
-0013650140 00000 n
-0013651504 00000 n
-0013652555 00000 n
-0013658743 00000 n
-0013658959 00000 n
-0013660323 00000 n
-0013661368 00000 n
-0013663146 00000 n
-0013663364 00000 n
-0013663707 00000 n
-0013664841 00000 n
-0013666574 00000 n
-0013666785 00000 n
-0013667120 00000 n
-0013668037 00000 n
-0013670880 00000 n
-0013671093 00000 n
-0013672457 00000 n
-0013673570 00000 n
-0013675214 00000 n
-0013675434 00000 n
-0013676798 00000 n
-0013677931 00000 n
-0013679540 00000 n
-0013679760 00000 n
-0013680086 00000 n
-0013681224 00000 n
-0013683829 00000 n
-0013684044 00000 n
-0013685408 00000 n
-0013686524 00000 n
-0013691389 00000 n
-0013691621 00000 n
-0013692985 00000 n
-0013694093 00000 n
-0013695383 00000 n
-0013695606 00000 n
-0013695922 00000 n
-0013697059 00000 n
-0013698244 00000 n
-0013698472 00000 n
-0013698776 00000 n
+0013573406 00000 n
+0013573712 00000 n
+0013573927 00000 n
+0013574152 00000 n
+0013574359 00000 n
+0013574593 00000 n
+0013574795 00000 n
+0013574985 00000 n
+0013575172 00000 n
+0013575502 00000 n
+0013575741 00000 n
+0013575939 00000 n
+0013576157 00000 n
+0013576359 00000 n
+0013576565 00000 n
+0013576783 00000 n
+0013576997 00000 n
+0013577207 00000 n
+0013577437 00000 n
+0013577643 00000 n
+0013577861 00000 n
+0013578083 00000 n
+0013578389 00000 n
+0013578627 00000 n
+0013578941 00000 n
+0013579171 00000 n
+0013579441 00000 n
+0013579751 00000 n
+0013579958 00000 n
+0013580219 00000 n
+0013580418 00000 n
+0013580652 00000 n
+0013580927 00000 n
+0013581229 00000 n
+0013581496 00000 n
+0013581746 00000 n
+0013581988 00000 n
+0013582222 00000 n
+0013582468 00000 n
+0013582726 00000 n
+0013583092 00000 n
+0013583322 00000 n
+0013583564 00000 n
+0013583942 00000 n
+0013584264 00000 n
+0013584494 00000 n
+0013584760 00000 n
+0013584995 00000 n
+0013585301 00000 n
+0013585532 00000 n
+0013585814 00000 n
+0013586012 00000 n
+0013586278 00000 n
+0013586548 00000 n
+0013586842 00000 n
+0013587100 00000 n
+0013587426 00000 n
+0013587708 00000 n
+0013587910 00000 n
+0013588157 00000 n
+0013588442 00000 n
+0013588629 00000 n
+0013588839 00000 n
+0013589045 00000 n
+0013589396 00000 n
+0013589625 00000 n
+0013589809 00000 n
+0013590122 00000 n
+0013590329 00000 n
+0013590563 00000 n
+0013590813 00000 n
+0013591019 00000 n
+0013591293 00000 n
+0013591503 00000 n
+0013591745 00000 n
+0013591952 00000 n
+0013592213 00000 n
+0013592420 00000 n
+0013592642 00000 n
+0013592892 00000 n
+0013593082 00000 n
+0013593292 00000 n
+0013593554 00000 n
+0013593780 00000 n
+0013593967 00000 n
+0013594164 00000 n
+0013594463 00000 n
+0013594766 00000 n
+0013594963 00000 n
+0013595166 00000 n
+0013595408 00000 n
+0013595659 00000 n
+0013595838 00000 n
+0013596117 00000 n
+0013596307 00000 n
+0013596569 00000 n
+0013596923 00000 n
+0013597157 00000 n
+0013597351 00000 n
+0013597577 00000 n
+0013597871 00000 n
+0013598101 00000 n
+0013598439 00000 n
+0013598685 00000 n
+0013599011 00000 n
+0013599273 00000 n
+0013599551 00000 n
+0013599817 00000 n
+0013600171 00000 n
+0013600458 00000 n
+0013615485 00000 n
+0013626004 00000 n
+0013626222 00000 n
+0013627586 00000 n
+0013628623 00000 n
+0013637874 00000 n
+0013638097 00000 n
+0013639461 00000 n
+0013640516 00000 n
+0013648956 00000 n
+0013649184 00000 n
+0013650548 00000 n
+0013651599 00000 n
+0013657787 00000 n
+0013658003 00000 n
+0013659367 00000 n
+0013660412 00000 n
+0013662190 00000 n
+0013662408 00000 n
+0013662751 00000 n
+0013663885 00000 n
+0013665618 00000 n
+0013665829 00000 n
+0013666164 00000 n
+0013667081 00000 n
+0013669924 00000 n
+0013670137 00000 n
+0013671501 00000 n
+0013672614 00000 n
+0013674258 00000 n
+0013674478 00000 n
+0013675842 00000 n
+0013676975 00000 n
+0013678584 00000 n
+0013678804 00000 n
+0013679130 00000 n
+0013680268 00000 n
+0013682873 00000 n
+0013683088 00000 n
+0013684452 00000 n
+0013685568 00000 n
+0013690433 00000 n
+0013690665 00000 n
+0013692029 00000 n
+0013693137 00000 n
+0013694427 00000 n
+0013694650 00000 n
+0013694966 00000 n
+0013696103 00000 n
+0013697288 00000 n
+0013697516 00000 n
+0013697820 00000 n
trailer
<< /Size 5428
/Root 2 0 R
/Info 1 0 R
>>
startxref
-13699914
+13698958
%%EOF
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.html b/apidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
index bd9ae69..226c4c0 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.44">QuotaRetriever</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.45">QuotaRetriever</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>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>></pre>
<div class="block">Scanner to iterate over the quota settings.</div>
@@ -196,7 +196,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.87">close</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.88">close</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -214,7 +214,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.102">next</a>()
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.103">next</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -228,7 +228,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>iterator</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.114">iterator</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.120">iterator</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> [...]
@@ -241,7 +241,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>open</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.157">open</a>(org.apache.hadoop.conf.Configuration conf)
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.163">open</a>(org.apache.hadoop.conf.Configuration conf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Open a QuotaRetriever with no filter, all the quota settings will be returned.</div>
<dl>
@@ -260,7 +260,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockListLast">
<li class="blockList">
<h4>open</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.168">open</a>(org.apache.hadoop.conf.Configuration conf,
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.174">open</a>(org.apache.hadoop.conf.Configuration conf,
<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a> filter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Open a QuotaRetriever with the specified filter.</div>
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
index de3e50a..65851fe 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
@@ -34,153 +34,159 @@
<span class="sourceLineNo">026</span>import java.util.Queue;<a name="line.26"></a>
<span class="sourceLineNo">027</span><a name="line.27"></a>
<span class="sourceLineNo">028</span>import org.apache.hadoop.conf.Configuration;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.slf4j.Logger;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.slf4j.LoggerFactory;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.Result;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.Table;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.util.StringUtils;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Scanner to iterate over the quota settings.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>@InterfaceAudience.Public<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class QuotaRetriever implements Closeable, Iterable<QuotaSettings> {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Logger LOG = LoggerFactory.getLogger(QuotaRetriever.class);<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span> private final Queue<QuotaSettings> cache = new LinkedList<>();<a name="line.47"></a>
-<span class="sourceLineNo">048</span> private ResultScanner scanner;<a name="line.48"></a>
-<span class="sourceLineNo">049</span> /**<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * Connection to use.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * Could pass one in and have this class use it but this class wants to be standalone.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> */<a name="line.52"></a>
-<span class="sourceLineNo">053</span> private Connection connection;<a name="line.53"></a>
-<span class="sourceLineNo">054</span> private Table table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span> /**<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Should QutoaRetriever manage the state of the connection, or leave it be.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> */<a name="line.58"></a>
-<span class="sourceLineNo">059</span> private boolean isManagedConnection = false;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span> QuotaRetriever() {<a name="line.61"></a>
-<span class="sourceLineNo">062</span> }<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span> void init(final Configuration conf, final Scan scan) throws IOException {<a name="line.64"></a>
-<span class="sourceLineNo">065</span> // Set this before creating the connection and passing it down to make sure<a name="line.65"></a>
-<span class="sourceLineNo">066</span> // it's cleaned up if we fail to construct the Scanner.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> this.isManagedConnection = true;<a name="line.67"></a>
-<span class="sourceLineNo">068</span> init(ConnectionFactory.createConnection(conf), scan);<a name="line.68"></a>
-<span class="sourceLineNo">069</span> }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span> void init(final Connection conn, final Scan scan) throws IOException {<a name="line.71"></a>
-<span class="sourceLineNo">072</span> this.connection = Objects.requireNonNull(conn);<a name="line.72"></a>
-<span class="sourceLineNo">073</span> this.table = this.connection.getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.73"></a>
-<span class="sourceLineNo">074</span> try {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> scanner = table.getScanner(scan);<a name="line.75"></a>
-<span class="sourceLineNo">076</span> } catch (IOException e) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span> try {<a name="line.77"></a>
-<span class="sourceLineNo">078</span> close();<a name="line.78"></a>
-<span class="sourceLineNo">079</span> } catch (IOException ioe) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span> LOG.warn("Failed getting scanner and then failed close on cleanup", e);<a name="line.80"></a>
-<span class="sourceLineNo">081</span> }<a name="line.81"></a>
-<span class="sourceLineNo">082</span> throw e;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> }<a name="line.83"></a>
-<span class="sourceLineNo">084</span> }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span> @Override<a name="line.86"></a>
-<span class="sourceLineNo">087</span> public void close() throws IOException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> if (this.table != null) {<a name="line.88"></a>
-<span class="sourceLineNo">089</span> this.table.close();<a name="line.89"></a>
-<span class="sourceLineNo">090</span> this.table = null;<a name="line.90"></a>
-<span class="sourceLineNo">091</span> }<a name="line.91"></a>
-<span class="sourceLineNo">092</span> // Null out the connection on close() even if we didn't explicitly close it<a name="line.92"></a>
-<span class="sourceLineNo">093</span> // to maintain typical semantics.<a name="line.93"></a>
-<span class="sourceLineNo">094</span> if (isManagedConnection) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span> if (this.connection != null) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span> this.connection.close();<a name="line.96"></a>
-<span class="sourceLineNo">097</span> }<a name="line.97"></a>
-<span class="sourceLineNo">098</span> }<a name="line.98"></a>
-<span class="sourceLineNo">099</span> this.connection = null;<a name="line.99"></a>
-<span class="sourceLineNo">100</span> }<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span> public QuotaSettings next() throws IOException {<a name="line.102"></a>
-<span class="sourceLineNo">103</span> if (cache.isEmpty()) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span> Result result = scanner.next();<a name="line.104"></a>
-<span class="sourceLineNo">105</span> if (result == null) {<a name="line.105"></a>
-<span class="sourceLineNo">106</span> return null;<a name="line.106"></a>
-<span class="sourceLineNo">107</span> }<a name="line.107"></a>
-<span class="sourceLineNo">108</span> QuotaTableUtil.parseResultToCollection(result, cache);<a name="line.108"></a>
-<span class="sourceLineNo">109</span> }<a name="line.109"></a>
-<span class="sourceLineNo">110</span> return cache.poll();<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> @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public Iterator<QuotaSettings> iterator() {<a name="line.114"></a>
-<span class="sourceLineNo">115</span> return new Iter();<a name="line.115"></a>
-<span class="sourceLineNo">116</span> }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span> private class Iter implements Iterator<QuotaSettings> {<a name="line.118"></a>
-<span class="sourceLineNo">119</span> QuotaSettings cache;<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span> public Iter() {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> try {<a name="line.122"></a>
-<span class="sourceLineNo">123</span> cache = QuotaRetriever.this.next();<a name="line.123"></a>
-<span class="sourceLineNo">124</span> } catch (IOException e) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.125"></a>
-<span class="sourceLineNo">126</span> }<a name="line.126"></a>
-<span class="sourceLineNo">127</span> }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span> @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span> public boolean hasNext() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span> return cache != null;<a name="line.131"></a>
-<span class="sourceLineNo">132</span> }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span> @Override<a name="line.134"></a>
-<span class="sourceLineNo">135</span> public QuotaSettings next() {<a name="line.135"></a>
-<span class="sourceLineNo">136</span> QuotaSettings result = cache;<a name="line.136"></a>
-<span class="sourceLineNo">137</span> try {<a name="line.137"></a>
-<span class="sourceLineNo">138</span> cache = QuotaRetriever.this.next();<a name="line.138"></a>
-<span class="sourceLineNo">139</span> } catch (IOException e) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.140"></a>
-<span class="sourceLineNo">141</span> }<a name="line.141"></a>
-<span class="sourceLineNo">142</span> return result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span> }<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span> @Override<a name="line.145"></a>
-<span class="sourceLineNo">146</span> public void remove() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span> throw new RuntimeException("remove() not supported");<a name="line.147"></a>
-<span class="sourceLineNo">148</span> }<a name="line.148"></a>
-<span class="sourceLineNo">149</span> }<a name="line.149"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.slf4j.Logger;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.slf4j.LoggerFactory;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.Result;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.Table;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.util.StringUtils;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * Scanner to iterate over the quota settings.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceAudience.Public<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class QuotaRetriever implements Closeable, Iterable<QuotaSettings> {<a name="line.45"></a>
+<span class="sourceLineNo">046</span> private static final Logger LOG = LoggerFactory.getLogger(QuotaRetriever.class);<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span> private final Queue<QuotaSettings> cache = new LinkedList<>();<a name="line.48"></a>
+<span class="sourceLineNo">049</span> private ResultScanner scanner;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> /**<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * Connection to use.<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Could pass one in and have this class use it but this class wants to be standalone.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> */<a name="line.53"></a>
+<span class="sourceLineNo">054</span> private Connection connection;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> private Table table;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span> /**<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Should QutoaRetriever manage the state of the connection, or leave it be.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> */<a name="line.59"></a>
+<span class="sourceLineNo">060</span> private boolean isManagedConnection = false;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span> QuotaRetriever() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span> }<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span> void init(final Configuration conf, final Scan scan) throws IOException {<a name="line.65"></a>
+<span class="sourceLineNo">066</span> // Set this before creating the connection and passing it down to make sure<a name="line.66"></a>
+<span class="sourceLineNo">067</span> // it's cleaned up if we fail to construct the Scanner.<a name="line.67"></a>
+<span class="sourceLineNo">068</span> this.isManagedConnection = true;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> init(ConnectionFactory.createConnection(conf), scan);<a name="line.69"></a>
+<span class="sourceLineNo">070</span> }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> void init(final Connection conn, final Scan scan) throws IOException {<a name="line.72"></a>
+<span class="sourceLineNo">073</span> this.connection = Objects.requireNonNull(conn);<a name="line.73"></a>
+<span class="sourceLineNo">074</span> this.table = this.connection.getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.74"></a>
+<span class="sourceLineNo">075</span> try {<a name="line.75"></a>
+<span class="sourceLineNo">076</span> scanner = table.getScanner(scan);<a name="line.76"></a>
+<span class="sourceLineNo">077</span> } catch (IOException e) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span> try {<a name="line.78"></a>
+<span class="sourceLineNo">079</span> close();<a name="line.79"></a>
+<span class="sourceLineNo">080</span> } catch (IOException ioe) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span> LOG.warn("Failed getting scanner and then failed close on cleanup", e);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> }<a name="line.82"></a>
+<span class="sourceLineNo">083</span> throw e;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> }<a name="line.84"></a>
+<span class="sourceLineNo">085</span> }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span> @Override<a name="line.87"></a>
+<span class="sourceLineNo">088</span> public void close() throws IOException {<a name="line.88"></a>
+<span class="sourceLineNo">089</span> if (this.table != null) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span> this.table.close();<a name="line.90"></a>
+<span class="sourceLineNo">091</span> this.table = null;<a name="line.91"></a>
+<span class="sourceLineNo">092</span> }<a name="line.92"></a>
+<span class="sourceLineNo">093</span> // Null out the connection on close() even if we didn't explicitly close it<a name="line.93"></a>
+<span class="sourceLineNo">094</span> // to maintain typical semantics.<a name="line.94"></a>
+<span class="sourceLineNo">095</span> if (isManagedConnection) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span> if (this.connection != null) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> this.connection.close();<a name="line.97"></a>
+<span class="sourceLineNo">098</span> }<a name="line.98"></a>
+<span class="sourceLineNo">099</span> }<a name="line.99"></a>
+<span class="sourceLineNo">100</span> this.connection = null;<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> public QuotaSettings next() throws IOException {<a name="line.103"></a>
+<span class="sourceLineNo">104</span> if (cache.isEmpty()) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span> Result result = scanner.next();<a name="line.105"></a>
+<span class="sourceLineNo">106</span> // Skip exceedThrottleQuota row key because this is not a QuotaSettings<a name="line.106"></a>
+<span class="sourceLineNo">107</span> if (result != null<a name="line.107"></a>
+<span class="sourceLineNo">108</span> && Bytes.equals(result.getRow(), QuotaTableUtil.getExceedThrottleQuotaRowKey())) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span> result = scanner.next();<a name="line.109"></a>
+<span class="sourceLineNo">110</span> }<a name="line.110"></a>
+<span class="sourceLineNo">111</span> if (result == null) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span> return null;<a name="line.112"></a>
+<span class="sourceLineNo">113</span> }<a name="line.113"></a>
+<span class="sourceLineNo">114</span> QuotaTableUtil.parseResultToCollection(result, cache);<a name="line.114"></a>
+<span class="sourceLineNo">115</span> }<a name="line.115"></a>
+<span class="sourceLineNo">116</span> return cache.poll();<a name="line.116"></a>
+<span class="sourceLineNo">117</span> }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span> @Override<a name="line.119"></a>
+<span class="sourceLineNo">120</span> public Iterator<QuotaSettings> iterator() {<a name="line.120"></a>
+<span class="sourceLineNo">121</span> return new Iter();<a name="line.121"></a>
+<span class="sourceLineNo">122</span> }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span> private class Iter implements Iterator<QuotaSettings> {<a name="line.124"></a>
+<span class="sourceLineNo">125</span> QuotaSettings cache;<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span> public Iter() {<a name="line.127"></a>
+<span class="sourceLineNo">128</span> try {<a name="line.128"></a>
+<span class="sourceLineNo">129</span> cache = QuotaRetriever.this.next();<a name="line.129"></a>
+<span class="sourceLineNo">130</span> } catch (IOException e) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.131"></a>
+<span class="sourceLineNo">132</span> }<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> @Override<a name="line.135"></a>
+<span class="sourceLineNo">136</span> public boolean hasNext() {<a name="line.136"></a>
+<span class="sourceLineNo">137</span> return cache != null;<a name="line.137"></a>
+<span class="sourceLineNo">138</span> }<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span> @Override<a name="line.140"></a>
+<span class="sourceLineNo">141</span> public QuotaSettings next() {<a name="line.141"></a>
+<span class="sourceLineNo">142</span> QuotaSettings result = cache;<a name="line.142"></a>
+<span class="sourceLineNo">143</span> try {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> cache = QuotaRetriever.this.next();<a name="line.144"></a>
+<span class="sourceLineNo">145</span> } catch (IOException e) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.146"></a>
+<span class="sourceLineNo">147</span> }<a name="line.147"></a>
+<span class="sourceLineNo">148</span> return result;<a name="line.148"></a>
+<span class="sourceLineNo">149</span> }<a name="line.149"></a>
<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span> /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span> * Open a QuotaRetriever with no filter, all the quota settings will be returned.<a name="line.152"></a>
-<span class="sourceLineNo">153</span> * @param conf Configuration object to use.<a name="line.153"></a>
-<span class="sourceLineNo">154</span> * @return the QuotaRetriever<a name="line.154"></a>
-<span class="sourceLineNo">155</span> * @throws IOException if a remote or network exception occurs<a name="line.155"></a>
-<span class="sourceLineNo">156</span> */<a name="line.156"></a>
-<span class="sourceLineNo">157</span> public static QuotaRetriever open(final Configuration conf) throws IOException {<a name="line.157"></a>
-<span class="sourceLineNo">158</span> return open(conf, null);<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> /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span> * Open a QuotaRetriever with the specified filter.<a name="line.162"></a>
-<span class="sourceLineNo">163</span> * @param conf Configuration object to use.<a name="line.163"></a>
-<span class="sourceLineNo">164</span> * @param filter the QuotaFilter<a name="line.164"></a>
-<span class="sourceLineNo">165</span> * @return the QuotaRetriever<a name="line.165"></a>
-<span class="sourceLineNo">166</span> * @throws IOException if a remote or network exception occurs<a name="line.166"></a>
-<span class="sourceLineNo">167</span> */<a name="line.167"></a>
-<span class="sourceLineNo">168</span> public static QuotaRetriever open(final Configuration conf, final QuotaFilter filter)<a name="line.168"></a>
-<span class="sourceLineNo">169</span> throws IOException {<a name="line.169"></a>
-<span class="sourceLineNo">170</span> Scan scan = QuotaTableUtil.makeScan(filter);<a name="line.170"></a>
-<span class="sourceLineNo">171</span> QuotaRetriever scanner = new QuotaRetriever();<a name="line.171"></a>
-<span class="sourceLineNo">172</span> scanner.init(conf, scan);<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return scanner;<a name="line.173"></a>
-<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>}<a name="line.175"></a>
+<span class="sourceLineNo">151</span> @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span> public void remove() {<a name="line.152"></a>
+<span class="sourceLineNo">153</span> throw new RuntimeException("remove() not supported");<a name="line.153"></a>
+<span class="sourceLineNo">154</span> }<a name="line.154"></a>
+<span class="sourceLineNo">155</span> }<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> * Open a QuotaRetriever with no filter, all the quota settings will be returned.<a name="line.158"></a>
+<span class="sourceLineNo">159</span> * @param conf Configuration object to use.<a name="line.159"></a>
+<span class="sourceLineNo">160</span> * @return the QuotaRetriever<a name="line.160"></a>
+<span class="sourceLineNo">161</span> * @throws IOException if a remote or network exception occurs<a name="line.161"></a>
+<span class="sourceLineNo">162</span> */<a name="line.162"></a>
+<span class="sourceLineNo">163</span> public static QuotaRetriever open(final Configuration conf) throws IOException {<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return open(conf, null);<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> /**<a name="line.167"></a>
+<span class="sourceLineNo">168</span> * Open a QuotaRetriever with the specified filter.<a name="line.168"></a>
+<span class="sourceLineNo">169</span> * @param conf Configuration object to use.<a name="line.169"></a>
+<span class="sourceLineNo">170</span> * @param filter the QuotaFilter<a name="line.170"></a>
+<span class="sourceLineNo">171</span> * @return the QuotaRetriever<a name="line.171"></a>
+<span class="sourceLineNo">172</span> * @throws IOException if a remote or network exception occurs<a name="line.172"></a>
+<span class="sourceLineNo">173</span> */<a name="line.173"></a>
+<span class="sourceLineNo">174</span> public static QuotaRetriever open(final Configuration conf, final QuotaFilter filter)<a name="line.174"></a>
+<span class="sourceLineNo">175</span> throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span> Scan scan = QuotaTableUtil.makeScan(filter);<a name="line.176"></a>
+<span class="sourceLineNo">177</span> QuotaRetriever scanner = new QuotaRetriever();<a name="line.177"></a>
+<span class="sourceLineNo">178</span> scanner.init(conf, scan);<a name="line.178"></a>
+<span class="sourceLineNo">179</span> return scanner;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>}<a name="line.181"></a>
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/VersionInfo.html b/apidocs/src-html/org/apache/hadoop/hbase/util/VersionInfo.html
index bc69b0e..52b2865 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/util/VersionInfo.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/util/VersionInfo.html
@@ -143,7 +143,7 @@
<span class="sourceLineNo">135</span><a name="line.135"></a>
<span class="sourceLineNo">136</span> /**<a name="line.136"></a>
<span class="sourceLineNo">137</span> * Returns the version components as String objects<a name="line.137"></a>
-<span class="sourceLineNo">138</span> * Examples: "1.2.3" returns ["1", "2", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]<a name="line.138"></a>
+<span class="sourceLineNo">138</span> * Examples: "1.4.3" returns ["1", "4", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]<a name="line.138"></a>
<span class="sourceLineNo">139</span> * "4.5.6-beta" returns ["4", "5", "6", "-2"], "4.5.6-alpha" returns ["4", "5", "6", "-3"]<a name="line.139"></a>
<span class="sourceLineNo">140</span> * "4.5.6-UNKNOW" returns ["4", "5", "6", "-4"]<a name="line.140"></a>
<span class="sourceLineNo">141</span> * @return the components of the version string<a name="line.141"></a>
diff --git a/book.html b/book.html
index d2f6603..d7ffd47 100644
--- a/book.html
+++ b/book.html
@@ -6604,7 +6604,7 @@ Classes which are defined as <code>IA.Private</code> may be used as parameters o
</div>
<div id="hbase.binary.compatibility" class="paragraph">
<div class="title">Binary Compatibility</div>
-<p>When we say two HBase versions are compatible, we mean that the versions are wire and binary compatible. Compatible HBase versions means that clients can talk to compatible but differently versioned servers. It means too that you can just swap out the jars of one version and replace them with the jars of another, compatible version and all will just work. Unless otherwise specified, HBase point versions are (mostly) binary compatible. You can safely do rolling upgrades between binary [...]
+<p>When we say two HBase versions are compatible, we mean that the versions are wire and binary compatible. Compatible HBase versions means that clients can talk to compatible but differently versioned servers. It means too that you can just swap out the jars of one version and replace them with the jars of another, compatible version and all will just work. Unless otherwise specified, HBase point versions are (mostly) binary compatible. You can safely do rolling upgrades between binary [...]
</div>
</div>
</div>
@@ -6626,7 +6626,7 @@ Classes which are defined as <code>IA.Private</code> may be used as parameters o
</div>
<div id="hbase.rolling.restart" class="paragraph">
<div class="title">Rolling Upgrade Between Versions that are Binary/Wire Compatible</div>
-<p>Unless otherwise specified, HBase minor versions are binary compatible. You can do a <a href="#hbase.rolling.upgrade">Rolling Upgrades</a> between HBase point versions. For example, you can go to 1.2.4 from 1.2.6 by doing a rolling upgrade across the cluster replacing the 1.2.4 binary with a 1.2.6 binary.</p>
+<p>Unless otherwise specified, HBase minor versions are binary compatible. You can do a <a href="#hbase.rolling.upgrade">Rolling Upgrades</a> between HBase point versions. For example, you can go to 1.4.4 from 1.4.6 by doing a rolling upgrade across the cluster replacing the 1.4.4 binary with a 1.4.6 binary.</p>
</div>
<div class="paragraph">
<p>In the minor version-particular sections below, we call out where the versions are wire/protocol compatible and in this case, it is also possible to do a <a href="#hbase.rolling.upgrade">Rolling Upgrades</a>.</p>
@@ -36657,10 +36657,6 @@ End-of-life releases are not included in this list.
</thead>
<tbody>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">1.2</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Sean Busbey</p></td>
-</tr>
-<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">1.3</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Mikhail Antonov</p></td>
</tr>
@@ -41782,7 +41778,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
<div id="footer">
<div id="footer-text">
Version 3.0.0-SNAPSHOT<br>
-Last updated 2019-06-02 21:16:15 UTC
+Last updated 2019-06-03 14:34:03 UTC
</div>
</div>
</body>
diff --git a/bulk-loads.html b/bulk-loads.html
index a13e8e5..fc5c480 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -95,14 +95,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -162,7 +154,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 7425406..f5e9566 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -63546,7 +63538,7 @@
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.client.Connection' import.</td>
-<td>32</td></tr></table></div>
+<td>33</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.quotas.QuotaSettings.java">org/apache/hadoop/hbase/quotas/QuotaSettings.java</h3>
<table border="0" class="table table-striped">
@@ -102171,7 +102163,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 9ba1d08..416cbac 100644
--- a/coc.html
+++ b/coc.html
@@ -95,14 +95,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -231,7 +223,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 e7a4cc4..980892e 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -311,7 +303,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 2a1f31f..c4b2490 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -590,7 +582,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 28410cf..6287f0b 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -184,7 +176,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 40c5af1..b760360 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -894,7 +886,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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/devapidocs/constant-values.html b/devapidocs/constant-values.html
index ba3899d..10c05a9 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3927,7 +3927,7 @@
<!-- -->
</a><code>public 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></code></td>
<td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Sun Jun 2 21:21:42 UTC 2019"</code></td>
+<td class="colLast"><code>"Mon Jun 3 14:41:08 UTC 2019"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 4297b6b..824baf8 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -55284,12 +55284,12 @@
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/VersionInfoUtil.html#getVersionComponents-org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo-">getVersionComponents(HBaseProtos.VersionInfo)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/VersionInfoUtil.html" title="class in org.apache.hadoop.hbase.client">VersionInfoUtil</a></dt>
<dd>
<div class="block">Returns the version components
- Examples: "1.2.3" returns [1, 2, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]</div>
+ Examples: "1.4.3" returns [1, 4, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/VersionInfo.html#getVersionComponents-java.lang.String-">getVersionComponents(String)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/VersionInfo.html" title="class in org.apache.hadoop.hbase.util">VersionInfo</a></dt>
<dd>
<div class="block">Returns the version components as String objects
- Examples: "1.2.3" returns ["1", "2", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]
+ Examples: "1.4.3" returns ["1", "4", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]
"4.5.6-beta" returns ["4", "5", "6", "-2"], "4.5.6-alpha" returns ["4", "5", "6", "-3"]
"4.5.6-UNKNOW" returns ["4", "5", "6", "-4"]</div>
</dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/VersionInfoUtil.html b/devapidocs/org/apache/hadoop/hbase/client/VersionInfoUtil.html
index 671cbc3..009e83f 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/VersionInfoUtil.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/VersionInfoUtil.html
@@ -218,7 +218,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<td class="colFirst"><code>private static <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>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/VersionInfoUtil.html#getVersionComponents-org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo-">getVersionComponents</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo versionInfo)</code>
<div class="block">Returns the version components
- Examples: "1.2.3" returns [1, 2, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]</div>
+ Examples: "1.4.3" returns [1, 4, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]</div>
</td>
</tr>
<tr id="i5" class="rowColor">
@@ -409,7 +409,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<h4>getVersionComponents</h4>
<pre>private static <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/client/VersionInfoUtil.html#line.154">getVersionComponents</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo versionInfo)</pre>
<div class="block">Returns the version components
- Examples: "1.2.3" returns [1, 2, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]</div>
+ Examples: "1.4.3" returns [1, 4, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]</div>
</li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html
index cdc13e5..36d6df2 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.118">QuotaRetriever.Iter</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.124">QuotaRetriever.Iter</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>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>></pre>
</li>
@@ -221,7 +221,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator
<ul class="blockListLast">
<li class="blockList">
<h4>cache</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.119">cache</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.125">cache</a></pre>
</li>
</ul>
</li>
@@ -238,7 +238,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator
<ul class="blockListLast">
<li class="blockList">
<h4>Iter</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.121">Iter</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.127">Iter</a>()</pre>
</li>
</ul>
</li>
@@ -255,7 +255,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator
<ul class="blockList">
<li class="blockList">
<h4>hasNext</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.130">hasNext</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.136">hasNext</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&g [...]
@@ -268,7 +268,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.135">next</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.141">next</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util">next</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>></co [...]
@@ -281,7 +281,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator
<ul class="blockListLast">
<li class="blockList">
<h4>remove</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.146">remove</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#line.152">remove</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>> [...]
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
index 2e0b4b8..5dedf81 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.44">QuotaRetriever</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.45">QuotaRetriever</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>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>></pre>
<div class="block">Scanner to iterate over the quota settings.</div>
@@ -285,7 +285,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.45">LOG</a></pre>
+<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.46">LOG</a></pre>
</li>
</ul>
<a name="cache">
@@ -294,7 +294,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>cache</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.47">cache</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.48">cache</a></pre>
</li>
</ul>
<a name="scanner">
@@ -303,7 +303,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>scanner</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.48">scanner</a></pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.49">scanner</a></pre>
</li>
</ul>
<a name="connection">
@@ -312,7 +312,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>connection</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.53">connection</a></pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.54">connection</a></pre>
<div class="block">Connection to use.
Could pass one in and have this class use it but this class wants to be standalone.</div>
</li>
@@ -323,7 +323,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>table</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.54">table</a></pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.55">table</a></pre>
</li>
</ul>
<a name="isManagedConnection">
@@ -332,7 +332,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockListLast">
<li class="blockList">
<h4>isManagedConnection</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.59">isManagedConnection</a></pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.60">isManagedConnection</a></pre>
<div class="block">Should QutoaRetriever manage the state of the connection, or leave it be.</div>
</li>
</ul>
@@ -350,7 +350,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockListLast">
<li class="blockList">
<h4>QuotaRetriever</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.61">QuotaRetriever</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.62">QuotaRetriever</a>()</pre>
</li>
</ul>
</li>
@@ -367,7 +367,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.64">init</a>(org.apache.hadoop.conf.Configuration conf,
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.65">init</a>(org.apache.hadoop.conf.Configuration conf,
<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -382,7 +382,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.71">init</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a> conn,
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.72">init</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a> conn,
<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -397,7 +397,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.87">close</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.88">close</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -415,7 +415,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.102">next</a>()
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.103">next</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -429,7 +429,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>iterator</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.114">iterator</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.120">iterator</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a> [...]
@@ -442,7 +442,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockList">
<li class="blockList">
<h4>open</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.157">open</a>(org.apache.hadoop.conf.Configuration conf)
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.163">open</a>(org.apache.hadoop.conf.Configuration conf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Open a QuotaRetriever with no filter, all the quota settings will be returned.</div>
<dl>
@@ -461,7 +461,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
<ul class="blockListLast">
<li class="blockList">
<h4>open</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.168">open</a>(org.apache.hadoop.conf.Configuration conf,
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html#line.174">open</a>(org.apache.hadoop.conf.Configuration conf,
<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a> filter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Open a QuotaRetriever with the specified filter.</div>
diff --git a/devapidocs/org/apache/hadoop/hbase/util/VersionInfo.html b/devapidocs/org/apache/hadoop/hbase/util/VersionInfo.html
index d3ee2a2..5302382 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/VersionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/VersionInfo.html
@@ -216,7 +216,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<td class="colFirst"><code>private static <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>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/VersionInfo.html#getVersionComponents-java.lang.String-">getVersionComponents</a></span>(<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> version)</code>
<div class="block">Returns the version components as String objects
- Examples: "1.2.3" returns ["1", "2", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]
+ Examples: "1.4.3" returns ["1", "4", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]
"4.5.6-beta" returns ["4", "5", "6", "-2"], "4.5.6-alpha" returns ["4", "5", "6", "-3"]
"4.5.6-UNKNOW" returns ["4", "5", "6", "-4"]</div>
</td>
@@ -448,7 +448,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<h4>getVersionComponents</h4>
<pre>private static <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/util/VersionInfo.html#line.143">getVersionComponents</a>(<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> version)</pre>
<div class="block">Returns the version components as String objects
- Examples: "1.2.3" returns ["1", "2", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]
+ Examples: "1.4.3" returns ["1", "4", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]
"4.5.6-beta" returns ["4", "5", "6", "-2"], "4.5.6-alpha" returns ["4", "5", "6", "-3"]
"4.5.6-UNKNOW" returns ["4", "5", "6", "-4"]</div>
<dl>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index f24ce6c..e2210e2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -18,7 +18,7 @@
<span class="sourceLineNo">010</span> public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
<span class="sourceLineNo">011</span> public static final String revision = "Unknown";<a name="line.11"></a>
<span class="sourceLineNo">012</span> public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span> public static final String date = "Sun Jun 2 21:21:42 UTC 2019";<a name="line.13"></a>
+<span class="sourceLineNo">013</span> public static final String date = "Mon Jun 3 14:41:08 UTC 2019";<a name="line.13"></a>
<span class="sourceLineNo">014</span> public static final String url = "file:///home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
<span class="sourceLineNo">015</span> public static final String srcChecksum = "(stdin)=";<a name="line.15"></a>
<span class="sourceLineNo">016</span>}<a name="line.16"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/VersionInfoUtil.ServiceCallFunction.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/VersionInfoUtil.ServiceCallFunction.html
index d20f278..429e639 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/VersionInfoUtil.ServiceCallFunction.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/VersionInfoUtil.ServiceCallFunction.html
@@ -156,7 +156,7 @@
<span class="sourceLineNo">148</span><a name="line.148"></a>
<span class="sourceLineNo">149</span> /**<a name="line.149"></a>
<span class="sourceLineNo">150</span> * Returns the version components<a name="line.150"></a>
-<span class="sourceLineNo">151</span> * Examples: "1.2.3" returns [1, 2, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]<a name="line.151"></a>
+<span class="sourceLineNo">151</span> * Examples: "1.4.3" returns [1, 4, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]<a name="line.151"></a>
<span class="sourceLineNo">152</span> * @returns the components of the version string<a name="line.152"></a>
<span class="sourceLineNo">153</span> */<a name="line.153"></a>
<span class="sourceLineNo">154</span> private static String[] getVersionComponents(final HBaseProtos.VersionInfo versionInfo) {<a name="line.154"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/VersionInfoUtil.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/VersionInfoUtil.html
index d20f278..429e639 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/VersionInfoUtil.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/VersionInfoUtil.html
@@ -156,7 +156,7 @@
<span class="sourceLineNo">148</span><a name="line.148"></a>
<span class="sourceLineNo">149</span> /**<a name="line.149"></a>
<span class="sourceLineNo">150</span> * Returns the version components<a name="line.150"></a>
-<span class="sourceLineNo">151</span> * Examples: "1.2.3" returns [1, 2, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]<a name="line.151"></a>
+<span class="sourceLineNo">151</span> * Examples: "1.4.3" returns [1, 4, 3], "4.5.6-SNAPSHOT" returns [4, 5, 6, "SNAPSHOT"]<a name="line.151"></a>
<span class="sourceLineNo">152</span> * @returns the components of the version string<a name="line.152"></a>
<span class="sourceLineNo">153</span> */<a name="line.153"></a>
<span class="sourceLineNo">154</span> private static String[] getVersionComponents(final HBaseProtos.VersionInfo versionInfo) {<a name="line.154"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html
index de3e50a..65851fe 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html
@@ -34,153 +34,159 @@
<span class="sourceLineNo">026</span>import java.util.Queue;<a name="line.26"></a>
<span class="sourceLineNo">027</span><a name="line.27"></a>
<span class="sourceLineNo">028</span>import org.apache.hadoop.conf.Configuration;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.slf4j.Logger;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.slf4j.LoggerFactory;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.Result;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.Table;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.util.StringUtils;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Scanner to iterate over the quota settings.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>@InterfaceAudience.Public<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class QuotaRetriever implements Closeable, Iterable<QuotaSettings> {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Logger LOG = LoggerFactory.getLogger(QuotaRetriever.class);<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span> private final Queue<QuotaSettings> cache = new LinkedList<>();<a name="line.47"></a>
-<span class="sourceLineNo">048</span> private ResultScanner scanner;<a name="line.48"></a>
-<span class="sourceLineNo">049</span> /**<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * Connection to use.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * Could pass one in and have this class use it but this class wants to be standalone.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> */<a name="line.52"></a>
-<span class="sourceLineNo">053</span> private Connection connection;<a name="line.53"></a>
-<span class="sourceLineNo">054</span> private Table table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span> /**<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Should QutoaRetriever manage the state of the connection, or leave it be.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> */<a name="line.58"></a>
-<span class="sourceLineNo">059</span> private boolean isManagedConnection = false;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span> QuotaRetriever() {<a name="line.61"></a>
-<span class="sourceLineNo">062</span> }<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span> void init(final Configuration conf, final Scan scan) throws IOException {<a name="line.64"></a>
-<span class="sourceLineNo">065</span> // Set this before creating the connection and passing it down to make sure<a name="line.65"></a>
-<span class="sourceLineNo">066</span> // it's cleaned up if we fail to construct the Scanner.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> this.isManagedConnection = true;<a name="line.67"></a>
-<span class="sourceLineNo">068</span> init(ConnectionFactory.createConnection(conf), scan);<a name="line.68"></a>
-<span class="sourceLineNo">069</span> }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span> void init(final Connection conn, final Scan scan) throws IOException {<a name="line.71"></a>
-<span class="sourceLineNo">072</span> this.connection = Objects.requireNonNull(conn);<a name="line.72"></a>
-<span class="sourceLineNo">073</span> this.table = this.connection.getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.73"></a>
-<span class="sourceLineNo">074</span> try {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> scanner = table.getScanner(scan);<a name="line.75"></a>
-<span class="sourceLineNo">076</span> } catch (IOException e) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span> try {<a name="line.77"></a>
-<span class="sourceLineNo">078</span> close();<a name="line.78"></a>
-<span class="sourceLineNo">079</span> } catch (IOException ioe) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span> LOG.warn("Failed getting scanner and then failed close on cleanup", e);<a name="line.80"></a>
-<span class="sourceLineNo">081</span> }<a name="line.81"></a>
-<span class="sourceLineNo">082</span> throw e;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> }<a name="line.83"></a>
-<span class="sourceLineNo">084</span> }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span> @Override<a name="line.86"></a>
-<span class="sourceLineNo">087</span> public void close() throws IOException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> if (this.table != null) {<a name="line.88"></a>
-<span class="sourceLineNo">089</span> this.table.close();<a name="line.89"></a>
-<span class="sourceLineNo">090</span> this.table = null;<a name="line.90"></a>
-<span class="sourceLineNo">091</span> }<a name="line.91"></a>
-<span class="sourceLineNo">092</span> // Null out the connection on close() even if we didn't explicitly close it<a name="line.92"></a>
-<span class="sourceLineNo">093</span> // to maintain typical semantics.<a name="line.93"></a>
-<span class="sourceLineNo">094</span> if (isManagedConnection) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span> if (this.connection != null) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span> this.connection.close();<a name="line.96"></a>
-<span class="sourceLineNo">097</span> }<a name="line.97"></a>
-<span class="sourceLineNo">098</span> }<a name="line.98"></a>
-<span class="sourceLineNo">099</span> this.connection = null;<a name="line.99"></a>
-<span class="sourceLineNo">100</span> }<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span> public QuotaSettings next() throws IOException {<a name="line.102"></a>
-<span class="sourceLineNo">103</span> if (cache.isEmpty()) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span> Result result = scanner.next();<a name="line.104"></a>
-<span class="sourceLineNo">105</span> if (result == null) {<a name="line.105"></a>
-<span class="sourceLineNo">106</span> return null;<a name="line.106"></a>
-<span class="sourceLineNo">107</span> }<a name="line.107"></a>
-<span class="sourceLineNo">108</span> QuotaTableUtil.parseResultToCollection(result, cache);<a name="line.108"></a>
-<span class="sourceLineNo">109</span> }<a name="line.109"></a>
-<span class="sourceLineNo">110</span> return cache.poll();<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> @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public Iterator<QuotaSettings> iterator() {<a name="line.114"></a>
-<span class="sourceLineNo">115</span> return new Iter();<a name="line.115"></a>
-<span class="sourceLineNo">116</span> }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span> private class Iter implements Iterator<QuotaSettings> {<a name="line.118"></a>
-<span class="sourceLineNo">119</span> QuotaSettings cache;<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span> public Iter() {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> try {<a name="line.122"></a>
-<span class="sourceLineNo">123</span> cache = QuotaRetriever.this.next();<a name="line.123"></a>
-<span class="sourceLineNo">124</span> } catch (IOException e) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.125"></a>
-<span class="sourceLineNo">126</span> }<a name="line.126"></a>
-<span class="sourceLineNo">127</span> }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span> @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span> public boolean hasNext() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span> return cache != null;<a name="line.131"></a>
-<span class="sourceLineNo">132</span> }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span> @Override<a name="line.134"></a>
-<span class="sourceLineNo">135</span> public QuotaSettings next() {<a name="line.135"></a>
-<span class="sourceLineNo">136</span> QuotaSettings result = cache;<a name="line.136"></a>
-<span class="sourceLineNo">137</span> try {<a name="line.137"></a>
-<span class="sourceLineNo">138</span> cache = QuotaRetriever.this.next();<a name="line.138"></a>
-<span class="sourceLineNo">139</span> } catch (IOException e) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.140"></a>
-<span class="sourceLineNo">141</span> }<a name="line.141"></a>
-<span class="sourceLineNo">142</span> return result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span> }<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span> @Override<a name="line.145"></a>
-<span class="sourceLineNo">146</span> public void remove() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span> throw new RuntimeException("remove() not supported");<a name="line.147"></a>
-<span class="sourceLineNo">148</span> }<a name="line.148"></a>
-<span class="sourceLineNo">149</span> }<a name="line.149"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.slf4j.Logger;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.slf4j.LoggerFactory;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.Result;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.Table;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.util.StringUtils;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * Scanner to iterate over the quota settings.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceAudience.Public<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class QuotaRetriever implements Closeable, Iterable<QuotaSettings> {<a name="line.45"></a>
+<span class="sourceLineNo">046</span> private static final Logger LOG = LoggerFactory.getLogger(QuotaRetriever.class);<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span> private final Queue<QuotaSettings> cache = new LinkedList<>();<a name="line.48"></a>
+<span class="sourceLineNo">049</span> private ResultScanner scanner;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> /**<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * Connection to use.<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Could pass one in and have this class use it but this class wants to be standalone.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> */<a name="line.53"></a>
+<span class="sourceLineNo">054</span> private Connection connection;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> private Table table;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span> /**<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Should QutoaRetriever manage the state of the connection, or leave it be.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> */<a name="line.59"></a>
+<span class="sourceLineNo">060</span> private boolean isManagedConnection = false;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span> QuotaRetriever() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span> }<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span> void init(final Configuration conf, final Scan scan) throws IOException {<a name="line.65"></a>
+<span class="sourceLineNo">066</span> // Set this before creating the connection and passing it down to make sure<a name="line.66"></a>
+<span class="sourceLineNo">067</span> // it's cleaned up if we fail to construct the Scanner.<a name="line.67"></a>
+<span class="sourceLineNo">068</span> this.isManagedConnection = true;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> init(ConnectionFactory.createConnection(conf), scan);<a name="line.69"></a>
+<span class="sourceLineNo">070</span> }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> void init(final Connection conn, final Scan scan) throws IOException {<a name="line.72"></a>
+<span class="sourceLineNo">073</span> this.connection = Objects.requireNonNull(conn);<a name="line.73"></a>
+<span class="sourceLineNo">074</span> this.table = this.connection.getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.74"></a>
+<span class="sourceLineNo">075</span> try {<a name="line.75"></a>
+<span class="sourceLineNo">076</span> scanner = table.getScanner(scan);<a name="line.76"></a>
+<span class="sourceLineNo">077</span> } catch (IOException e) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span> try {<a name="line.78"></a>
+<span class="sourceLineNo">079</span> close();<a name="line.79"></a>
+<span class="sourceLineNo">080</span> } catch (IOException ioe) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span> LOG.warn("Failed getting scanner and then failed close on cleanup", e);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> }<a name="line.82"></a>
+<span class="sourceLineNo">083</span> throw e;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> }<a name="line.84"></a>
+<span class="sourceLineNo">085</span> }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span> @Override<a name="line.87"></a>
+<span class="sourceLineNo">088</span> public void close() throws IOException {<a name="line.88"></a>
+<span class="sourceLineNo">089</span> if (this.table != null) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span> this.table.close();<a name="line.90"></a>
+<span class="sourceLineNo">091</span> this.table = null;<a name="line.91"></a>
+<span class="sourceLineNo">092</span> }<a name="line.92"></a>
+<span class="sourceLineNo">093</span> // Null out the connection on close() even if we didn't explicitly close it<a name="line.93"></a>
+<span class="sourceLineNo">094</span> // to maintain typical semantics.<a name="line.94"></a>
+<span class="sourceLineNo">095</span> if (isManagedConnection) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span> if (this.connection != null) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> this.connection.close();<a name="line.97"></a>
+<span class="sourceLineNo">098</span> }<a name="line.98"></a>
+<span class="sourceLineNo">099</span> }<a name="line.99"></a>
+<span class="sourceLineNo">100</span> this.connection = null;<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> public QuotaSettings next() throws IOException {<a name="line.103"></a>
+<span class="sourceLineNo">104</span> if (cache.isEmpty()) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span> Result result = scanner.next();<a name="line.105"></a>
+<span class="sourceLineNo">106</span> // Skip exceedThrottleQuota row key because this is not a QuotaSettings<a name="line.106"></a>
+<span class="sourceLineNo">107</span> if (result != null<a name="line.107"></a>
+<span class="sourceLineNo">108</span> && Bytes.equals(result.getRow(), QuotaTableUtil.getExceedThrottleQuotaRowKey())) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span> result = scanner.next();<a name="line.109"></a>
+<span class="sourceLineNo">110</span> }<a name="line.110"></a>
+<span class="sourceLineNo">111</span> if (result == null) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span> return null;<a name="line.112"></a>
+<span class="sourceLineNo">113</span> }<a name="line.113"></a>
+<span class="sourceLineNo">114</span> QuotaTableUtil.parseResultToCollection(result, cache);<a name="line.114"></a>
+<span class="sourceLineNo">115</span> }<a name="line.115"></a>
+<span class="sourceLineNo">116</span> return cache.poll();<a name="line.116"></a>
+<span class="sourceLineNo">117</span> }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span> @Override<a name="line.119"></a>
+<span class="sourceLineNo">120</span> public Iterator<QuotaSettings> iterator() {<a name="line.120"></a>
+<span class="sourceLineNo">121</span> return new Iter();<a name="line.121"></a>
+<span class="sourceLineNo">122</span> }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span> private class Iter implements Iterator<QuotaSettings> {<a name="line.124"></a>
+<span class="sourceLineNo">125</span> QuotaSettings cache;<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span> public Iter() {<a name="line.127"></a>
+<span class="sourceLineNo">128</span> try {<a name="line.128"></a>
+<span class="sourceLineNo">129</span> cache = QuotaRetriever.this.next();<a name="line.129"></a>
+<span class="sourceLineNo">130</span> } catch (IOException e) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.131"></a>
+<span class="sourceLineNo">132</span> }<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> @Override<a name="line.135"></a>
+<span class="sourceLineNo">136</span> public boolean hasNext() {<a name="line.136"></a>
+<span class="sourceLineNo">137</span> return cache != null;<a name="line.137"></a>
+<span class="sourceLineNo">138</span> }<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span> @Override<a name="line.140"></a>
+<span class="sourceLineNo">141</span> public QuotaSettings next() {<a name="line.141"></a>
+<span class="sourceLineNo">142</span> QuotaSettings result = cache;<a name="line.142"></a>
+<span class="sourceLineNo">143</span> try {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> cache = QuotaRetriever.this.next();<a name="line.144"></a>
+<span class="sourceLineNo">145</span> } catch (IOException e) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.146"></a>
+<span class="sourceLineNo">147</span> }<a name="line.147"></a>
+<span class="sourceLineNo">148</span> return result;<a name="line.148"></a>
+<span class="sourceLineNo">149</span> }<a name="line.149"></a>
<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span> /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span> * Open a QuotaRetriever with no filter, all the quota settings will be returned.<a name="line.152"></a>
-<span class="sourceLineNo">153</span> * @param conf Configuration object to use.<a name="line.153"></a>
-<span class="sourceLineNo">154</span> * @return the QuotaRetriever<a name="line.154"></a>
-<span class="sourceLineNo">155</span> * @throws IOException if a remote or network exception occurs<a name="line.155"></a>
-<span class="sourceLineNo">156</span> */<a name="line.156"></a>
-<span class="sourceLineNo">157</span> public static QuotaRetriever open(final Configuration conf) throws IOException {<a name="line.157"></a>
-<span class="sourceLineNo">158</span> return open(conf, null);<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> /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span> * Open a QuotaRetriever with the specified filter.<a name="line.162"></a>
-<span class="sourceLineNo">163</span> * @param conf Configuration object to use.<a name="line.163"></a>
-<span class="sourceLineNo">164</span> * @param filter the QuotaFilter<a name="line.164"></a>
-<span class="sourceLineNo">165</span> * @return the QuotaRetriever<a name="line.165"></a>
-<span class="sourceLineNo">166</span> * @throws IOException if a remote or network exception occurs<a name="line.166"></a>
-<span class="sourceLineNo">167</span> */<a name="line.167"></a>
-<span class="sourceLineNo">168</span> public static QuotaRetriever open(final Configuration conf, final QuotaFilter filter)<a name="line.168"></a>
-<span class="sourceLineNo">169</span> throws IOException {<a name="line.169"></a>
-<span class="sourceLineNo">170</span> Scan scan = QuotaTableUtil.makeScan(filter);<a name="line.170"></a>
-<span class="sourceLineNo">171</span> QuotaRetriever scanner = new QuotaRetriever();<a name="line.171"></a>
-<span class="sourceLineNo">172</span> scanner.init(conf, scan);<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return scanner;<a name="line.173"></a>
-<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>}<a name="line.175"></a>
+<span class="sourceLineNo">151</span> @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span> public void remove() {<a name="line.152"></a>
+<span class="sourceLineNo">153</span> throw new RuntimeException("remove() not supported");<a name="line.153"></a>
+<span class="sourceLineNo">154</span> }<a name="line.154"></a>
+<span class="sourceLineNo">155</span> }<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> * Open a QuotaRetriever with no filter, all the quota settings will be returned.<a name="line.158"></a>
+<span class="sourceLineNo">159</span> * @param conf Configuration object to use.<a name="line.159"></a>
+<span class="sourceLineNo">160</span> * @return the QuotaRetriever<a name="line.160"></a>
+<span class="sourceLineNo">161</span> * @throws IOException if a remote or network exception occurs<a name="line.161"></a>
+<span class="sourceLineNo">162</span> */<a name="line.162"></a>
+<span class="sourceLineNo">163</span> public static QuotaRetriever open(final Configuration conf) throws IOException {<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return open(conf, null);<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> /**<a name="line.167"></a>
+<span class="sourceLineNo">168</span> * Open a QuotaRetriever with the specified filter.<a name="line.168"></a>
+<span class="sourceLineNo">169</span> * @param conf Configuration object to use.<a name="line.169"></a>
+<span class="sourceLineNo">170</span> * @param filter the QuotaFilter<a name="line.170"></a>
+<span class="sourceLineNo">171</span> * @return the QuotaRetriever<a name="line.171"></a>
+<span class="sourceLineNo">172</span> * @throws IOException if a remote or network exception occurs<a name="line.172"></a>
+<span class="sourceLineNo">173</span> */<a name="line.173"></a>
+<span class="sourceLineNo">174</span> public static QuotaRetriever open(final Configuration conf, final QuotaFilter filter)<a name="line.174"></a>
+<span class="sourceLineNo">175</span> throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span> Scan scan = QuotaTableUtil.makeScan(filter);<a name="line.176"></a>
+<span class="sourceLineNo">177</span> QuotaRetriever scanner = new QuotaRetriever();<a name="line.177"></a>
+<span class="sourceLineNo">178</span> scanner.init(conf, scan);<a name="line.178"></a>
+<span class="sourceLineNo">179</span> return scanner;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>}<a name="line.181"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
index de3e50a..65851fe 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
@@ -34,153 +34,159 @@
<span class="sourceLineNo">026</span>import java.util.Queue;<a name="line.26"></a>
<span class="sourceLineNo">027</span><a name="line.27"></a>
<span class="sourceLineNo">028</span>import org.apache.hadoop.conf.Configuration;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.slf4j.Logger;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.slf4j.LoggerFactory;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.Result;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.Table;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.util.StringUtils;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Scanner to iterate over the quota settings.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>@InterfaceAudience.Public<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class QuotaRetriever implements Closeable, Iterable<QuotaSettings> {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Logger LOG = LoggerFactory.getLogger(QuotaRetriever.class);<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span> private final Queue<QuotaSettings> cache = new LinkedList<>();<a name="line.47"></a>
-<span class="sourceLineNo">048</span> private ResultScanner scanner;<a name="line.48"></a>
-<span class="sourceLineNo">049</span> /**<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * Connection to use.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * Could pass one in and have this class use it but this class wants to be standalone.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> */<a name="line.52"></a>
-<span class="sourceLineNo">053</span> private Connection connection;<a name="line.53"></a>
-<span class="sourceLineNo">054</span> private Table table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span> /**<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Should QutoaRetriever manage the state of the connection, or leave it be.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> */<a name="line.58"></a>
-<span class="sourceLineNo">059</span> private boolean isManagedConnection = false;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span> QuotaRetriever() {<a name="line.61"></a>
-<span class="sourceLineNo">062</span> }<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span> void init(final Configuration conf, final Scan scan) throws IOException {<a name="line.64"></a>
-<span class="sourceLineNo">065</span> // Set this before creating the connection and passing it down to make sure<a name="line.65"></a>
-<span class="sourceLineNo">066</span> // it's cleaned up if we fail to construct the Scanner.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> this.isManagedConnection = true;<a name="line.67"></a>
-<span class="sourceLineNo">068</span> init(ConnectionFactory.createConnection(conf), scan);<a name="line.68"></a>
-<span class="sourceLineNo">069</span> }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span> void init(final Connection conn, final Scan scan) throws IOException {<a name="line.71"></a>
-<span class="sourceLineNo">072</span> this.connection = Objects.requireNonNull(conn);<a name="line.72"></a>
-<span class="sourceLineNo">073</span> this.table = this.connection.getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.73"></a>
-<span class="sourceLineNo">074</span> try {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> scanner = table.getScanner(scan);<a name="line.75"></a>
-<span class="sourceLineNo">076</span> } catch (IOException e) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span> try {<a name="line.77"></a>
-<span class="sourceLineNo">078</span> close();<a name="line.78"></a>
-<span class="sourceLineNo">079</span> } catch (IOException ioe) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span> LOG.warn("Failed getting scanner and then failed close on cleanup", e);<a name="line.80"></a>
-<span class="sourceLineNo">081</span> }<a name="line.81"></a>
-<span class="sourceLineNo">082</span> throw e;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> }<a name="line.83"></a>
-<span class="sourceLineNo">084</span> }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span> @Override<a name="line.86"></a>
-<span class="sourceLineNo">087</span> public void close() throws IOException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> if (this.table != null) {<a name="line.88"></a>
-<span class="sourceLineNo">089</span> this.table.close();<a name="line.89"></a>
-<span class="sourceLineNo">090</span> this.table = null;<a name="line.90"></a>
-<span class="sourceLineNo">091</span> }<a name="line.91"></a>
-<span class="sourceLineNo">092</span> // Null out the connection on close() even if we didn't explicitly close it<a name="line.92"></a>
-<span class="sourceLineNo">093</span> // to maintain typical semantics.<a name="line.93"></a>
-<span class="sourceLineNo">094</span> if (isManagedConnection) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span> if (this.connection != null) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span> this.connection.close();<a name="line.96"></a>
-<span class="sourceLineNo">097</span> }<a name="line.97"></a>
-<span class="sourceLineNo">098</span> }<a name="line.98"></a>
-<span class="sourceLineNo">099</span> this.connection = null;<a name="line.99"></a>
-<span class="sourceLineNo">100</span> }<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span> public QuotaSettings next() throws IOException {<a name="line.102"></a>
-<span class="sourceLineNo">103</span> if (cache.isEmpty()) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span> Result result = scanner.next();<a name="line.104"></a>
-<span class="sourceLineNo">105</span> if (result == null) {<a name="line.105"></a>
-<span class="sourceLineNo">106</span> return null;<a name="line.106"></a>
-<span class="sourceLineNo">107</span> }<a name="line.107"></a>
-<span class="sourceLineNo">108</span> QuotaTableUtil.parseResultToCollection(result, cache);<a name="line.108"></a>
-<span class="sourceLineNo">109</span> }<a name="line.109"></a>
-<span class="sourceLineNo">110</span> return cache.poll();<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> @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public Iterator<QuotaSettings> iterator() {<a name="line.114"></a>
-<span class="sourceLineNo">115</span> return new Iter();<a name="line.115"></a>
-<span class="sourceLineNo">116</span> }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span> private class Iter implements Iterator<QuotaSettings> {<a name="line.118"></a>
-<span class="sourceLineNo">119</span> QuotaSettings cache;<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span> public Iter() {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> try {<a name="line.122"></a>
-<span class="sourceLineNo">123</span> cache = QuotaRetriever.this.next();<a name="line.123"></a>
-<span class="sourceLineNo">124</span> } catch (IOException e) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.125"></a>
-<span class="sourceLineNo">126</span> }<a name="line.126"></a>
-<span class="sourceLineNo">127</span> }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span> @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span> public boolean hasNext() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span> return cache != null;<a name="line.131"></a>
-<span class="sourceLineNo">132</span> }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span> @Override<a name="line.134"></a>
-<span class="sourceLineNo">135</span> public QuotaSettings next() {<a name="line.135"></a>
-<span class="sourceLineNo">136</span> QuotaSettings result = cache;<a name="line.136"></a>
-<span class="sourceLineNo">137</span> try {<a name="line.137"></a>
-<span class="sourceLineNo">138</span> cache = QuotaRetriever.this.next();<a name="line.138"></a>
-<span class="sourceLineNo">139</span> } catch (IOException e) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.140"></a>
-<span class="sourceLineNo">141</span> }<a name="line.141"></a>
-<span class="sourceLineNo">142</span> return result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span> }<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span> @Override<a name="line.145"></a>
-<span class="sourceLineNo">146</span> public void remove() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span> throw new RuntimeException("remove() not supported");<a name="line.147"></a>
-<span class="sourceLineNo">148</span> }<a name="line.148"></a>
-<span class="sourceLineNo">149</span> }<a name="line.149"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.slf4j.Logger;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.slf4j.LoggerFactory;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.Result;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.Table;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.util.StringUtils;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * Scanner to iterate over the quota settings.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceAudience.Public<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class QuotaRetriever implements Closeable, Iterable<QuotaSettings> {<a name="line.45"></a>
+<span class="sourceLineNo">046</span> private static final Logger LOG = LoggerFactory.getLogger(QuotaRetriever.class);<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span> private final Queue<QuotaSettings> cache = new LinkedList<>();<a name="line.48"></a>
+<span class="sourceLineNo">049</span> private ResultScanner scanner;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> /**<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * Connection to use.<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Could pass one in and have this class use it but this class wants to be standalone.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> */<a name="line.53"></a>
+<span class="sourceLineNo">054</span> private Connection connection;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> private Table table;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span> /**<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Should QutoaRetriever manage the state of the connection, or leave it be.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> */<a name="line.59"></a>
+<span class="sourceLineNo">060</span> private boolean isManagedConnection = false;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span> QuotaRetriever() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span> }<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span> void init(final Configuration conf, final Scan scan) throws IOException {<a name="line.65"></a>
+<span class="sourceLineNo">066</span> // Set this before creating the connection and passing it down to make sure<a name="line.66"></a>
+<span class="sourceLineNo">067</span> // it's cleaned up if we fail to construct the Scanner.<a name="line.67"></a>
+<span class="sourceLineNo">068</span> this.isManagedConnection = true;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> init(ConnectionFactory.createConnection(conf), scan);<a name="line.69"></a>
+<span class="sourceLineNo">070</span> }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> void init(final Connection conn, final Scan scan) throws IOException {<a name="line.72"></a>
+<span class="sourceLineNo">073</span> this.connection = Objects.requireNonNull(conn);<a name="line.73"></a>
+<span class="sourceLineNo">074</span> this.table = this.connection.getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.74"></a>
+<span class="sourceLineNo">075</span> try {<a name="line.75"></a>
+<span class="sourceLineNo">076</span> scanner = table.getScanner(scan);<a name="line.76"></a>
+<span class="sourceLineNo">077</span> } catch (IOException e) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span> try {<a name="line.78"></a>
+<span class="sourceLineNo">079</span> close();<a name="line.79"></a>
+<span class="sourceLineNo">080</span> } catch (IOException ioe) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span> LOG.warn("Failed getting scanner and then failed close on cleanup", e);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> }<a name="line.82"></a>
+<span class="sourceLineNo">083</span> throw e;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> }<a name="line.84"></a>
+<span class="sourceLineNo">085</span> }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span> @Override<a name="line.87"></a>
+<span class="sourceLineNo">088</span> public void close() throws IOException {<a name="line.88"></a>
+<span class="sourceLineNo">089</span> if (this.table != null) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span> this.table.close();<a name="line.90"></a>
+<span class="sourceLineNo">091</span> this.table = null;<a name="line.91"></a>
+<span class="sourceLineNo">092</span> }<a name="line.92"></a>
+<span class="sourceLineNo">093</span> // Null out the connection on close() even if we didn't explicitly close it<a name="line.93"></a>
+<span class="sourceLineNo">094</span> // to maintain typical semantics.<a name="line.94"></a>
+<span class="sourceLineNo">095</span> if (isManagedConnection) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span> if (this.connection != null) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> this.connection.close();<a name="line.97"></a>
+<span class="sourceLineNo">098</span> }<a name="line.98"></a>
+<span class="sourceLineNo">099</span> }<a name="line.99"></a>
+<span class="sourceLineNo">100</span> this.connection = null;<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> public QuotaSettings next() throws IOException {<a name="line.103"></a>
+<span class="sourceLineNo">104</span> if (cache.isEmpty()) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span> Result result = scanner.next();<a name="line.105"></a>
+<span class="sourceLineNo">106</span> // Skip exceedThrottleQuota row key because this is not a QuotaSettings<a name="line.106"></a>
+<span class="sourceLineNo">107</span> if (result != null<a name="line.107"></a>
+<span class="sourceLineNo">108</span> && Bytes.equals(result.getRow(), QuotaTableUtil.getExceedThrottleQuotaRowKey())) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span> result = scanner.next();<a name="line.109"></a>
+<span class="sourceLineNo">110</span> }<a name="line.110"></a>
+<span class="sourceLineNo">111</span> if (result == null) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span> return null;<a name="line.112"></a>
+<span class="sourceLineNo">113</span> }<a name="line.113"></a>
+<span class="sourceLineNo">114</span> QuotaTableUtil.parseResultToCollection(result, cache);<a name="line.114"></a>
+<span class="sourceLineNo">115</span> }<a name="line.115"></a>
+<span class="sourceLineNo">116</span> return cache.poll();<a name="line.116"></a>
+<span class="sourceLineNo">117</span> }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span> @Override<a name="line.119"></a>
+<span class="sourceLineNo">120</span> public Iterator<QuotaSettings> iterator() {<a name="line.120"></a>
+<span class="sourceLineNo">121</span> return new Iter();<a name="line.121"></a>
+<span class="sourceLineNo">122</span> }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span> private class Iter implements Iterator<QuotaSettings> {<a name="line.124"></a>
+<span class="sourceLineNo">125</span> QuotaSettings cache;<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span> public Iter() {<a name="line.127"></a>
+<span class="sourceLineNo">128</span> try {<a name="line.128"></a>
+<span class="sourceLineNo">129</span> cache = QuotaRetriever.this.next();<a name="line.129"></a>
+<span class="sourceLineNo">130</span> } catch (IOException e) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.131"></a>
+<span class="sourceLineNo">132</span> }<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> @Override<a name="line.135"></a>
+<span class="sourceLineNo">136</span> public boolean hasNext() {<a name="line.136"></a>
+<span class="sourceLineNo">137</span> return cache != null;<a name="line.137"></a>
+<span class="sourceLineNo">138</span> }<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span> @Override<a name="line.140"></a>
+<span class="sourceLineNo">141</span> public QuotaSettings next() {<a name="line.141"></a>
+<span class="sourceLineNo">142</span> QuotaSettings result = cache;<a name="line.142"></a>
+<span class="sourceLineNo">143</span> try {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> cache = QuotaRetriever.this.next();<a name="line.144"></a>
+<span class="sourceLineNo">145</span> } catch (IOException e) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span> LOG.warn(StringUtils.stringifyException(e));<a name="line.146"></a>
+<span class="sourceLineNo">147</span> }<a name="line.147"></a>
+<span class="sourceLineNo">148</span> return result;<a name="line.148"></a>
+<span class="sourceLineNo">149</span> }<a name="line.149"></a>
<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span> /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span> * Open a QuotaRetriever with no filter, all the quota settings will be returned.<a name="line.152"></a>
-<span class="sourceLineNo">153</span> * @param conf Configuration object to use.<a name="line.153"></a>
-<span class="sourceLineNo">154</span> * @return the QuotaRetriever<a name="line.154"></a>
-<span class="sourceLineNo">155</span> * @throws IOException if a remote or network exception occurs<a name="line.155"></a>
-<span class="sourceLineNo">156</span> */<a name="line.156"></a>
-<span class="sourceLineNo">157</span> public static QuotaRetriever open(final Configuration conf) throws IOException {<a name="line.157"></a>
-<span class="sourceLineNo">158</span> return open(conf, null);<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> /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span> * Open a QuotaRetriever with the specified filter.<a name="line.162"></a>
-<span class="sourceLineNo">163</span> * @param conf Configuration object to use.<a name="line.163"></a>
-<span class="sourceLineNo">164</span> * @param filter the QuotaFilter<a name="line.164"></a>
-<span class="sourceLineNo">165</span> * @return the QuotaRetriever<a name="line.165"></a>
-<span class="sourceLineNo">166</span> * @throws IOException if a remote or network exception occurs<a name="line.166"></a>
-<span class="sourceLineNo">167</span> */<a name="line.167"></a>
-<span class="sourceLineNo">168</span> public static QuotaRetriever open(final Configuration conf, final QuotaFilter filter)<a name="line.168"></a>
-<span class="sourceLineNo">169</span> throws IOException {<a name="line.169"></a>
-<span class="sourceLineNo">170</span> Scan scan = QuotaTableUtil.makeScan(filter);<a name="line.170"></a>
-<span class="sourceLineNo">171</span> QuotaRetriever scanner = new QuotaRetriever();<a name="line.171"></a>
-<span class="sourceLineNo">172</span> scanner.init(conf, scan);<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return scanner;<a name="line.173"></a>
-<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>}<a name="line.175"></a>
+<span class="sourceLineNo">151</span> @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span> public void remove() {<a name="line.152"></a>
+<span class="sourceLineNo">153</span> throw new RuntimeException("remove() not supported");<a name="line.153"></a>
+<span class="sourceLineNo">154</span> }<a name="line.154"></a>
+<span class="sourceLineNo">155</span> }<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> * Open a QuotaRetriever with no filter, all the quota settings will be returned.<a name="line.158"></a>
+<span class="sourceLineNo">159</span> * @param conf Configuration object to use.<a name="line.159"></a>
+<span class="sourceLineNo">160</span> * @return the QuotaRetriever<a name="line.160"></a>
+<span class="sourceLineNo">161</span> * @throws IOException if a remote or network exception occurs<a name="line.161"></a>
+<span class="sourceLineNo">162</span> */<a name="line.162"></a>
+<span class="sourceLineNo">163</span> public static QuotaRetriever open(final Configuration conf) throws IOException {<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return open(conf, null);<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> /**<a name="line.167"></a>
+<span class="sourceLineNo">168</span> * Open a QuotaRetriever with the specified filter.<a name="line.168"></a>
+<span class="sourceLineNo">169</span> * @param conf Configuration object to use.<a name="line.169"></a>
+<span class="sourceLineNo">170</span> * @param filter the QuotaFilter<a name="line.170"></a>
+<span class="sourceLineNo">171</span> * @return the QuotaRetriever<a name="line.171"></a>
+<span class="sourceLineNo">172</span> * @throws IOException if a remote or network exception occurs<a name="line.172"></a>
+<span class="sourceLineNo">173</span> */<a name="line.173"></a>
+<span class="sourceLineNo">174</span> public static QuotaRetriever open(final Configuration conf, final QuotaFilter filter)<a name="line.174"></a>
+<span class="sourceLineNo">175</span> throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span> Scan scan = QuotaTableUtil.makeScan(filter);<a name="line.176"></a>
+<span class="sourceLineNo">177</span> QuotaRetriever scanner = new QuotaRetriever();<a name="line.177"></a>
+<span class="sourceLineNo">178</span> scanner.init(conf, scan);<a name="line.178"></a>
+<span class="sourceLineNo">179</span> return scanner;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>}<a name="line.181"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/VersionInfo.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/VersionInfo.html
index bc69b0e..52b2865 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/VersionInfo.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/VersionInfo.html
@@ -143,7 +143,7 @@
<span class="sourceLineNo">135</span><a name="line.135"></a>
<span class="sourceLineNo">136</span> /**<a name="line.136"></a>
<span class="sourceLineNo">137</span> * Returns the version components as String objects<a name="line.137"></a>
-<span class="sourceLineNo">138</span> * Examples: "1.2.3" returns ["1", "2", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]<a name="line.138"></a>
+<span class="sourceLineNo">138</span> * Examples: "1.4.3" returns ["1", "4", "3"], "4.5.6-SNAPSHOT" returns ["4", "5", "6", "-1"]<a name="line.138"></a>
<span class="sourceLineNo">139</span> * "4.5.6-beta" returns ["4", "5", "6", "-2"], "4.5.6-alpha" returns ["4", "5", "6", "-3"]<a name="line.139"></a>
<span class="sourceLineNo">140</span> * "4.5.6-UNKNOW" returns ["4", "5", "6", "-4"]<a name="line.140"></a>
<span class="sourceLineNo">141</span> * @return the components of the version string<a name="line.141"></a>
diff --git a/downloads.html b/downloads.html
index 715e316..7dda3e3 100644
--- a/downloads.html
+++ b/downloads.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -299,36 +291,6 @@
<td></td>
</tr>
-
-<tr class="b">
-
-<td style="test-align: left">
- 1.2.12
- </td>
-
-<td style="test-align: left">
- 2019/04/17
- </td>
-
-<td style="test-align: left">
- <a class="externalLink" href="https://apache.org/dist/hbase/hbase-1.2.12/compat-check-report.html">1.2.11 vs 1.2.12</a>
- </td>
-
-<td style="test-align: left">
- <a class="externalLink" href="https://github.com/apache/hbase/blob/rel/1.2.12/CHANGES.txt">Changes</a>
- </td>
-
-<td style="test-align: left">
- <a class="externalLink" href="https://s.apache.org/hbase-1.2.12-jira-release-notes">Release Notes</a>
- </td>
-
-<td style="test-align: left">
- <a class="externalLink" href="https://www.apache.org/dyn/closer.lua/hbase/hbase-1.2.12/hbase-1.2.12-src.tar.gz">src</a> (<a class="externalLink" href="https://apache.org/dist/hbase/hbase-1.2.12/hbase-1.2.12-src.tar.gz.sha512">sha512</a> <a class="externalLink" href="https://apache.org/dist/hbase/hbase-1.2.12/hbase-1.2.12-src.tar.gz.asc">asc</a>) <br />
- <a class="externalLink" href="https://www.apache.org/dyn/closer.lua/hbase/hbase-1.2.12/hbase-1.2.12-bin.tar.gz">bin</a> (<a class="externalLink" href="https://apache.org/dist/hbase/hbase-1.2.12/hbase-1.2.12-bin.tar.gz.sha512">sha512</a> <a class="externalLink" href="https://apache.org/dist/hbase/hbase-1.2.12/hbase-1.2.12-bin.tar.gz.asc">asc</a>)
- </td>
-
-<td></td>
- </tr>
</table>
</div>
@@ -401,7 +363,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 0270172..650b7f9 100644
--- a/export_control.html
+++ b/export_control.html
@@ -95,14 +95,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -187,7 +179,7 @@ for more details.</p>
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 32dca3a..fa2ef1f 100644
--- a/index.html
+++ b/index.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -269,7 +261,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 6757be1..ce4a4e3 100644
--- a/issue-management.html
+++ b/issue-management.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -159,7 +151,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 0c57444..22cd71c 100644
--- a/licenses.html
+++ b/licenses.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -362,7 +354,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 aa1caf8..c62de9d 100644
--- a/mailing-lists.html
+++ b/mailing-lists.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -212,7 +204,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 88384f8..d6ede99 100644
--- a/metrics.html
+++ b/metrics.html
@@ -95,14 +95,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -315,7 +307,7 @@ export HBASE_REGIONSERVER_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 b74f67b..7fba0e0 100644
--- a/old_news.html
+++ b/old_news.html
@@ -95,14 +95,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -296,7 +288,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 1bd57ad..fbcb60c 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -311,7 +303,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 52a0808..93378cc 100644
--- a/plugins.html
+++ b/plugins.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -238,7 +230,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 4410f27..175d0c8 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -625,7 +617,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 3f14d05..979fc59 100644
--- a/project-info.html
+++ b/project-info.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -203,7 +195,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 9ed24be..71a92b4 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -176,7 +168,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 86594fa..05a0b65 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -95,14 +95,6 @@ Running Apache HBase (TM) in pseudo-distributed mode
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -164,7 +156,7 @@ Running Apache HBase (TM) in pseudo-distributed mode
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 0387070..edfc4f2 100644
--- a/replication.html
+++ b/replication.html
@@ -95,14 +95,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -159,7 +151,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 7931ec5..6d3ee2f 100644
--- a/resources.html
+++ b/resources.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -187,7 +179,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 23f3883..a112d84 100644
--- a/scm.html
+++ b/scm.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -170,7 +162,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 63b6154..56de581 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -189,7 +181,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 7217416..e098819 100644
--- a/summary.html
+++ b/summary.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -202,7 +194,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 7eb8a73..65c12e6 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -376,7 +368,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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 71ba74d..a56d349 100644
--- a/team.html
+++ b/team.html
@@ -93,14 +93,6 @@
<li><a href="2.0/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
</ul>
</li>
- <li class="dropdown-submenu">
-<a href="" title="1.2 Documentation">1.2 Documentation</a>
- <ul class="dropdown-menu">
- <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
- <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
- <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
- </ul>
- </li>
</ul>
</li>
<li class="dropdown">
@@ -649,7 +641,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-02</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-06-03</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/quotas/TestQuotaAdmin.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
index 562278d..38afc2d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
@@ -633,7 +633,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>testQuotaScope</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.643">testQuotaScope</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.644">testQuotaScope</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>
@@ -647,7 +647,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>testSwitchRpcThrottle</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.693">testSwitchRpcThrottle</a>(org.apache.hadoop.hbase.client.Admin admin,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.694">testSwitchRpcThrottle</a>(org.apache.hadoop.hbase.client.Admin admin,
boolean oldRpcThrottle,
boolean newRpcThrottle)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -663,7 +663,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>verifyRecordPresentInQuotaTable</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.703">verifyRecordPresentInQuotaTable</a>(org.apache.hadoop.hbase.quotas.ThrottleType type,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.704">verifyRecordPresentInQuotaTable</a>(org.apache.hadoop.hbase.quotas.ThrottleType type,
long limit,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a> tu)
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>
@@ -679,7 +679,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>verifyRecordPresentInQuotaTable</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.708">verifyRecordPresentInQuotaTable</a>(org.apache.hadoop.hbase.quotas.ThrottleType type,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.709">verifyRecordPresentInQuotaTable</a>(org.apache.hadoop.hbase.quotas.ThrottleType type,
long limit,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a> tu,
org.apache.hadoop.hbase.quotas.QuotaScope scope)
@@ -696,7 +696,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>verifyRecordNotPresentInQuotaTable</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.720">verifyRecordNotPresentInQuotaTable</a>()
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.721">verifyRecordNotPresentInQuotaTable</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>
@@ -710,7 +710,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>verifyFetchableViaAPI</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.728">verifyFetchableViaAPI</a>(org.apache.hadoop.hbase.client.Admin admin,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.729">verifyFetchableViaAPI</a>(org.apache.hadoop.hbase.client.Admin admin,
org.apache.hadoop.hbase.quotas.ThrottleType type,
long limit,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a> tu)
@@ -727,7 +727,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>verifyNotFetchableViaAPI</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.736">verifyNotFetchableViaAPI</a>(org.apache.hadoop.hbase.client.Admin admin)
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.737">verifyNotFetchableViaAPI</a>(org.apache.hadoop.hbase.client.Admin admin)
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>
@@ -741,7 +741,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>assertRPCQuota</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.743">assertRPCQuota</a>(org.apache.hadoop.hbase.quotas.ThrottleType type,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.744">assertRPCQuota</a>(org.apache.hadoop.hbase.quotas.ThrottleType type,
long limit,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a> tu,
org.apache.hadoop.hbase.quotas.QuotaScope scope,
@@ -759,7 +759,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>assertRPCQuota</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.797">assertRPCQuota</a>(org.apache.hadoop.hbase.quotas.ThrottleType type,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.798">assertRPCQuota</a>(org.apache.hadoop.hbase.quotas.ThrottleType type,
long limit,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a> tu,
org.apache.hadoop.hbase.quotas.QuotaSettings actualSettings)
@@ -776,7 +776,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>assertSpaceQuota</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.808">assertSpaceQuota</a>(long sizeLimit,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.809">assertSpaceQuota</a>(long sizeLimit,
org.apache.hadoop.hbase.quotas.SpaceViolationPolicy violationPolicy,
org.apache.hadoop.hbase.Cell cell)
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>
@@ -792,7 +792,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>assertSpaceQuota</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.818">assertSpaceQuota</a>(long sizeLimit,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.819">assertSpaceQuota</a>(long sizeLimit,
org.apache.hadoop.hbase.quotas.SpaceViolationPolicy violationPolicy,
org.apache.hadoop.hbase.quotas.QuotaSettings actualSettings)</pre>
</li>
@@ -803,7 +803,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>countResults</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.828">countResults</a>(org.apache.hadoop.hbase.quotas.QuotaFilter filter)
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.829">countResults</a>(org.apache.hadoop.hbase.quotas.QuotaFilter filter)
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/src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
index c7098d8..39440af 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
@@ -644,209 +644,210 @@
<span class="sourceLineNo">636</span> assertTrue(admin.exceedThrottleQuotaSwitch(true));<a name="line.636"></a>
<span class="sourceLineNo">637</span> assertTrue(admin.exceedThrottleQuotaSwitch(false));<a name="line.637"></a>
<span class="sourceLineNo">638</span> assertFalse(admin.exceedThrottleQuotaSwitch(false));<a name="line.638"></a>
-<span class="sourceLineNo">639</span> admin.setQuota(QuotaSettingsFactory.unthrottleRegionServer(regionServer));<a name="line.639"></a>
-<span class="sourceLineNo">640</span> }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span> @Test<a name="line.642"></a>
-<span class="sourceLineNo">643</span> public void testQuotaScope() throws Exception {<a name="line.643"></a>
-<span class="sourceLineNo">644</span> Admin admin = TEST_UTIL.getAdmin();<a name="line.644"></a>
-<span class="sourceLineNo">645</span> String user = "user1";<a name="line.645"></a>
-<span class="sourceLineNo">646</span> String namespace = "testQuotaScope_ns";<a name="line.646"></a>
-<span class="sourceLineNo">647</span> TableName tableName = TableName.valueOf("testQuotaScope");<a name="line.647"></a>
-<span class="sourceLineNo">648</span> QuotaFilter filter = new QuotaFilter();<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span> // set CLUSTER quota scope for namespace<a name="line.650"></a>
-<span class="sourceLineNo">651</span> admin.setQuota(QuotaSettingsFactory.throttleNamespace(namespace, ThrottleType.REQUEST_NUMBER,<a name="line.651"></a>
-<span class="sourceLineNo">652</span> 10, TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.652"></a>
-<span class="sourceLineNo">653</span> assertNumResults(1, filter);<a name="line.653"></a>
-<span class="sourceLineNo">654</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.654"></a>
-<span class="sourceLineNo">655</span> QuotaScope.CLUSTER);<a name="line.655"></a>
-<span class="sourceLineNo">656</span> admin.setQuota(QuotaSettingsFactory.throttleNamespace(namespace, ThrottleType.REQUEST_NUMBER,<a name="line.656"></a>
-<span class="sourceLineNo">657</span> 10, TimeUnit.MINUTES, QuotaScope.MACHINE));<a name="line.657"></a>
-<span class="sourceLineNo">658</span> assertNumResults(1, filter);<a name="line.658"></a>
-<span class="sourceLineNo">659</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.659"></a>
-<span class="sourceLineNo">660</span> QuotaScope.MACHINE);<a name="line.660"></a>
-<span class="sourceLineNo">661</span> admin.setQuota(QuotaSettingsFactory.unthrottleNamespace(namespace));<a name="line.661"></a>
-<span class="sourceLineNo">662</span> assertNumResults(0, filter);<a name="line.662"></a>
-<span class="sourceLineNo">663</span><a name="line.663"></a>
-<span class="sourceLineNo">664</span> // set CLUSTER quota scope for table<a name="line.664"></a>
-<span class="sourceLineNo">665</span> admin.setQuota(QuotaSettingsFactory.throttleTable(tableName, ThrottleType.REQUEST_NUMBER, 10,<a name="line.665"></a>
-<span class="sourceLineNo">666</span> TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.666"></a>
-<span class="sourceLineNo">667</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.667"></a>
-<span class="sourceLineNo">668</span> QuotaScope.CLUSTER);<a name="line.668"></a>
-<span class="sourceLineNo">669</span> admin.setQuota(QuotaSettingsFactory.unthrottleTable(tableName));<a name="line.669"></a>
-<span class="sourceLineNo">670</span><a name="line.670"></a>
-<span class="sourceLineNo">671</span> // set CLUSTER quota scope for user<a name="line.671"></a>
-<span class="sourceLineNo">672</span> admin.setQuota(QuotaSettingsFactory.throttleUser(user, ThrottleType.REQUEST_NUMBER, 10,<a name="line.672"></a>
-<span class="sourceLineNo">673</span> TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.673"></a>
-<span class="sourceLineNo">674</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.674"></a>
-<span class="sourceLineNo">675</span> QuotaScope.CLUSTER);<a name="line.675"></a>
-<span class="sourceLineNo">676</span> admin.setQuota(QuotaSettingsFactory.unthrottleUser(user));<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span> // set CLUSTER quota scope for user and table<a name="line.678"></a>
-<span class="sourceLineNo">679</span> admin.setQuota(QuotaSettingsFactory.throttleUser(user, tableName, ThrottleType.REQUEST_NUMBER,<a name="line.679"></a>
-<span class="sourceLineNo">680</span> 10, TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.680"></a>
-<span class="sourceLineNo">681</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.681"></a>
-<span class="sourceLineNo">682</span> QuotaScope.CLUSTER);<a name="line.682"></a>
-<span class="sourceLineNo">683</span> admin.setQuota(QuotaSettingsFactory.unthrottleUser(user));<a name="line.683"></a>
-<span class="sourceLineNo">684</span><a name="line.684"></a>
-<span class="sourceLineNo">685</span> // set CLUSTER quota scope for user and namespace<a name="line.685"></a>
-<span class="sourceLineNo">686</span> admin.setQuota(QuotaSettingsFactory.throttleUser(user, namespace, ThrottleType.REQUEST_NUMBER,<a name="line.686"></a>
-<span class="sourceLineNo">687</span> 10, TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.687"></a>
-<span class="sourceLineNo">688</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.688"></a>
-<span class="sourceLineNo">689</span> QuotaScope.CLUSTER);<a name="line.689"></a>
-<span class="sourceLineNo">690</span> admin.setQuota(QuotaSettingsFactory.unthrottleUser(user));<a name="line.690"></a>
-<span class="sourceLineNo">691</span> }<a name="line.691"></a>
-<span class="sourceLineNo">692</span><a name="line.692"></a>
-<span class="sourceLineNo">693</span> private void testSwitchRpcThrottle(Admin admin, boolean oldRpcThrottle, boolean newRpcThrottle)<a name="line.693"></a>
-<span class="sourceLineNo">694</span> throws IOException {<a name="line.694"></a>
-<span class="sourceLineNo">695</span> boolean state = admin.switchRpcThrottle(newRpcThrottle);<a name="line.695"></a>
-<span class="sourceLineNo">696</span> Assert.assertEquals(oldRpcThrottle, state);<a name="line.696"></a>
-<span class="sourceLineNo">697</span> Assert.assertEquals(newRpcThrottle, admin.isRpcThrottleEnabled());<a name="line.697"></a>
-<span class="sourceLineNo">698</span> TEST_UTIL.getHBaseCluster().getRegionServerThreads().stream()<a name="line.698"></a>
-<span class="sourceLineNo">699</span> .forEach(rs -> Assert.assertEquals(newRpcThrottle,<a name="line.699"></a>
-<span class="sourceLineNo">700</span> rs.getRegionServer().getRegionServerRpcQuotaManager().isRpcThrottleEnabled()));<a name="line.700"></a>
-<span class="sourceLineNo">701</span> }<a name="line.701"></a>
-<span class="sourceLineNo">702</span><a name="line.702"></a>
-<span class="sourceLineNo">703</span> private void verifyRecordPresentInQuotaTable(ThrottleType type, long limit, TimeUnit tu)<a name="line.703"></a>
-<span class="sourceLineNo">704</span> throws Exception {<a name="line.704"></a>
-<span class="sourceLineNo">705</span> verifyRecordPresentInQuotaTable(type, limit, tu, QuotaScope.MACHINE);<a name="line.705"></a>
-<span class="sourceLineNo">706</span> }<a name="line.706"></a>
-<span class="sourceLineNo">707</span><a name="line.707"></a>
-<span class="sourceLineNo">708</span> private void verifyRecordPresentInQuotaTable(ThrottleType type, long limit, TimeUnit tu,<a name="line.708"></a>
-<span class="sourceLineNo">709</span> QuotaScope scope) throws Exception {<a name="line.709"></a>
-<span class="sourceLineNo">710</span> // Verify the RPC Quotas in the table<a name="line.710"></a>
-<span class="sourceLineNo">711</span> try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.711"></a>
-<span class="sourceLineNo">712</span> ResultScanner scanner = quotaTable.getScanner(new Scan())) {<a name="line.712"></a>
-<span class="sourceLineNo">713</span> Result r = Iterables.getOnlyElement(scanner);<a name="line.713"></a>
-<span class="sourceLineNo">714</span> CellScanner cells = r.cellScanner();<a name="line.714"></a>
-<span class="sourceLineNo">715</span> assertTrue("Expected to find a cell", cells.advance());<a name="line.715"></a>
-<span class="sourceLineNo">716</span> assertRPCQuota(type, limit, tu, scope, cells.current());<a name="line.716"></a>
-<span class="sourceLineNo">717</span> }<a name="line.717"></a>
-<span class="sourceLineNo">718</span> }<a name="line.718"></a>
-<span class="sourceLineNo">719</span><a name="line.719"></a>
-<span class="sourceLineNo">720</span> private void verifyRecordNotPresentInQuotaTable() throws Exception {<a name="line.720"></a>
-<span class="sourceLineNo">721</span> // Verify that the record doesn't exist in the QuotaTableUtil.QUOTA_TABLE_NAME<a name="line.721"></a>
-<span class="sourceLineNo">722</span> try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.722"></a>
-<span class="sourceLineNo">723</span> ResultScanner scanner = quotaTable.getScanner(new Scan())) {<a name="line.723"></a>
-<span class="sourceLineNo">724</span> assertNull("Did not expect to find a quota entry", scanner.next());<a name="line.724"></a>
-<span class="sourceLineNo">725</span> }<a name="line.725"></a>
-<span class="sourceLineNo">726</span> }<a name="line.726"></a>
-<span class="sourceLineNo">727</span><a name="line.727"></a>
-<span class="sourceLineNo">728</span> private void verifyFetchableViaAPI(Admin admin, ThrottleType type, long limit, TimeUnit tu)<a name="line.728"></a>
-<span class="sourceLineNo">729</span> throws Exception {<a name="line.729"></a>
-<span class="sourceLineNo">730</span> // Verify we can retrieve the new quota via the QuotaRetriever API<a name="line.730"></a>
-<span class="sourceLineNo">731</span> try (QuotaRetriever quotaScanner = QuotaRetriever.open(admin.getConfiguration())) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span> assertRPCQuota(type, limit, tu, Iterables.getOnlyElement(quotaScanner));<a name="line.732"></a>
-<span class="sourceLineNo">733</span> }<a name="line.733"></a>
-<span class="sourceLineNo">734</span> }<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span> private void verifyNotFetchableViaAPI(Admin admin) throws Exception {<a name="line.736"></a>
-<span class="sourceLineNo">737</span> // Verify that we can also not fetch it via the API<a name="line.737"></a>
-<span class="sourceLineNo">738</span> try (QuotaRetriever quotaScanner = QuotaRetriever.open(admin.getConfiguration())) {<a name="line.738"></a>
-<span class="sourceLineNo">739</span> assertNull("Did not expect to find a quota entry", quotaScanner.next());<a name="line.739"></a>
-<span class="sourceLineNo">740</span> }<a name="line.740"></a>
-<span class="sourceLineNo">741</span> }<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span> private void assertRPCQuota(ThrottleType type, long limit, TimeUnit tu, QuotaScope scope,<a name="line.743"></a>
-<span class="sourceLineNo">744</span> Cell cell) throws Exception {<a name="line.744"></a>
-<span class="sourceLineNo">745</span> Quotas q = QuotaTableUtil<a name="line.745"></a>
-<span class="sourceLineNo">746</span> .quotasFromData(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength());<a name="line.746"></a>
-<span class="sourceLineNo">747</span> assertTrue("Quota should have rpc quota defined", q.hasThrottle());<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span> QuotaProtos.Throttle rpcQuota = q.getThrottle();<a name="line.749"></a>
-<span class="sourceLineNo">750</span> QuotaProtos.TimedQuota t = null;<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span> switch (type) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span> case REQUEST_SIZE:<a name="line.753"></a>
-<span class="sourceLineNo">754</span> assertTrue(rpcQuota.hasReqSize());<a name="line.754"></a>
-<span class="sourceLineNo">755</span> t = rpcQuota.getReqSize();<a name="line.755"></a>
-<span class="sourceLineNo">756</span> break;<a name="line.756"></a>
-<span class="sourceLineNo">757</span> case READ_NUMBER:<a name="line.757"></a>
-<span class="sourceLineNo">758</span> assertTrue(rpcQuota.hasReadNum());<a name="line.758"></a>
-<span class="sourceLineNo">759</span> t = rpcQuota.getReadNum();<a name="line.759"></a>
-<span class="sourceLineNo">760</span> break;<a name="line.760"></a>
-<span class="sourceLineNo">761</span> case READ_SIZE:<a name="line.761"></a>
-<span class="sourceLineNo">762</span> assertTrue(rpcQuota.hasReadSize());<a name="line.762"></a>
-<span class="sourceLineNo">763</span> t = rpcQuota.getReadSize();<a name="line.763"></a>
-<span class="sourceLineNo">764</span> break;<a name="line.764"></a>
-<span class="sourceLineNo">765</span> case REQUEST_NUMBER:<a name="line.765"></a>
-<span class="sourceLineNo">766</span> assertTrue(rpcQuota.hasReqNum());<a name="line.766"></a>
-<span class="sourceLineNo">767</span> t = rpcQuota.getReqNum();<a name="line.767"></a>
-<span class="sourceLineNo">768</span> break;<a name="line.768"></a>
-<span class="sourceLineNo">769</span> case WRITE_NUMBER:<a name="line.769"></a>
-<span class="sourceLineNo">770</span> assertTrue(rpcQuota.hasWriteNum());<a name="line.770"></a>
-<span class="sourceLineNo">771</span> t = rpcQuota.getWriteNum();<a name="line.771"></a>
-<span class="sourceLineNo">772</span> break;<a name="line.772"></a>
-<span class="sourceLineNo">773</span> case WRITE_SIZE:<a name="line.773"></a>
-<span class="sourceLineNo">774</span> assertTrue(rpcQuota.hasWriteSize());<a name="line.774"></a>
-<span class="sourceLineNo">775</span> t = rpcQuota.getWriteSize();<a name="line.775"></a>
-<span class="sourceLineNo">776</span> break;<a name="line.776"></a>
-<span class="sourceLineNo">777</span> case REQUEST_CAPACITY_UNIT:<a name="line.777"></a>
-<span class="sourceLineNo">778</span> assertTrue(rpcQuota.hasReqCapacityUnit());<a name="line.778"></a>
-<span class="sourceLineNo">779</span> t = rpcQuota.getReqCapacityUnit();<a name="line.779"></a>
-<span class="sourceLineNo">780</span> break;<a name="line.780"></a>
-<span class="sourceLineNo">781</span> case READ_CAPACITY_UNIT:<a name="line.781"></a>
-<span class="sourceLineNo">782</span> assertTrue(rpcQuota.hasReadCapacityUnit());<a name="line.782"></a>
-<span class="sourceLineNo">783</span> t = rpcQuota.getReadCapacityUnit();<a name="line.783"></a>
-<span class="sourceLineNo">784</span> break;<a name="line.784"></a>
-<span class="sourceLineNo">785</span> case WRITE_CAPACITY_UNIT:<a name="line.785"></a>
-<span class="sourceLineNo">786</span> assertTrue(rpcQuota.hasWriteCapacityUnit());<a name="line.786"></a>
-<span class="sourceLineNo">787</span> t = rpcQuota.getWriteCapacityUnit();<a name="line.787"></a>
-<span class="sourceLineNo">788</span> break;<a name="line.788"></a>
-<span class="sourceLineNo">789</span> default:<a name="line.789"></a>
-<span class="sourceLineNo">790</span> }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span> assertEquals(scope, ProtobufUtil.toQuotaScope(t.getScope()));<a name="line.792"></a>
-<span class="sourceLineNo">793</span> assertEquals(t.getSoftLimit(), limit);<a name="line.793"></a>
-<span class="sourceLineNo">794</span> assertEquals(t.getTimeUnit(), ProtobufUtil.toProtoTimeUnit(tu));<a name="line.794"></a>
-<span class="sourceLineNo">795</span> }<a name="line.795"></a>
-<span class="sourceLineNo">796</span><a name="line.796"></a>
-<span class="sourceLineNo">797</span> private void assertRPCQuota(ThrottleType type, long limit, TimeUnit tu,<a name="line.797"></a>
-<span class="sourceLineNo">798</span> QuotaSettings actualSettings) throws Exception {<a name="line.798"></a>
-<span class="sourceLineNo">799</span> assertTrue(<a name="line.799"></a>
-<span class="sourceLineNo">800</span> "The actual QuotaSettings was not an instance of " + ThrottleSettings.class + " but of "<a name="line.800"></a>
-<span class="sourceLineNo">801</span> + actualSettings.getClass(), actualSettings instanceof ThrottleSettings);<a name="line.801"></a>
-<span class="sourceLineNo">802</span> QuotaProtos.ThrottleRequest throttleRequest = ((ThrottleSettings) actualSettings).getProto();<a name="line.802"></a>
-<span class="sourceLineNo">803</span> assertEquals(limit, throttleRequest.getTimedQuota().getSoftLimit());<a name="line.803"></a>
-<span class="sourceLineNo">804</span> assertEquals(ProtobufUtil.toProtoTimeUnit(tu), throttleRequest.getTimedQuota().getTimeUnit());<a name="line.804"></a>
-<span class="sourceLineNo">805</span> assertEquals(ProtobufUtil.toProtoThrottleType(type), throttleRequest.getType());<a name="line.805"></a>
-<span class="sourceLineNo">806</span> }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span> private void assertSpaceQuota(<a name="line.808"></a>
-<span class="sourceLineNo">809</span> long sizeLimit, SpaceViolationPolicy violationPolicy, Cell cell) throws Exception {<a name="line.809"></a>
-<span class="sourceLineNo">810</span> Quotas q = QuotaTableUtil.quotasFromData(<a name="line.810"></a>
-<span class="sourceLineNo">811</span> cell.getValueArray(), cell.getValueOffset(), cell.getValueLength());<a name="line.811"></a>
-<span class="sourceLineNo">812</span> assertTrue("Quota should have space quota defined", q.hasSpace());<a name="line.812"></a>
-<span class="sourceLineNo">813</span> QuotaProtos.SpaceQuota spaceQuota = q.getSpace();<a name="line.813"></a>
-<span class="sourceLineNo">814</span> assertEquals(sizeLimit, spaceQuota.getSoftLimit());<a name="line.814"></a>
-<span class="sourceLineNo">815</span> assertEquals(violationPolicy, ProtobufUtil.toViolationPolicy(spaceQuota.getViolationPolicy()));<a name="line.815"></a>
-<span class="sourceLineNo">816</span> }<a name="line.816"></a>
-<span class="sourceLineNo">817</span><a name="line.817"></a>
-<span class="sourceLineNo">818</span> private void assertSpaceQuota(<a name="line.818"></a>
-<span class="sourceLineNo">819</span> long sizeLimit, SpaceViolationPolicy violationPolicy, QuotaSettings actualSettings) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span> assertTrue("The actual QuotaSettings was not an instance of " + SpaceLimitSettings.class<a name="line.820"></a>
-<span class="sourceLineNo">821</span> + " but of " + actualSettings.getClass(), actualSettings instanceof SpaceLimitSettings);<a name="line.821"></a>
-<span class="sourceLineNo">822</span> SpaceLimitRequest spaceLimitRequest = ((SpaceLimitSettings) actualSettings).getProto();<a name="line.822"></a>
-<span class="sourceLineNo">823</span> assertEquals(sizeLimit, spaceLimitRequest.getQuota().getSoftLimit());<a name="line.823"></a>
-<span class="sourceLineNo">824</span> assertEquals(violationPolicy,<a name="line.824"></a>
-<span class="sourceLineNo">825</span> ProtobufUtil.toViolationPolicy(spaceLimitRequest.getQuota().getViolationPolicy()));<a name="line.825"></a>
-<span class="sourceLineNo">826</span> }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span> private int countResults(final QuotaFilter filter) throws Exception {<a name="line.828"></a>
-<span class="sourceLineNo">829</span> QuotaRetriever scanner = QuotaRetriever.open(TEST_UTIL.getConfiguration(), filter);<a name="line.829"></a>
-<span class="sourceLineNo">830</span> try {<a name="line.830"></a>
-<span class="sourceLineNo">831</span> int count = 0;<a name="line.831"></a>
-<span class="sourceLineNo">832</span> for (QuotaSettings settings: scanner) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span> LOG.debug(Objects.toString(settings));<a name="line.833"></a>
-<span class="sourceLineNo">834</span> count++;<a name="line.834"></a>
-<span class="sourceLineNo">835</span> }<a name="line.835"></a>
-<span class="sourceLineNo">836</span> return count;<a name="line.836"></a>
-<span class="sourceLineNo">837</span> } finally {<a name="line.837"></a>
-<span class="sourceLineNo">838</span> scanner.close();<a name="line.838"></a>
-<span class="sourceLineNo">839</span> }<a name="line.839"></a>
-<span class="sourceLineNo">840</span> }<a name="line.840"></a>
-<span class="sourceLineNo">841</span>}<a name="line.841"></a>
+<span class="sourceLineNo">639</span> assertEquals(2, admin.getQuota(new QuotaFilter()).size());<a name="line.639"></a>
+<span class="sourceLineNo">640</span> admin.setQuota(QuotaSettingsFactory.unthrottleRegionServer(regionServer));<a name="line.640"></a>
+<span class="sourceLineNo">641</span> }<a name="line.641"></a>
+<span class="sourceLineNo">642</span><a name="line.642"></a>
+<span class="sourceLineNo">643</span> @Test<a name="line.643"></a>
+<span class="sourceLineNo">644</span> public void testQuotaScope() throws Exception {<a name="line.644"></a>
+<span class="sourceLineNo">645</span> Admin admin = TEST_UTIL.getAdmin();<a name="line.645"></a>
+<span class="sourceLineNo">646</span> String user = "user1";<a name="line.646"></a>
+<span class="sourceLineNo">647</span> String namespace = "testQuotaScope_ns";<a name="line.647"></a>
+<span class="sourceLineNo">648</span> TableName tableName = TableName.valueOf("testQuotaScope");<a name="line.648"></a>
+<span class="sourceLineNo">649</span> QuotaFilter filter = new QuotaFilter();<a name="line.649"></a>
+<span class="sourceLineNo">650</span><a name="line.650"></a>
+<span class="sourceLineNo">651</span> // set CLUSTER quota scope for namespace<a name="line.651"></a>
+<span class="sourceLineNo">652</span> admin.setQuota(QuotaSettingsFactory.throttleNamespace(namespace, ThrottleType.REQUEST_NUMBER,<a name="line.652"></a>
+<span class="sourceLineNo">653</span> 10, TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.653"></a>
+<span class="sourceLineNo">654</span> assertNumResults(1, filter);<a name="line.654"></a>
+<span class="sourceLineNo">655</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.655"></a>
+<span class="sourceLineNo">656</span> QuotaScope.CLUSTER);<a name="line.656"></a>
+<span class="sourceLineNo">657</span> admin.setQuota(QuotaSettingsFactory.throttleNamespace(namespace, ThrottleType.REQUEST_NUMBER,<a name="line.657"></a>
+<span class="sourceLineNo">658</span> 10, TimeUnit.MINUTES, QuotaScope.MACHINE));<a name="line.658"></a>
+<span class="sourceLineNo">659</span> assertNumResults(1, filter);<a name="line.659"></a>
+<span class="sourceLineNo">660</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.660"></a>
+<span class="sourceLineNo">661</span> QuotaScope.MACHINE);<a name="line.661"></a>
+<span class="sourceLineNo">662</span> admin.setQuota(QuotaSettingsFactory.unthrottleNamespace(namespace));<a name="line.662"></a>
+<span class="sourceLineNo">663</span> assertNumResults(0, filter);<a name="line.663"></a>
+<span class="sourceLineNo">664</span><a name="line.664"></a>
+<span class="sourceLineNo">665</span> // set CLUSTER quota scope for table<a name="line.665"></a>
+<span class="sourceLineNo">666</span> admin.setQuota(QuotaSettingsFactory.throttleTable(tableName, ThrottleType.REQUEST_NUMBER, 10,<a name="line.666"></a>
+<span class="sourceLineNo">667</span> TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.667"></a>
+<span class="sourceLineNo">668</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.668"></a>
+<span class="sourceLineNo">669</span> QuotaScope.CLUSTER);<a name="line.669"></a>
+<span class="sourceLineNo">670</span> admin.setQuota(QuotaSettingsFactory.unthrottleTable(tableName));<a name="line.670"></a>
+<span class="sourceLineNo">671</span><a name="line.671"></a>
+<span class="sourceLineNo">672</span> // set CLUSTER quota scope for user<a name="line.672"></a>
+<span class="sourceLineNo">673</span> admin.setQuota(QuotaSettingsFactory.throttleUser(user, ThrottleType.REQUEST_NUMBER, 10,<a name="line.673"></a>
+<span class="sourceLineNo">674</span> TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.674"></a>
+<span class="sourceLineNo">675</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.675"></a>
+<span class="sourceLineNo">676</span> QuotaScope.CLUSTER);<a name="line.676"></a>
+<span class="sourceLineNo">677</span> admin.setQuota(QuotaSettingsFactory.unthrottleUser(user));<a name="line.677"></a>
+<span class="sourceLineNo">678</span><a name="line.678"></a>
+<span class="sourceLineNo">679</span> // set CLUSTER quota scope for user and table<a name="line.679"></a>
+<span class="sourceLineNo">680</span> admin.setQuota(QuotaSettingsFactory.throttleUser(user, tableName, ThrottleType.REQUEST_NUMBER,<a name="line.680"></a>
+<span class="sourceLineNo">681</span> 10, TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.681"></a>
+<span class="sourceLineNo">682</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.682"></a>
+<span class="sourceLineNo">683</span> QuotaScope.CLUSTER);<a name="line.683"></a>
+<span class="sourceLineNo">684</span> admin.setQuota(QuotaSettingsFactory.unthrottleUser(user));<a name="line.684"></a>
+<span class="sourceLineNo">685</span><a name="line.685"></a>
+<span class="sourceLineNo">686</span> // set CLUSTER quota scope for user and namespace<a name="line.686"></a>
+<span class="sourceLineNo">687</span> admin.setQuota(QuotaSettingsFactory.throttleUser(user, namespace, ThrottleType.REQUEST_NUMBER,<a name="line.687"></a>
+<span class="sourceLineNo">688</span> 10, TimeUnit.MINUTES, QuotaScope.CLUSTER));<a name="line.688"></a>
+<span class="sourceLineNo">689</span> verifyRecordPresentInQuotaTable(ThrottleType.REQUEST_NUMBER, 10, TimeUnit.MINUTES,<a name="line.689"></a>
+<span class="sourceLineNo">690</span> QuotaScope.CLUSTER);<a name="line.690"></a>
+<span class="sourceLineNo">691</span> admin.setQuota(QuotaSettingsFactory.unthrottleUser(user));<a name="line.691"></a>
+<span class="sourceLineNo">692</span> }<a name="line.692"></a>
+<span class="sourceLineNo">693</span><a name="line.693"></a>
+<span class="sourceLineNo">694</span> private void testSwitchRpcThrottle(Admin admin, boolean oldRpcThrottle, boolean newRpcThrottle)<a name="line.694"></a>
+<span class="sourceLineNo">695</span> throws IOException {<a name="line.695"></a>
+<span class="sourceLineNo">696</span> boolean state = admin.switchRpcThrottle(newRpcThrottle);<a name="line.696"></a>
+<span class="sourceLineNo">697</span> Assert.assertEquals(oldRpcThrottle, state);<a name="line.697"></a>
+<span class="sourceLineNo">698</span> Assert.assertEquals(newRpcThrottle, admin.isRpcThrottleEnabled());<a name="line.698"></a>
+<span class="sourceLineNo">699</span> TEST_UTIL.getHBaseCluster().getRegionServerThreads().stream()<a name="line.699"></a>
+<span class="sourceLineNo">700</span> .forEach(rs -> Assert.assertEquals(newRpcThrottle,<a name="line.700"></a>
+<span class="sourceLineNo">701</span> rs.getRegionServer().getRegionServerRpcQuotaManager().isRpcThrottleEnabled()));<a name="line.701"></a>
+<span class="sourceLineNo">702</span> }<a name="line.702"></a>
+<span class="sourceLineNo">703</span><a name="line.703"></a>
+<span class="sourceLineNo">704</span> private void verifyRecordPresentInQuotaTable(ThrottleType type, long limit, TimeUnit tu)<a name="line.704"></a>
+<span class="sourceLineNo">705</span> throws Exception {<a name="line.705"></a>
+<span class="sourceLineNo">706</span> verifyRecordPresentInQuotaTable(type, limit, tu, QuotaScope.MACHINE);<a name="line.706"></a>
+<span class="sourceLineNo">707</span> }<a name="line.707"></a>
+<span class="sourceLineNo">708</span><a name="line.708"></a>
+<span class="sourceLineNo">709</span> private void verifyRecordPresentInQuotaTable(ThrottleType type, long limit, TimeUnit tu,<a name="line.709"></a>
+<span class="sourceLineNo">710</span> QuotaScope scope) throws Exception {<a name="line.710"></a>
+<span class="sourceLineNo">711</span> // Verify the RPC Quotas in the table<a name="line.711"></a>
+<span class="sourceLineNo">712</span> try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.712"></a>
+<span class="sourceLineNo">713</span> ResultScanner scanner = quotaTable.getScanner(new Scan())) {<a name="line.713"></a>
+<span class="sourceLineNo">714</span> Result r = Iterables.getOnlyElement(scanner);<a name="line.714"></a>
+<span class="sourceLineNo">715</span> CellScanner cells = r.cellScanner();<a name="line.715"></a>
+<span class="sourceLineNo">716</span> assertTrue("Expected to find a cell", cells.advance());<a name="line.716"></a>
+<span class="sourceLineNo">717</span> assertRPCQuota(type, limit, tu, scope, cells.current());<a name="line.717"></a>
+<span class="sourceLineNo">718</span> }<a name="line.718"></a>
+<span class="sourceLineNo">719</span> }<a name="line.719"></a>
+<span class="sourceLineNo">720</span><a name="line.720"></a>
+<span class="sourceLineNo">721</span> private void verifyRecordNotPresentInQuotaTable() throws Exception {<a name="line.721"></a>
+<span class="sourceLineNo">722</span> // Verify that the record doesn't exist in the QuotaTableUtil.QUOTA_TABLE_NAME<a name="line.722"></a>
+<span class="sourceLineNo">723</span> try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME);<a name="line.723"></a>
+<span class="sourceLineNo">724</span> ResultScanner scanner = quotaTable.getScanner(new Scan())) {<a name="line.724"></a>
+<span class="sourceLineNo">725</span> assertNull("Did not expect to find a quota entry", scanner.next());<a name="line.725"></a>
+<span class="sourceLineNo">726</span> }<a name="line.726"></a>
+<span class="sourceLineNo">727</span> }<a name="line.727"></a>
+<span class="sourceLineNo">728</span><a name="line.728"></a>
+<span class="sourceLineNo">729</span> private void verifyFetchableViaAPI(Admin admin, ThrottleType type, long limit, TimeUnit tu)<a name="line.729"></a>
+<span class="sourceLineNo">730</span> throws Exception {<a name="line.730"></a>
+<span class="sourceLineNo">731</span> // Verify we can retrieve the new quota via the QuotaRetriever API<a name="line.731"></a>
+<span class="sourceLineNo">732</span> try (QuotaRetriever quotaScanner = QuotaRetriever.open(admin.getConfiguration())) {<a name="line.732"></a>
+<span class="sourceLineNo">733</span> assertRPCQuota(type, limit, tu, Iterables.getOnlyElement(quotaScanner));<a name="line.733"></a>
+<span class="sourceLineNo">734</span> }<a name="line.734"></a>
+<span class="sourceLineNo">735</span> }<a name="line.735"></a>
+<span class="sourceLineNo">736</span><a name="line.736"></a>
+<span class="sourceLineNo">737</span> private void verifyNotFetchableViaAPI(Admin admin) throws Exception {<a name="line.737"></a>
+<span class="sourceLineNo">738</span> // Verify that we can also not fetch it via the API<a name="line.738"></a>
+<span class="sourceLineNo">739</span> try (QuotaRetriever quotaScanner = QuotaRetriever.open(admin.getConfiguration())) {<a name="line.739"></a>
+<span class="sourceLineNo">740</span> assertNull("Did not expect to find a quota entry", quotaScanner.next());<a name="line.740"></a>
+<span class="sourceLineNo">741</span> }<a name="line.741"></a>
+<span class="sourceLineNo">742</span> }<a name="line.742"></a>
+<span class="sourceLineNo">743</span><a name="line.743"></a>
+<span class="sourceLineNo">744</span> private void assertRPCQuota(ThrottleType type, long limit, TimeUnit tu, QuotaScope scope,<a name="line.744"></a>
+<span class="sourceLineNo">745</span> Cell cell) throws Exception {<a name="line.745"></a>
+<span class="sourceLineNo">746</span> Quotas q = QuotaTableUtil<a name="line.746"></a>
+<span class="sourceLineNo">747</span> .quotasFromData(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength());<a name="line.747"></a>
+<span class="sourceLineNo">748</span> assertTrue("Quota should have rpc quota defined", q.hasThrottle());<a name="line.748"></a>
+<span class="sourceLineNo">749</span><a name="line.749"></a>
+<span class="sourceLineNo">750</span> QuotaProtos.Throttle rpcQuota = q.getThrottle();<a name="line.750"></a>
+<span class="sourceLineNo">751</span> QuotaProtos.TimedQuota t = null;<a name="line.751"></a>
+<span class="sourceLineNo">752</span><a name="line.752"></a>
+<span class="sourceLineNo">753</span> switch (type) {<a name="line.753"></a>
+<span class="sourceLineNo">754</span> case REQUEST_SIZE:<a name="line.754"></a>
+<span class="sourceLineNo">755</span> assertTrue(rpcQuota.hasReqSize());<a name="line.755"></a>
+<span class="sourceLineNo">756</span> t = rpcQuota.getReqSize();<a name="line.756"></a>
+<span class="sourceLineNo">757</span> break;<a name="line.757"></a>
+<span class="sourceLineNo">758</span> case READ_NUMBER:<a name="line.758"></a>
+<span class="sourceLineNo">759</span> assertTrue(rpcQuota.hasReadNum());<a name="line.759"></a>
+<span class="sourceLineNo">760</span> t = rpcQuota.getReadNum();<a name="line.760"></a>
+<span class="sourceLineNo">761</span> break;<a name="line.761"></a>
+<span class="sourceLineNo">762</span> case READ_SIZE:<a name="line.762"></a>
+<span class="sourceLineNo">763</span> assertTrue(rpcQuota.hasReadSize());<a name="line.763"></a>
+<span class="sourceLineNo">764</span> t = rpcQuota.getReadSize();<a name="line.764"></a>
+<span class="sourceLineNo">765</span> break;<a name="line.765"></a>
+<span class="sourceLineNo">766</span> case REQUEST_NUMBER:<a name="line.766"></a>
+<span class="sourceLineNo">767</span> assertTrue(rpcQuota.hasReqNum());<a name="line.767"></a>
+<span class="sourceLineNo">768</span> t = rpcQuota.getReqNum();<a name="line.768"></a>
+<span class="sourceLineNo">769</span> break;<a name="line.769"></a>
+<span class="sourceLineNo">770</span> case WRITE_NUMBER:<a name="line.770"></a>
+<span class="sourceLineNo">771</span> assertTrue(rpcQuota.hasWriteNum());<a name="line.771"></a>
+<span class="sourceLineNo">772</span> t = rpcQuota.getWriteNum();<a name="line.772"></a>
+<span class="sourceLineNo">773</span> break;<a name="line.773"></a>
+<span class="sourceLineNo">774</span> case WRITE_SIZE:<a name="line.774"></a>
+<span class="sourceLineNo">775</span> assertTrue(rpcQuota.hasWriteSize());<a name="line.775"></a>
+<span class="sourceLineNo">776</span> t = rpcQuota.getWriteSize();<a name="line.776"></a>
+<span class="sourceLineNo">777</span> break;<a name="line.777"></a>
+<span class="sourceLineNo">778</span> case REQUEST_CAPACITY_UNIT:<a name="line.778"></a>
+<span class="sourceLineNo">779</span> assertTrue(rpcQuota.hasReqCapacityUnit());<a name="line.779"></a>
+<span class="sourceLineNo">780</span> t = rpcQuota.getReqCapacityUnit();<a name="line.780"></a>
+<span class="sourceLineNo">781</span> break;<a name="line.781"></a>
+<span class="sourceLineNo">782</span> case READ_CAPACITY_UNIT:<a name="line.782"></a>
+<span class="sourceLineNo">783</span> assertTrue(rpcQuota.hasReadCapacityUnit());<a name="line.783"></a>
+<span class="sourceLineNo">784</span> t = rpcQuota.getReadCapacityUnit();<a name="line.784"></a>
+<span class="sourceLineNo">785</span> break;<a name="line.785"></a>
+<span class="sourceLineNo">786</span> case WRITE_CAPACITY_UNIT:<a name="line.786"></a>
+<span class="sourceLineNo">787</span> assertTrue(rpcQuota.hasWriteCapacityUnit());<a name="line.787"></a>
+<span class="sourceLineNo">788</span> t = rpcQuota.getWriteCapacityUnit();<a name="line.788"></a>
+<span class="sourceLineNo">789</span> break;<a name="line.789"></a>
+<span class="sourceLineNo">790</span> default:<a name="line.790"></a>
+<span class="sourceLineNo">791</span> }<a name="line.791"></a>
+<span class="sourceLineNo">792</span><a name="line.792"></a>
+<span class="sourceLineNo">793</span> assertEquals(scope, ProtobufUtil.toQuotaScope(t.getScope()));<a name="line.793"></a>
+<span class="sourceLineNo">794</span> assertEquals(t.getSoftLimit(), limit);<a name="line.794"></a>
+<span class="sourceLineNo">795</span> assertEquals(t.getTimeUnit(), ProtobufUtil.toProtoTimeUnit(tu));<a name="line.795"></a>
+<span class="sourceLineNo">796</span> }<a name="line.796"></a>
+<span class="sourceLineNo">797</span><a name="line.797"></a>
+<span class="sourceLineNo">798</span> private void assertRPCQuota(ThrottleType type, long limit, TimeUnit tu,<a name="line.798"></a>
+<span class="sourceLineNo">799</span> QuotaSettings actualSettings) throws Exception {<a name="line.799"></a>
+<span class="sourceLineNo">800</span> assertTrue(<a name="line.800"></a>
+<span class="sourceLineNo">801</span> "The actual QuotaSettings was not an instance of " + ThrottleSettings.class + " but of "<a name="line.801"></a>
+<span class="sourceLineNo">802</span> + actualSettings.getClass(), actualSettings instanceof ThrottleSettings);<a name="line.802"></a>
+<span class="sourceLineNo">803</span> QuotaProtos.ThrottleRequest throttleRequest = ((ThrottleSettings) actualSettings).getProto();<a name="line.803"></a>
+<span class="sourceLineNo">804</span> assertEquals(limit, throttleRequest.getTimedQuota().getSoftLimit());<a name="line.804"></a>
+<span class="sourceLineNo">805</span> assertEquals(ProtobufUtil.toProtoTimeUnit(tu), throttleRequest.getTimedQuota().getTimeUnit());<a name="line.805"></a>
+<span class="sourceLineNo">806</span> assertEquals(ProtobufUtil.toProtoThrottleType(type), throttleRequest.getType());<a name="line.806"></a>
+<span class="sourceLineNo">807</span> }<a name="line.807"></a>
+<span class="sourceLineNo">808</span><a name="line.808"></a>
+<span class="sourceLineNo">809</span> private void assertSpaceQuota(<a name="line.809"></a>
+<span class="sourceLineNo">810</span> long sizeLimit, SpaceViolationPolicy violationPolicy, Cell cell) throws Exception {<a name="line.810"></a>
+<span class="sourceLineNo">811</span> Quotas q = QuotaTableUtil.quotasFromData(<a name="line.811"></a>
+<span class="sourceLineNo">812</span> cell.getValueArray(), cell.getValueOffset(), cell.getValueLength());<a name="line.812"></a>
+<span class="sourceLineNo">813</span> assertTrue("Quota should have space quota defined", q.hasSpace());<a name="line.813"></a>
+<span class="sourceLineNo">814</span> QuotaProtos.SpaceQuota spaceQuota = q.getSpace();<a name="line.814"></a>
+<span class="sourceLineNo">815</span> assertEquals(sizeLimit, spaceQuota.getSoftLimit());<a name="line.815"></a>
+<span class="sourceLineNo">816</span> assertEquals(violationPolicy, ProtobufUtil.toViolationPolicy(spaceQuota.getViolationPolicy()));<a name="line.816"></a>
+<span class="sourceLineNo">817</span> }<a name="line.817"></a>
+<span class="sourceLineNo">818</span><a name="line.818"></a>
+<span class="sourceLineNo">819</span> private void assertSpaceQuota(<a name="line.819"></a>
+<span class="sourceLineNo">820</span> long sizeLimit, SpaceViolationPolicy violationPolicy, QuotaSettings actualSettings) {<a name="line.820"></a>
+<span class="sourceLineNo">821</span> assertTrue("The actual QuotaSettings was not an instance of " + SpaceLimitSettings.class<a name="line.821"></a>
+<span class="sourceLineNo">822</span> + " but of " + actualSettings.getClass(), actualSettings instanceof SpaceLimitSettings);<a name="line.822"></a>
+<span class="sourceLineNo">823</span> SpaceLimitRequest spaceLimitRequest = ((SpaceLimitSettings) actualSettings).getProto();<a name="line.823"></a>
+<span class="sourceLineNo">824</span> assertEquals(sizeLimit, spaceLimitRequest.getQuota().getSoftLimit());<a name="line.824"></a>
+<span class="sourceLineNo">825</span> assertEquals(violationPolicy,<a name="line.825"></a>
+<span class="sourceLineNo">826</span> ProtobufUtil.toViolationPolicy(spaceLimitRequest.getQuota().getViolationPolicy()));<a name="line.826"></a>
+<span class="sourceLineNo">827</span> }<a name="line.827"></a>
+<span class="sourceLineNo">828</span><a name="line.828"></a>
+<span class="sourceLineNo">829</span> private int countResults(final QuotaFilter filter) throws Exception {<a name="line.829"></a>
+<span class="sourceLineNo">830</span> QuotaRetriever scanner = QuotaRetriever.open(TEST_UTIL.getConfiguration(), filter);<a name="line.830"></a>
+<span class="sourceLineNo">831</span> try {<a name="line.831"></a>
+<span class="sourceLineNo">832</span> int count = 0;<a name="line.832"></a>
+<span class="sourceLineNo">833</span> for (QuotaSettings settings: scanner) {<a name="line.833"></a>
+<span class="sourceLineNo">834</span> LOG.debug(Objects.toString(settings));<a name="line.834"></a>
+<span class="sourceLineNo">835</span> count++;<a name="line.835"></a>
+<span class="sourceLineNo">836</span> }<a name="line.836"></a>
+<span class="sourceLineNo">837</span> return count;<a name="line.837"></a>
+<span class="sourceLineNo">838</span> } finally {<a name="line.838"></a>
+<span class="sourceLineNo">839</span> scanner.close();<a name="line.839"></a>
+<span class="sourceLineNo">840</span> }<a name="line.840"></a>
+<span class="sourceLineNo">841</span> }<a name="line.841"></a>
+<span class="sourceLineNo">842</span>}<a name="line.842"></a>