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 2020/08/19 01:11:42 UTC

[hbase-site] branch asf-site updated: Published site at 98e35842ebeb9a419df37a1c3166b4468b85a6bc.

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 93e72ab  Published site at 98e35842ebeb9a419df37a1c3166b4468b85a6bc.
93e72ab is described below

commit 93e72ab37f2fe4a2ba601eea91e06fbf8970eca9
Author: jenkins <us...@infra.apache.org>
AuthorDate: Wed Aug 19 01:11:23 2020 +0000

    Published site at 98e35842ebeb9a419df37a1c3166b4468b85a6bc.
---
 acid-semantics.html                                |    2 +-
 apache_hbase_reference_guide.pdf                   |    4 +-
 apidocs/allclasses-frame.html                      |    1 +
 apidocs/allclasses-noframe.html                    |    1 +
 apidocs/index-all.html                             |   18 +
 .../apache/hadoop/hbase/class-use/TableName.html   |   14 +-
 apidocs/org/apache/hadoop/hbase/client/Admin.html  |  420 +-
 .../org/apache/hadoop/hbase/client/AsyncAdmin.html |  191 +-
 .../org/apache/hadoop/hbase/client/Mutation.html   |    4 +-
 .../hbase/client/NoServerForRegionException.html   |    4 +-
 .../hbase/client/NormalizeTableFilterParams.html   |  287 +
 .../class-use/NormalizeTableFilterParams.html      |  175 +
 .../apache/hadoop/hbase/client/package-frame.html  |    1 +
 .../hadoop/hbase/client/package-summary.html       |   28 +-
 .../apache/hadoop/hbase/client/package-tree.html   |    1 +
 .../apache/hadoop/hbase/client/package-use.html    |   57 +-
 apidocs/overview-tree.html                         |    1 +
 .../org/apache/hadoop/hbase/client/Admin.html      | 3102 ++++-----
 .../org/apache/hadoop/hbase/client/AsyncAdmin.html |  758 +-
 .../hbase/client/NormalizeTableFilterParams.html   |  179 +
 .../hbase/client/TableDescriptorBuilder.html       |   78 +-
 book.html                                          |    2 +-
 bulk-loads.html                                    |    2 +-
 checkstyle-aggregate.html                          | 1516 ++--
 checkstyle.rss                                     |   22 +-
 coc.html                                           |    2 +-
 dependencies.html                                  |    2 +-
 dependency-convergence.html                        |    2 +-
 dependency-info.html                               |    2 +-
 dependency-management.html                         |    2 +-
 devapidocs/allclasses-frame.html                   |    2 +
 devapidocs/allclasses-noframe.html                 |    2 +
 devapidocs/index-all.html                          |   72 +-
 .../apache/hadoop/hbase/backup/package-tree.html   |    4 +-
 .../apache/hadoop/hbase/class-use/TableName.html   |   63 +-
 .../org/apache/hadoop/hbase/client/Admin.html      |  420 +-
 .../hadoop/hbase/client/AdminOverAsyncAdmin.html   |   14 +-
 .../org/apache/hadoop/hbase/client/AsyncAdmin.html |  191 +-
 .../hadoop/hbase/client/AsyncHBaseAdmin.html       |   14 +-
 .../hbase/client/NoServerForRegionException.html   |    4 +-
 .../apache/hadoop/hbase/client/NonceGenerator.html |    4 +-
 .../NormalizeTableFilterParams.Builder.html}       |  191 +-
 .../hbase/client/NormalizeTableFilterParams.html   |  410 ++
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.html    |  231 +-
 .../hbase/client/TableDescriptorBuilder.html       |    8 +-
 .../client/class-use/CoprocessorDescriptor.html    |    4 +-
 .../NormalizeTableFilterParams.Builder.html        |  179 +
 .../class-use/NormalizeTableFilterParams.html      |  250 +
 .../hbase/client/class-use/TableDescriptor.html    |    8 +-
 .../apache/hadoop/hbase/client/package-frame.html  |    2 +
 .../hadoop/hbase/client/package-summary.html       |   12 +
 .../apache/hadoop/hbase/client/package-tree.html   |   26 +-
 .../apache/hadoop/hbase/client/package-use.html    |   64 +-
 .../hadoop/hbase/coprocessor/package-tree.html     |    2 +-
 .../apache/hadoop/hbase/executor/package-tree.html |    2 +-
 .../apache/hadoop/hbase/filter/package-tree.html   |    6 +-
 .../hadoop/hbase/hbtop/field/package-tree.html     |    2 +-
 .../org/apache/hadoop/hbase/http/package-tree.html |    4 +-
 .../apache/hadoop/hbase/io/hfile/package-tree.html |    6 +-
 .../org/apache/hadoop/hbase/ipc/package-tree.html  |    2 +-
 .../hadoop/hbase/mapreduce/package-tree.html       |    6 +-
 .../master/HMaster.InitializationMonitor.html      |   20 +-
 .../master/HMaster.MasterStoppedException.html     |    4 +-
 .../hbase/master/HMaster.RedirectServlet.html      |   12 +-
 .../master/HMaster.TableDescriptorGetter.html      |    4 +-
 .../org/apache/hadoop/hbase/master/HMaster.html    |  620 +-
 .../master/HMasterCommandLine.LocalHMaster.html    |    2 +-
 .../MasterRpcServices.BalanceSwitchMode.html       |    6 +-
 .../hadoop/hbase/master/MasterRpcServices.html     |  290 +-
 .../hbase/master/assignment/package-tree.html      |    2 +-
 .../apache/hadoop/hbase/master/package-tree.html   |    6 +-
 .../hbase/master/procedure/package-tree.html       |    4 +-
 .../hadoop/hbase/monitoring/package-tree.html      |    2 +-
 .../org/apache/hadoop/hbase/package-tree.html      |   16 +-
 .../hadoop/hbase/procedure2/package-tree.html      |    6 +-
 .../apache/hadoop/hbase/quotas/package-tree.html   |    6 +-
 .../hadoop/hbase/regionserver/package-tree.html    |   16 +-
 .../regionserver/querymatcher/package-tree.html    |    2 +-
 .../hbase/regionserver/wal/package-tree.html       |    4 +-
 .../replication/regionserver/package-tree.html     |    2 +-
 .../hadoop/hbase/security/access/package-tree.html |    8 +-
 .../apache/hadoop/hbase/security/package-tree.html |    2 +-
 .../apache/hadoop/hbase/thrift/package-tree.html   |    2 +-
 .../hadoop/hbase/thrift2/client/ThriftAdmin.html   |   14 +-
 .../org/apache/hadoop/hbase/util/PoolMap.Pool.html |   14 +-
 .../apache/hadoop/hbase/util/PoolMap.PoolType.html |   26 +-
 .../hadoop/hbase/util/PoolMap.RoundRobinPool.html  |   14 +-
 .../hadoop/hbase/util/PoolMap.ThreadLocalPool.html |   18 +-
 .../org/apache/hadoop/hbase/util/PoolMap.html      |   44 +-
 .../hbase/util/class-use/PoolMap.PoolType.html     |   16 +-
 .../org/apache/hadoop/hbase/util/package-tree.html |   12 +-
 .../org/apache/hadoop/hbase/wal/package-tree.html  |    2 +-
 devapidocs/overview-tree.html                      |    2 +
 .../org/apache/hadoop/hbase/client/Admin.html      | 3102 ++++-----
 ...ncAdmin.SyncCoprocessorRpcChannelOverAsync.html |    4 +-
 .../hadoop/hbase/client/AdminOverAsyncAdmin.html   |    4 +-
 .../org/apache/hadoop/hbase/client/AsyncAdmin.html |  758 +-
 .../hadoop/hbase/client/AsyncHBaseAdmin.html       |    6 +-
 .../client/NormalizeTableFilterParams.Builder.html |  179 +
 .../hbase/client/NormalizeTableFilterParams.html   |  179 +
 ...seAdmin.AddColumnFamilyProcedureBiConsumer.html | 1834 ++---
 .../client/RawAsyncHBaseAdmin.AdminRpcCall.html    | 1834 ++---
 .../hbase/client/RawAsyncHBaseAdmin.Converter.html | 1834 ++---
 ...seAdmin.CreateNamespaceProcedureBiConsumer.html | 1834 ++---
 ...cHBaseAdmin.CreateTableProcedureBiConsumer.html | 1834 ++---
 ...dmin.DeleteColumnFamilyProcedureBiConsumer.html | 1834 ++---
 ...seAdmin.DeleteNamespaceProcedureBiConsumer.html | 1834 ++---
 ...cHBaseAdmin.DeleteTableProcedureBiConsumer.html | 1834 ++---
 ...HBaseAdmin.DisableTableProcedureBiConsumer.html | 1834 ++---
 ...cHBaseAdmin.EnableTableProcedureBiConsumer.html | 1834 ++---
 .../client/RawAsyncHBaseAdmin.MasterRpcCall.html   | 1834 ++---
 ...eAdmin.MergeTableRegionProcedureBiConsumer.html | 1834 ++---
 ...dmin.ModifyColumnFamilyProcedureBiConsumer.html | 1834 ++---
 ...seAdmin.ModifyNamespaceProcedureBiConsumer.html | 1834 ++---
 ...cHBaseAdmin.ModifyTableProcedureBiConsumer.html | 1834 ++---
 ...yncHBaseAdmin.NamespaceProcedureBiConsumer.html | 1834 ++---
 .../RawAsyncHBaseAdmin.ProcedureBiConsumer.html    | 1834 ++---
 ...cHBaseAdmin.ReplicationProcedureBiConsumer.html | 1834 ++---
 ...eAdmin.SplitTableRegionProcedureBiConsumer.html | 1834 ++---
 .../client/RawAsyncHBaseAdmin.TableOperator.html   | 1834 ++---
 ...awAsyncHBaseAdmin.TableProcedureBiConsumer.html | 1834 ++---
 ...BaseAdmin.TruncateTableProcedureBiConsumer.html | 1834 ++---
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.html    | 1834 ++---
 ...escriptorBuilder.ModifyableTableDescriptor.html |   78 +-
 .../hbase/client/TableDescriptorBuilder.html       |   78 +-
 .../ipc/AbstractRpcClient.AbstractRpcChannel.html  |    2 +-
 ...RpcClient.BlockingRpcChannelImplementation.html |    2 +-
 ...AbstractRpcClient.RpcChannelImplementation.html |    2 +-
 .../apache/hadoop/hbase/ipc/AbstractRpcClient.html |    2 +-
 .../master/HMaster.InitializationMonitor.html      | 7324 ++++++++++----------
 .../master/HMaster.MasterStoppedException.html     | 7324 ++++++++++----------
 .../hbase/master/HMaster.RedirectServlet.html      | 7324 ++++++++++----------
 .../master/HMaster.TableDescriptorGetter.html      | 7324 ++++++++++----------
 .../org/apache/hadoop/hbase/master/HMaster.html    | 7324 ++++++++++----------
 .../MasterRpcServices.BalanceSwitchMode.html       | 6446 ++++++++---------
 .../hadoop/hbase/master/MasterRpcServices.html     | 6446 ++++++++---------
 .../hadoop/hbase/thrift2/client/ThriftAdmin.html   |   94 +-
 .../org/apache/hadoop/hbase/util/PoolMap.Pool.html |  722 +-
 .../apache/hadoop/hbase/util/PoolMap.PoolType.html |  722 +-
 .../hadoop/hbase/util/PoolMap.RoundRobinPool.html  |  722 +-
 .../hadoop/hbase/util/PoolMap.ThreadLocalPool.html |  722 +-
 .../org/apache/hadoop/hbase/util/PoolMap.html      |  722 +-
 downloads.html                                     |    2 +-
 export_control.html                                |    2 +-
 index.html                                         |    2 +-
 issue-tracking.html                                |    2 +-
 mail-lists.html                                    |    2 +-
 metrics.html                                       |    2 +-
 old_news.html                                      |    2 +-
 plugin-management.html                             |    2 +-
 plugins.html                                       |    2 +-
 poweredbyhbase.html                                |    2 +-
 project-info.html                                  |    2 +-
 project-reports.html                               |    2 +-
 project-summary.html                               |    2 +-
 pseudo-distributed.html                            |    2 +-
 replication.html                                   |    2 +-
 resources.html                                     |    2 +-
 source-repository.html                             |    2 +-
 sponsors.html                                      |    2 +-
 supportingprojects.html                            |    2 +-
 team-list.html                                     |    2 +-
 testdevapidocs/index-all.html                      |    8 +-
 .../hbase/TestLocalHBaseCluster.MyHMaster.html     |    2 +-
 .../apache/hadoop/hbase/backup/package-tree.html   |    2 +-
 ...taReplicaAssigment.BrokenMetaReplicaMaster.html |    2 +-
 .../hadoop/hbase/master/AlwaysStandByHMaster.html  |    2 +-
 .../TestCloseAnOpeningRegion.MockHMaster.html      |    2 +-
 .../TestClusterRestartFailover.HMasterForTest.html |    2 +-
 .../master/TestGetReplicationLoad.MyMaster.html    |    2 +-
 .../hbase/master/TestMasterMetrics.MyMaster.html   |    2 +-
 ...stRegionsRecoveryConfigManager.TestHMaster.html |    2 +-
 .../TestShutdownBackupMaster.MockHMaster.html      |    2 +-
 ...tOpenRegionProcedureBackoff.HMasterForTest.html |    2 +-
 ...TestOpenRegionProcedureHang.HMasterForTest.html |    2 +-
 .../TestRaceBetweenSCPAndDTP.HMasterForTest.html   |    2 +-
 .../TestRaceBetweenSCPAndTRSP.HMasterForTest.html  |    2 +-
 ...gnedToMultipleRegionServers.HMasterForTest.html |    2 +-
 ...TestReportOnlineRegionsRace.HMasterForTest.html |    2 +-
 ...ateTransitionFromDeadServer.HMasterForTest.html |    2 +-
 ...tRegionStateTransitionRetry.HMasterForTest.html |    2 +-
 .../TestSCPGetRegionsRace.HMasterForTest.html      |    2 +-
 ...stWakeUpUnexpectedProcedure.HMasterForTest.html |    2 +-
 .../TestSimpleRegionNormalizerOnCluster.html       |  158 +-
 ...terPeerWorkerWhenRestarting.HMasterForTest.html |    2 +-
 .../org/apache/hadoop/hbase/package-tree.html      |   16 +-
 .../hadoop/hbase/procedure2/package-tree.html      |    4 +-
 ...stRegionMergeTransactionOnCluster.MyMaster.html |    2 +-
 ...ServerReportForDuty.NeverInitializedMaster.html |    2 +-
 .../TestSplitTransactionOnCluster.MyMaster.html    |    2 +-
 .../hadoop/hbase/regionserver/package-tree.html    |    2 +-
 .../TestReplicationProcedureRetry.MockHMaster.html |    2 +-
 .../TestMigrateRSGroupInfo.HMasterForTest.html     |    2 +-
 .../hbase/rsgroup/VerifyingRSGroupAdmin.html       |  362 +-
 .../org/apache/hadoop/hbase/test/package-tree.html |    4 +-
 .../TestSimpleRegionNormalizerOnCluster.html       |  872 +--
 .../hbase/rsgroup/VerifyingRSGroupAdmin.html       | 1738 ++---
 197 files changed, 57875 insertions(+), 55456 deletions(-)

diff --git a/acid-semantics.html b/acid-semantics.html
index 54e3faa..361c739 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -467,7 +467,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2020
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2020-08-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2020-08-19</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 427f461..05e2530 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.rc.2, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20200817200410+00'00')
-/CreationDate (D:20200817201542+00'00')
+/ModDate (D:20200819005659+00'00')
+/CreationDate (D:20200819010810+00'00')
 >>
 endobj
 2 0 obj
diff --git a/apidocs/allclasses-frame.html b/apidocs/allclasses-frame.html
index 608e614..d201b48 100644
--- a/apidocs/allclasses-frame.html
+++ b/apidocs/allclasses-frame.html
@@ -203,6 +203,7 @@
 <li><a href="org/apache/hadoop/hbase/NamespaceExistException.html" title="class in org.apache.hadoop.hbase" target="classFrame">NamespaceExistException</a></li>
 <li><a href="org/apache/hadoop/hbase/NamespaceNotFoundException.html" title="class in org.apache.hadoop.hbase" target="classFrame">NamespaceNotFoundException</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/NettyRpcClientConfigHelper.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">NettyRpcClientConfigHelper</a></li>
+<li><a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">NormalizeTableFilterParams</a></li>
 <li><a href="org/apache/hadoop/hbase/client/NoServerForRegionException.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">NoServerForRegionException</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">NoSuchColumnFamilyException</a></li>
 <li><a href="org/apache/hadoop/hbase/NotAllMetaRegionsOnlineException.html" title="class in org.apache.hadoop.hbase" target="classFrame">NotAllMetaRegionsOnlineException</a></li>
diff --git a/apidocs/allclasses-noframe.html b/apidocs/allclasses-noframe.html
index d833d9d..15f3dfb 100644
--- a/apidocs/allclasses-noframe.html
+++ b/apidocs/allclasses-noframe.html
@@ -203,6 +203,7 @@
 <li><a href="org/apache/hadoop/hbase/NamespaceExistException.html" title="class in org.apache.hadoop.hbase">NamespaceExistException</a></li>
 <li><a href="org/apache/hadoop/hbase/NamespaceNotFoundException.html" title="class in org.apache.hadoop.hbase">NamespaceNotFoundException</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/NettyRpcClientConfigHelper.html" title="class in org.apache.hadoop.hbase.ipc">NettyRpcClientConfigHelper</a></li>
+<li><a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a></li>
 <li><a href="org/apache/hadoop/hbase/client/NoServerForRegionException.html" title="class in org.apache.hadoop.hbase.client">NoServerForRegionException</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver">NoSuchColumnFamilyException</a></li>
 <li><a href="org/apache/hadoop/hbase/NotAllMetaRegionsOnlineException.html" title="class in org.apache.hadoop.hbase">NotAllMetaRegionsOnlineException</a></li>
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index e49c46b..657b43c 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -6260,6 +6260,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html#getNameInBytes--">getNameInBytes()</a></span> - Method in enum org.apache.hadoop.hbase.io.encoding.<a href="org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html#getNamespace--">getNamespace()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html#getNamespace--">getNamespace()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TableName.html#getNamespace--">getNamespace()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></dt>
@@ -6572,6 +6574,8 @@
 <dd>
 <div class="block">Creates a new record writer.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html#getRegex--">getRegex()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HRegionLocation.html#getRegion--">getRegion()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterMetrics.html#getRegionCount--">getRegionCount()</a></span> - Method in interface org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a></dt>
@@ -7242,6 +7246,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/SnapshotDescription.html#getTableNameAsString--">getTableNameAsString()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html#getTableNames--">getTableNames()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#getTableNameSuffixedWithFamily-byte:A-byte:A-">getTableNameSuffixedWithFamily(byte[], byte[])</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html" title="class in org.apache.hadoop.hbase.mapreduce">HFileOutputFormat2</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterMetrics.html#getTableRegionStatesCount--">getTableRegionStatesCount()</a></span> - Method in interface org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a></dt>
@@ -10773,10 +10779,18 @@
 <dd>
 <div class="block">Invoke region normalizer.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#normalize-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-">normalize(NormalizeTableFilterParams)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
+<dd>
+<div class="block">Invoke region normalizer.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#normalize--">normalize()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
 <dd>
 <div class="block">Invoke region normalizer.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#normalize-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-">normalize(NormalizeTableFilterParams)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Invoke region normalizer.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#NORMALIZER_TARGET_REGION_COUNT">NORMALIZER_TARGET_REGION_COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#NORMALIZER_TARGET_REGION_SIZE">NORMALIZER_TARGET_REGION_SIZE</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a></dt>
@@ -10789,6 +10803,10 @@
 <dd>
 <div class="block">Set region normalizer on/off.</div>
 </dd>
+<dt><a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">NormalizeTableFilterParams</span></a> - Class in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
+<dd>
+<div class="block">A collection of criteria used for table selection.</div>
+</dd>
 <dt><a href="org/apache/hadoop/hbase/client/NoServerForRegionException.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">NoServerForRegionException</span></a> - Exception in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>
 <div class="block">Thrown when no region server can be found for a region</div>
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/TableName.html b/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
index b7989e8..ac73283 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -426,37 +426,41 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">NormalizeTableFilterParams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html#getTableNames--">getTableNames</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;< [...]
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames--">listTableNames</a></span>()</code>
 <div class="block">List all of the names of userspace tables.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames-boolean-">listTableNames</a></span>(boolean&nbsp;includeSysTables)</code>
 <div class="block">List all of the names of tables.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames-java.util.regex.Pattern-boolean-">listTableNames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern,
               boolean&nbsp;includeSysTables)</code>
 <div class="block">List all of the names of userspace tables.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNamesByNamespace-java.lang.String-">listTableNamesByNamespace</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>&nbsp;name)</code>
 <div class="block">Get list of table names by namespace.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTablesInRSGroup-java.lang.String-">listTablesInRSGroup</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>&nbsp;groupName)</code>
 <div class="block">Get all tables in this RegionServer group.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#listTablesInRSGroup-java.lang.String-">listTablesInRSGroup</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>&nbsp;groupName)</code>
 <div class="block">Get all tables in this RegionServer group.</div>
diff --git a/apidocs/org/apache/hadoop/hbase/client/Admin.html b/apidocs/org/apache/hadoop/hbase/client/Admin.html
index 45d2ff9..05f1db7 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Admin.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Admin.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":50,"i2":38,"i3":18,"i4":6,"i5":18,"i6":18,"i7":18,"i8":6,"i9":6,"i10":18,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":18,"i23":18,"i24":18,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":38,"i37":38,"i38":18,"i39":6,"i40":18,"i41":18,"i42":6,"i43":6,"i44":6,"i45":6,"i46":18,"i47":6,"i48":18,"i49":6,"i50":6,"i51":6,"i52":18,"i53":6,"i54":6,"i55":18,"i56":6,"i57":18,"i5 [...]
+var methods = {"i0":6,"i1":50,"i2":38,"i3":18,"i4":6,"i5":18,"i6":18,"i7":18,"i8":6,"i9":6,"i10":18,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":18,"i23":18,"i24":18,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":38,"i37":38,"i38":18,"i39":6,"i40":18,"i41":18,"i42":6,"i43":6,"i44":6,"i45":6,"i46":18,"i47":6,"i48":18,"i49":6,"i50":6,"i51":6,"i52":18,"i53":6,"i54":6,"i55":18,"i56":6,"i57":18,"i5 [...]
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -1249,83 +1249,89 @@ extends org.apache.hadoop.hbase.Abortable, <a href="https://docs.oracle.com/java
 </td>
 </tr>
 <tr id="i172" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
+<td class="colFirst"><code>default boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#normalize--">normalize</a></span>()</code>
 <div class="block">Invoke region normalizer.</div>
 </td>
 </tr>
 <tr id="i173" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#normalize-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-">normalize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp)</code>
+<div class="block">Invoke region normalizer.</div>
+</td>
+</tr>
+<tr id="i174" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#normalizerSwitch-boolean-">normalizerSwitch</a></span>(boolean&nbsp;on)</code>
 <div class="block">Turn region normalizer on or off.</div>
 </td>
 </tr>
-<tr id="i174" class="altColor">
+<tr id="i175" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#offline-byte:A-">offline</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Offline specified region from master's in-memory state.</div>
 </td>
 </tr>
-<tr id="i175" class="rowColor">
+<tr id="i176" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#recommissionRegionServer-org.apache.hadoop.hbase.ServerName-java.util.List-">recommissionRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;encodedRegionNames)</code>
 <div class="block">Remove decommission marker from a region server to allow regions assignments.</div>
 </td>
 </tr>
-<tr id="i176" class="altColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</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>&nbsp;peerId)</code>
 <div class="block">Remove a peer and stop the replication.</div>
 </td>
 </tr>
-<tr id="i177" class="rowColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#removeReplicationPeerAsync-java.lang.String-">removeReplicationPeerAsync</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>&nbsp;peerId)</code>
 <div class="block">Remove a replication peer but does not block and wait for it.</div>
 </td>
 </tr>
-<tr id="i178" class="altColor">
+<tr id="i179" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#removeReplicationPeerTableCFs-java.lang.String-java.util.Map-">removeReplicationPeerTableCFs</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>&nbsp;id,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Str [...]
 <div class="block">Remove some table-cfs from config of the specified peer.</div>
 </td>
 </tr>
-<tr id="i179" class="rowColor">
+<tr id="i180" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#removeRSGroup-java.lang.String-">removeRSGroup</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>&nbsp;groupName)</code>
 <div class="block">Remove RegionServer group associated with the given name</div>
 </td>
 </tr>
-<tr id="i180" class="altColor">
+<tr id="i181" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#removeServersFromRSGroup-java.util.Set-">removeServersFromRSGroup</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers)</code>
 <div class="block">Remove decommissioned servers from group
   1.</div>
 </td>
 </tr>
-<tr id="i181" class="rowColor">
+<tr id="i182" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#renameRSGroup-java.lang.String-java.lang.String-">renameRSGroup</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>&nbsp;oldName,
              <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>&nbsp;newName)</code>
 <div class="block">Rename rsgroup</div>
 </td>
 </tr>
-<tr id="i182" class="altColor">
+<tr id="i183" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#restoreSnapshot-java.lang.String-">restoreSnapshot</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>&nbsp;snapshotName)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i183" class="rowColor">
+<tr id="i184" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#restoreSnapshot-java.lang.String-boolean-">restoreSnapshot</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>&nbsp;snapshotName,
                boolean&nbsp;takeFailSafeSnapshot)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i184" class="altColor">
+<tr id="i185" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#restoreSnapshot-java.lang.String-boolean-boolean-">restoreSnapshot</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>&nbsp;snapshotName,
                boolean&nbsp;takeFailSafeSnapshot,
@@ -1333,63 +1339,63 @@ extends org.apache.hadoop.hbase.Abortable, <a href="https://docs.oracle.com/java
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i185" class="rowColor">
+<tr id="i186" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#revoke-org.apache.hadoop.hbase.security.access.UserPermission-">revoke</a></span>(org.apache.hadoop.hbase.security.access.UserPermission&nbsp;userPermission)</code>
 <div class="block">Revokes user specific permissions</div>
 </td>
 </tr>
-<tr id="i186" class="altColor">
+<tr id="i187" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#rollWALWriter-org.apache.hadoop.hbase.ServerName-">rollWALWriter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Roll the log writer.</div>
 </td>
 </tr>
-<tr id="i187" class="rowColor">
+<tr id="i188" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#runCatalogJanitor--">runCatalogJanitor</a></span>()</code>
 <div class="block">Ask for a scan of the catalog table.</div>
 </td>
 </tr>
-<tr id="i188" class="altColor">
+<tr id="i189" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#runCleanerChore--">runCleanerChore</a></span>()</code>
 <div class="block">Ask for cleaner chore to run.</div>
 </td>
 </tr>
-<tr id="i189" class="rowColor">
+<tr id="i190" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#setQuota-org.apache.hadoop.hbase.quotas.QuotaSettings-">setQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;quota)</code>
 <div class="block">Apply the new quota settings.</div>
 </td>
 </tr>
-<tr id="i190" class="altColor">
+<tr id="i191" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#setRSGroup-java.util.Set-java.lang.String-">setRSGroup</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
           <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>&nbsp;groupName)</code>
 <div class="block">Set the RegionServer group for tables</div>
 </td>
 </tr>
-<tr id="i191" class="rowColor">
+<tr id="i192" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">Shuts down the HBase cluster.</div>
 </td>
 </tr>
-<tr id="i192" class="altColor">
+<tr id="i193" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-org.apache.hadoop.hbase.client.SnapshotDescription-">snapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Take a snapshot and wait for the server to complete that snapshot (blocking).</div>
 </td>
 </tr>
-<tr id="i193" class="rowColor">
+<tr id="i194" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</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>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Take a snapshot for the given table.</div>
 </td>
 </tr>
-<tr id="i194" class="altColor">
+<tr id="i195" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-java.util.Map-">snapshot</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>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1397,7 +1403,7 @@ extends org.apache.hadoop.hbase.Abortable, <a href="https://docs.oracle.com/java
 <div class="block">Create typed snapshot of the table.</div>
 </td>
 </tr>
-<tr id="i195" class="rowColor">
+<tr id="i196" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</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>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1405,7 +1411,7 @@ extends org.apache.hadoop.hbase.Abortable, <a href="https://docs.oracle.com/java
 <div class="block">Create typed snapshot of the table.</div>
 </td>
 </tr>
-<tr id="i196" class="altColor">
+<tr id="i197" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-java.util.Map-">snapshot</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>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1414,138 +1420,138 @@ extends org.apache.hadoop.hbase.Abortable, <a href="https://docs.oracle.com/java
 <div class="block">Create typed snapshot of the table.</div>
 </td>
 </tr>
-<tr id="i197" class="rowColor">
+<tr id="i198" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshotAsync-org.apache.hadoop.hbase.client.SnapshotDescription-">snapshotAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Take a snapshot without waiting for the server to complete that snapshot (asynchronous).</div>
 </td>
 </tr>
-<tr id="i198" class="altColor">
+<tr id="i199" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshotCleanupSwitch-boolean-boolean-">snapshotCleanupSwitch</a></span>(boolean&nbsp;on,
                      boolean&nbsp;synchronous)</code>
 <div class="block">Turn on or off the auto snapshot cleanup based on TTL.</div>
 </td>
 </tr>
-<tr id="i199" class="rowColor">
+<tr id="i200" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#split-org.apache.hadoop.hbase.TableName-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i200" class="altColor">
+<tr id="i201" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#split-org.apache.hadoop.hbase.TableName-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
      byte[]&nbsp;splitPoint)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i201" class="rowColor">
+<tr id="i202" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#splitRegionAsync-byte:A-">splitRegionAsync</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i202" class="altColor">
+<tr id="i203" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#splitRegionAsync-byte:A-byte:A-">splitRegionAsync</a></span>(byte[]&nbsp;regionName,
                 byte[]&nbsp;splitPoint)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i203" class="rowColor">
+<tr id="i204" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#splitSwitch-boolean-boolean-">splitSwitch</a></span>(boolean&nbsp;enabled,
            boolean&nbsp;synchronous)</code>
 <div class="block">Turn the split switch on or off.</div>
 </td>
 </tr>
-<tr id="i204" class="altColor">
+<tr id="i205" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#stopMaster--">stopMaster</a></span>()</code>
 <div class="block">Shuts down the current HBase master only.</div>
 </td>
 </tr>
-<tr id="i205" class="rowColor">
+<tr id="i206" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#stopRegionServer-java.lang.String-">stopRegionServer</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>&nbsp;hostnamePort)</code>
 <div class="block">Stop the designated regionserver.</div>
 </td>
 </tr>
-<tr id="i206" class="altColor">
+<tr id="i207" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#switchRpcThrottle-boolean-">switchRpcThrottle</a></span>(boolean&nbsp;enable)</code>
 <div class="block">Switch the rpc throttle enable state.</div>
 </td>
 </tr>
-<tr id="i207" class="rowColor">
+<tr id="i208" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i208" class="altColor">
+<tr id="i209" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#transitReplicationPeerSyncReplicationState-java.lang.String-org.apache.hadoop.hbase.replication.SyncReplicationState-">transitReplicationPeerSyncReplicationState</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>&nbsp;peerId,
                                           <a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)</code>
 <div class="block">Transit current cluster to a new state in a synchronous replication peer.</div>
 </td>
 </tr>
-<tr id="i209" class="rowColor">
+<tr id="i210" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#transitReplicationPeerSyncReplicationStateAsync-java.lang.String-org.apache.hadoop.hbase.replication.SyncReplicationState-">transitReplicationPeerSyncReplicationStateAsync</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>&nbsp;peerId,
                                                <a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)</code>
 <div class="block">Transit current cluster to a new state in a synchronous replication peer.</div>
 </td>
 </tr>
-<tr id="i210" class="altColor">
+<tr id="i211" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits)</code>
 <div class="block">Truncate a table.</div>
 </td>
 </tr>
-<tr id="i211" class="rowColor">
+<tr id="i212" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#truncateTableAsync-org.apache.hadoop.hbase.TableName-boolean-">truncateTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   boolean&nbsp;preserveSplits)</code>
 <div class="block">Truncate the table but does not block and wait for it to be completely enabled.</div>
 </td>
 </tr>
-<tr id="i212" class="altColor">
+<tr id="i213" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#unassign-byte:A-boolean-">unassign</a></span>(byte[]&nbsp;regionName,
         boolean&nbsp;force)</code>
 <div class="block">Unassign a region from current hosting regionserver.</div>
 </td>
 </tr>
-<tr id="i213" class="rowColor">
+<tr id="i214" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#updateConfiguration--">updateConfiguration</a></span>()</code>
 <div class="block">Update the configuration and trigger an online config change
  on all the regionservers.</div>
 </td>
 </tr>
-<tr id="i214" class="altColor">
+<tr id="i215" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#updateConfiguration-org.apache.hadoop.hbase.ServerName-">updateConfiguration</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server)</code>
 <div class="block">Update the configuration and trigger an online config change
  on the regionserver.</div>
 </td>
 </tr>
-<tr id="i215" class="rowColor">
+<tr id="i216" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</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>&nbsp;peerId,
                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
 <div class="block">Update the peerConfig for the specified peer.</div>
 </td>
 </tr>
-<tr id="i216" class="altColor">
+<tr id="i217" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#updateReplicationPeerConfigAsync-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfigAsync</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>&nbsp;peerId,
                                 <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
 <div class="block">Update the peerConfig for the specified peer but does not block and wait for it.</div>
 </td>
 </tr>
-<tr id="i217" class="rowColor">
+<tr id="i218" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#updateRSGroupConfig-java.lang.String-java.util.Map-">updateRSGroupConfig</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>&nbsp;groupName,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;configuration)</code>
@@ -2998,13 +3004,35 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>normalize</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.862">normalize</a>()
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.862">normalize</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>
+<div class="block">Invoke region normalizer. Can NOT run for various reasons.  Check logs.
+ This is a non-blocking invocation to region normalizer. If return value is true, it means
+ the request was submitted successfully. We need to check logs for the details of which regions
+ were split/merged.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if region normalizer ran, <code>false</code> otherwise.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><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></code> - if a remote or network exception occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="normalize-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>normalize</h4>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.876">normalize</a>(<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp)
            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">Invoke region normalizer. Can NOT run for various reasons.  Check logs.
  This is a non-blocking invocation to region normalizer. If return value is true, it means
  the request was submitted successfully. We need to check logs for the details of which regions
  were split/merged.</div>
 <dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ntfp</code> - limit to tables matching the specified filter.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd><code>true</code> if region normalizer ran, <code>false</code> otherwise.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3018,7 +3046,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>isNormalizerEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.870">isNormalizerEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.884">isNormalizerEnabled</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>
 <div class="block">Query the current state of the region normalizer.</div>
 <dl>
@@ -3035,7 +3063,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>normalizerSwitch</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.878">normalizerSwitch</a>(boolean&nbsp;on)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.892">normalizerSwitch</a>(boolean&nbsp;on)
                   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">Turn region normalizer on or off.</div>
 <dl>
@@ -3052,7 +3080,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>catalogJanitorSwitch</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.887">catalogJanitorSwitch</a>(boolean&nbsp;onOrOff)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.901">catalogJanitorSwitch</a>(boolean&nbsp;onOrOff)
                       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">Enable/Disable the catalog janitor/</div>
 <dl>
@@ -3071,7 +3099,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>runCatalogJanitor</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.895">runCatalogJanitor</a>()
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.909">runCatalogJanitor</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>
 <div class="block">Ask for a scan of the catalog table.</div>
 <dl>
@@ -3088,7 +3116,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>isCatalogJanitorEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.902">isCatalogJanitorEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.916">isCatalogJanitorEnabled</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>
 <div class="block">Query on the catalog janitor state (Enabled/Disabled?).</div>
 <dl>
@@ -3103,7 +3131,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanerChoreSwitch</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.911">cleanerChoreSwitch</a>(boolean&nbsp;onOrOff)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.925">cleanerChoreSwitch</a>(boolean&nbsp;onOrOff)
                     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">Enable/Disable the cleaner chore.</div>
 <dl>
@@ -3122,7 +3150,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>runCleanerChore</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.919">runCleanerChore</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.933">runCleanerChore</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>
 <div class="block">Ask for cleaner chore to run.</div>
 <dl>
@@ -3139,7 +3167,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>isCleanerChoreEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.926">isCleanerChoreEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.940">isCleanerChoreEnabled</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>
 <div class="block">Query on the cleaner chore state (Enabled/Disabled?).</div>
 <dl>
@@ -3155,7 +3183,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <li class="blockList">
 <h4>mergeRegionsAsync</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.940">mergeRegionsAsync</a>(byte[]&nbsp;nameOfRegionA,
+default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.954">mergeRegionsAsync</a>(byte[]&nbsp;nameOfRegionA,
                                                    byte[]&nbsp;nameOfRegionB,
                                                    boolean&nbsp;forcible)
                                             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>
@@ -3179,7 +3207,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeRegionsAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.955">mergeRegionsAsync</a>(byte[][]&nbsp;nameofRegionsToMerge,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.969">mergeRegionsAsync</a>(byte[][]&nbsp;nameofRegionsToMerge,
                                boolean&nbsp;forcible)
                         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">Merge multiple regions (>=2). Asynchronous operation.</div>
@@ -3199,7 +3227,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>split</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.963">split</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.977">split</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
     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">Split a table. The method will execute split action for each region in table.</div>
 <dl>
@@ -3216,7 +3244,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>split</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.971">split</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.985">split</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
            byte[]&nbsp;splitPoint)
     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">Split a table.</div>
@@ -3235,7 +3263,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>splitRegionAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.978">splitRegionAsync</a>(byte[]&nbsp;regionName)
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.992">splitRegionAsync</a>(byte[]&nbsp;regionName)
                        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">Split an individual region. Asynchronous operation.</div>
 <dl>
@@ -3252,7 +3280,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>splitRegionAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.986">splitRegionAsync</a>(byte[]&nbsp;regionName,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1000">splitRegionAsync</a>(byte[]&nbsp;regionName,
                               byte[]&nbsp;splitPoint)
                        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">Split an individual region. Asynchronous operation.</div>
@@ -3271,7 +3299,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTable</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.993">modifyTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td)
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1007">modifyTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td)
                   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">Modify an existing table, more IRB friendly version.</div>
 <dl>
@@ -3288,7 +3316,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTableAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1008">modifyTableAsync</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescri [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1022">modifyTableAsync</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescri [...]
                        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">Modify an existing table, more IRB (ruby) friendly version. Asynchronous operation. This means
  that it may be a while before your schema change is updated across all of the table. You can
@@ -3312,7 +3340,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1017">shutdown</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1031">shutdown</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>
 <div class="block">Shuts down the HBase cluster.
  <p/>
@@ -3330,7 +3358,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>stopMaster</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1027">stopMaster</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1041">stopMaster</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>
 <div class="block">Shuts down the current HBase master only. Does not shutdown the cluster.
  <p/>
@@ -3350,7 +3378,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>isMasterInMaintenanceMode</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1034">isMasterInMaintenanceMode</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1048">isMasterInMaintenanceMode</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>
 <div class="block">Check whether Master is in maintenance mode.</div>
 <dl>
@@ -3365,7 +3393,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>stopRegionServer</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1043">stopRegionServer</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>&nbsp;hostnamePort)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1057">stopRegionServer</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>&nbsp;hostnamePort)
                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">Stop the designated regionserver.</div>
 <dl>
@@ -3383,7 +3411,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1059">getClusterMetrics</a>()
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1073">getClusterMetrics</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>
 <div class="block">Get whole cluster metrics, containing status about:
  <pre>
@@ -3409,7 +3437,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1068">getClusterMetrics</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;org.apache.hadoop.hbase.ClusterMetrics.Option&gt;&nbsp;options)
+<pre><a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1082">getClusterMetrics</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;org.apache.hadoop.hbase.ClusterMetrics.Option&gt;&nbsp;options)
                           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">Get cluster status with a set of <code>ClusterMetrics.Option</code> to get desired status.</div>
 <dl>
@@ -3426,7 +3454,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaster</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1074">getMaster</a>()
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1088">getMaster</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="returnLabel">Returns:</span></dt>
@@ -3442,7 +3470,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getBackupMasters</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1082">getBackupMasters</a>()
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1096">getBackupMasters</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="returnLabel">Returns:</span></dt>
@@ -3458,7 +3486,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServers</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1090">getRegionServers</a>()
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1104">getRegionServers</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="returnLabel">Returns:</span></dt>
@@ -3474,7 +3502,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServers</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1102">getRegionServers</a>(boolean&nbsp;excludeDecommissionedRS)
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1116">getRegionServers</a>(boolean&nbsp;excludeDecommissionedRS)
                                          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">Retrieve all current live region servers including decommissioned
  if excludeDecommissionedRS is false, else non-decommissioned ones only</div>
@@ -3494,7 +3522,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionMetrics</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionMetrics.html" title="interface in org.apache.hadoop.hbase">RegionMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1122">getRegionMetrics</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop. [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionMetrics.html" title="interface in org.apache.hadoop.hbase">RegionMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1136">getRegionMetrics</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop. [...]
                               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">Get <a href="../../../../../org/apache/hadoop/hbase/RegionMetrics.html" title="interface in org.apache.hadoop.hbase"><code>RegionMetrics</code></a> of all regions hosted on a regionserver.</div>
 <dl>
@@ -3513,7 +3541,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionMetrics</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionMetrics.html" title="interface in org.apache.hadoop.hbase">RegionMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1132">getRegionMetrics</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop. [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionMetrics.html" title="interface in org.apache.hadoop.hbase">RegionMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1146">getRegionMetrics</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop. [...]
                                      <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                               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">Get <a href="../../../../../org/apache/hadoop/hbase/RegionMetrics.html" title="interface in org.apache.hadoop.hbase"><code>RegionMetrics</code></a> of all regions hosted on a regionserver for a table.</div>
@@ -3534,7 +3562,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1138">getConfiguration</a>()</pre>
+<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1152">getConfiguration</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Configuration used by the instance.</dd>
@@ -3547,7 +3575,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>createNamespace</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1146">createNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1160">createNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)
                       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">Create a new namespace. Blocks until namespace has been successfully created or an exception is
  thrown.</div>
@@ -3565,7 +3593,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>createNamespaceAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1157">createNamespaceAsync</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescr [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1171">createNamespaceAsync</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescr [...]
                            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">Create a new namespace.</div>
 <dl>
@@ -3585,7 +3613,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyNamespace</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1165">modifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1179">modifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)
                       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">Modify an existing namespace. Blocks until namespace has been successfully modified or an
  exception is thrown.</div>
@@ -3603,7 +3631,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyNamespaceAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1176">modifyNamespaceAsync</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescr [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1190">modifyNamespaceAsync</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescr [...]
                            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">Modify an existing namespace.</div>
 <dl>
@@ -3623,7 +3651,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteNamespace</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1184">deleteNamespace</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>&nbsp;name)
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1198">deleteNamespace</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>&nbsp;name)
                       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">Delete an existing namespace. Only empty namespaces (no tables) can be removed. Blocks until
  namespace has been successfully deleted or an exception is thrown.</div>
@@ -3641,7 +3669,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteNamespaceAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1195">deleteNamespaceAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/S [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1209">deleteNamespaceAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/S [...]
                            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">Delete an existing namespace. Only empty namespaces (no tables) can be removed.</div>
 <dl>
@@ -3661,7 +3689,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespaceDescriptor</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1204">getNamespaceDescriptor</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>&nbsp;name)
+<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1218">getNamespaceDescriptor</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>&nbsp;name)
                                     throws <a href="../../../../../org/apache/hadoop/hbase/NamespaceNotFoundException.html" title="class in org.apache.hadoop.hbase">NamespaceNotFoundException</a>,
                                            <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">Get a namespace descriptor by name.</div>
@@ -3682,7 +3710,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>listNamespaces</h4>
-<pre><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>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1213">listNamespaces</a>()
+<pre><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>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1227">listNamespaces</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>
 <div class="block">List available namespaces</div>
 <dl>
@@ -3699,7 +3727,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>listNamespaceDescriptors</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1221">listNamespaceDescriptors</a>()
+<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1235">listNamespaceDescriptors</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>
 <div class="block">List available namespace descriptors</div>
 <dl>
@@ -3716,7 +3744,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableDescriptorsByNamespace</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1229">listTableDescriptorsByNamespace</a>(byte[]&nbsp;name)
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1243">listTableDescriptorsByNamespace</a>(byte[]&nbsp;name)
                                                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">Get list of table descriptors by namespace.</div>
 <dl>
@@ -3735,7 +3763,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNamesByNamespace</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1237">listTableNamesByNamespace</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>&nbsp;name)
+<pre><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1251">listTableNamesByNamespace</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>&nbsp;name)
                                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">Get list of table names by namespace.</div>
 <dl>
@@ -3754,7 +3782,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegions</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1246">getRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1260">getRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop [...]
                      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">Get the regions of a given table.</div>
 <dl>
@@ -3773,7 +3801,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1249">close</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1263">close</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/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
@@ -3788,7 +3816,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableDescriptors</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1258">listTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-ext [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1272">listTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-ext [...]
                                     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">Get tableDescriptors.</div>
 <dl>
@@ -3808,7 +3836,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <li class="blockList">
 <h4>abortProcedure</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1274">abortProcedure</a>(long&nbsp;procId,
+default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1288">abortProcedure</a>(long&nbsp;procId,
                                            boolean&nbsp;mayInterruptIfRunning)
                                     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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.1.1 and will be removed in 4.0.0.</span></div>
@@ -3836,7 +3864,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <li class="blockList">
 <h4>abortProcedureAsync</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1295">abortProcedureAsync</a>(long&nbsp;procId,
+<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1309">abortProcedureAsync</a>(long&nbsp;procId,
                                                 boolean&nbsp;mayInterruptIfRunning)
                                          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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.1.1 and will be removed in 4.0.0.</span></div>
@@ -3865,7 +3893,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedures</h4>
-<pre><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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1303">getProcedures</a>()
+<pre><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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1317">getProcedures</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>
 <div class="block">Get procedures.</div>
 <dl>
@@ -3882,7 +3910,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocks</h4>
-<pre><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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1310">getLocks</a>()
+<pre><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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1324">getLocks</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>
 <div class="block">Get locks.</div>
 <dl>
@@ -3899,7 +3927,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>rollWALWriter</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1323">rollWALWriter</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1337">rollWALWriter</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
             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>,
                    <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FailedLogCloseException</a></pre>
 <div class="block">Roll the log writer. I.e. for filesystem based write ahead logs, start writing to a new file.
@@ -3922,7 +3950,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterCoprocessorNames</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1330">getMasterCoprocessorNames</a>()
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1344">getMasterCoprocessorNames</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>
 <div class="block">Helper that delegates to getClusterMetrics().getMasterCoprocessorNames().</div>
 <dl>
@@ -3941,7 +3969,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionState</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1343">getCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1357">getCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                             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">Get the current compaction state of a table. It could be in a major compaction, a minor
  compaction, both, or none.</div>
@@ -3961,7 +3989,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionState</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1353">getCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1367">getCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                    <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a>&nbsp;compactType)
                             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">Get the current compaction state of a table. It could be in a compaction, or none.</div>
@@ -3982,7 +4010,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionStateForRegion</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1364">getCompactionStateForRegion</a>(byte[]&nbsp;regionName)
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1378">getCompactionStateForRegion</a>(byte[]&nbsp;regionName)
                                      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">Get the current compaction state of region. It could be in a major compaction, a minor
  compaction, both, or none.</div>
@@ -4002,7 +4030,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestamp</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1376">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1390">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                               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">Get the timestamp of the last major compaction for the passed table
 
@@ -4024,7 +4052,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestampForRegion</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1388">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1402">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
                                        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">Get the timestamp of the last major compaction for the passed region.
 
@@ -4046,7 +4074,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshot</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1405">snapshot</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>&nbsp;snapshotName,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1419">snapshot</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>&nbsp;snapshotName,
                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                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>,
                       <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotCreationException</a>,
@@ -4076,7 +4104,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshot</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1425">snapshot</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>&nbsp;snapshotName,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1439">snapshot</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>&nbsp;snapshotName,
                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                       <a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client">SnapshotType</a>&nbsp;type)
                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>,
@@ -4107,7 +4135,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshot</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1448">snapshot</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>&nbsp;snapshotName,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1462">snapshot</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>&nbsp;snapshotName,
                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                       <a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client">SnapshotType</a>&nbsp;type,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;snapshotProps)
@@ -4141,7 +4169,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshot</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1471">snapshot</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>&nbsp;snapshotName,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1485">snapshot</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>&nbsp;snapshotName,
                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;snapshotProps)
                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>,
@@ -4173,7 +4201,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshot</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1492">snapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1506">snapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)
        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>,
               <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotCreationException</a>,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
@@ -4202,7 +4230,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1505">snapshotAsync</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescri [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1519">snapshotAsync</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescri [...]
                     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>,
                            <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotCreationException</a></pre>
 <div class="block">Take a snapshot without waiting for the server to complete that snapshot (asynchronous).
@@ -4224,7 +4252,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>isSnapshotFinished</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1524">isSnapshotFinished</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1538">isSnapshotFinished</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)
                     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>,
                            <a href="../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a>,
                            <a href="../../../../../org/apache/hadoop/hbase/snapshot/UnknownSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">UnknownSnapshotException</a></pre>
@@ -4253,7 +4281,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1538">restoreSnapshot</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>&nbsp;snapshotName)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1552">restoreSnapshot</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>&nbsp;snapshotName)
               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>,
                      <a href="../../../../../org/apache/hadoop/hbase/snapshot/RestoreSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">RestoreSnapshotException</a></pre>
 <div class="block">Restore the specified snapshot on the original table. (The table must be disabled) If the
@@ -4277,7 +4305,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1553">restoreSnapshot</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>&nbsp;snapshotName,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1567">restoreSnapshot</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>&nbsp;snapshotName,
                              boolean&nbsp;takeFailSafeSnapshot)
                       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>,
                              <a href="../../../../../org/apache/hadoop/hbase/snapshot/RestoreSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">RestoreSnapshotException</a></pre>
@@ -4304,7 +4332,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1572">restoreSnapshot</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>&nbsp;snapshotName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1586">restoreSnapshot</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>&nbsp;snapshotName,
                      boolean&nbsp;takeFailSafeSnapshot,
                      boolean&nbsp;restoreAcl)
               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>,
@@ -4333,7 +4361,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneSnapshot</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1584">cloneSnapshot</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>&nbsp;snapshotName,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1598">cloneSnapshot</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>&nbsp;snapshotName,
                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                     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>,
                            <a href="../../../../../org/apache/hadoop/hbase/TableExistsException.html" title="class in org.apache.hadoop.hbase">TableExistsException</a>,
@@ -4357,7 +4385,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneSnapshot</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1599">cloneSnapshot</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>&nbsp;snapshotName,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1613">cloneSnapshot</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>&nbsp;snapshotName,
                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            boolean&nbsp;restoreAcl)
                     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>,
@@ -4383,7 +4411,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneSnapshotAsync</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1618">cloneSnapshotAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/ [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1632">cloneSnapshotAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/ [...]
                                         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                  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>,
                                         <a href="../../../../../org/apache/hadoop/hbase/TableExistsException.html" title="class in org.apache.hadoop.hbase">TableExistsException</a></pre>
@@ -4411,7 +4439,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneSnapshotAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1633">cloneSnapshotAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Str [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1647">cloneSnapshotAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Str [...]
                                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                 boolean&nbsp;restoreAcl)
                          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>,
@@ -4437,7 +4465,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>execProcedure</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1646">execProcedure</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>&nbsp;signature,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1660">execProcedure</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>&nbsp;signature,
                    <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>&nbsp;instance,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;props)
             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>
@@ -4460,7 +4488,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>execProcedureWithReturn</h4>
-<pre>byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1660">execProcedureWithReturn</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>&nbsp;signature,
+<pre>byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1674">execProcedureWithReturn</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>&nbsp;signature,
                                <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>&nbsp;instance,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;props)
                         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>
@@ -4485,7 +4513,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>isProcedureFinished</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1674">isProcedureFinished</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>&nbsp;signature,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1688">isProcedureFinished</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>&nbsp;signature,
                             <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>&nbsp;instance,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;props)
                      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>
@@ -4510,7 +4538,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listSnapshots</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1683">listSnapshots</a>()
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1697">listSnapshots</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>
 <div class="block">List completed snapshots.</div>
 <dl>
@@ -4527,7 +4555,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listSnapshots</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1692">listSnapshots</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html? [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1706">listSnapshots</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html? [...]
                                  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">List all the completed snapshots matching the given pattern.</div>
 <dl>
@@ -4546,7 +4574,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableSnapshots</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1702">listTableSnapshots</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern. [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1716">listTableSnapshots</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern. [...]
                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;snapshotNamePattern)
                                       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">List all the completed snapshots matching the given table name regular expression and snapshot
@@ -4568,7 +4596,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteSnapshot</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1711">deleteSnapshot</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>&nbsp;snapshotName)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1725">deleteSnapshot</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>&nbsp;snapshotName)
              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">Delete an existing snapshot.</div>
 <dl>
@@ -4585,7 +4613,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteSnapshots</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1719">deleteSnapshots</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1733">deleteSnapshots</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)
               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">Delete existing snapshots whose names match the pattern passed.</div>
 <dl>
@@ -4602,7 +4630,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTableSnapshots</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1728">deleteTableSnapshots</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;tableNamePattern,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1742">deleteTableSnapshots</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;tableNamePattern,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;snapshotNamePattern)
                    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">Delete all existing snapshots matching the given table name regular expression and snapshot
@@ -4622,7 +4650,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>setQuota</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1737">setQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;quota)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1751">setQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;quota)
        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">Apply the new quota settings.</div>
 <dl>
@@ -4639,7 +4667,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuota</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1745">getQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apac [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1759">getQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apac [...]
                       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">List the quotas based on the filter.</div>
 <dl>
@@ -4659,7 +4687,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <li class="blockList">
 <h4>coprocessorService</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-<a href="../../../../../org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">CoprocessorRpcChannel</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1773">coprocessorService</a>()</pre>
+<a href="../../../../../org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">CoprocessorRpcChannel</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1787">coprocessorService</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 3.0.0, will removed in 4.0.0. This is too low level, please stop using it any
              more. Use the coprocessorService methods in <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncAdmin</code></a> instead.</span></div>
 <div class="block">Creates and returns a <code>RpcChannel</code>
@@ -4695,7 +4723,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <li class="blockList">
 <h4>coprocessorService</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-<a href="../../../../../org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">CoprocessorRpcChannel</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1802">coprocessorService</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<a href="../../../../../org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">CoprocessorRpcChannel</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1816">coprocessorService</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 3.0.0, will removed in 4.0.0. This is too low level, please stop using it any
              more. Use the coprocessorService methods in <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncAdmin</code></a> instead.</span></div>
 <div class="block">Creates and returns a <code>RpcChannel</code>
@@ -4731,7 +4759,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>updateConfiguration</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1811">updateConfiguration</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1825">updateConfiguration</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server)
                   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">Update the configuration and trigger an online config change
  on the regionserver.</div>
@@ -4749,7 +4777,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>updateConfiguration</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1818">updateConfiguration</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1832">updateConfiguration</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>
 <div class="block">Update the configuration and trigger an online config change
  on all the regionservers.</div>
@@ -4765,7 +4793,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterInfoPort</h4>
-<pre>default&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1825">getMasterInfoPort</a>()
+<pre>default&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1839">getMasterInfoPort</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>
 <div class="block">Get the info port of the current master if one is available.</div>
 <dl>
@@ -4782,7 +4810,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getSecurityCapabilities</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security">SecurityCapability</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1834">getSecurityCapabilities</a>()
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security">SecurityCapability</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1848">getSecurityCapabilities</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>
 <div class="block">Return the set of supported security capabilities.</div>
 <dl>
@@ -4798,7 +4826,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>splitSwitch</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1844">splitSwitch</a>(boolean&nbsp;enabled,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1858">splitSwitch</a>(boolean&nbsp;enabled,
                     boolean&nbsp;synchronous)
              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">Turn the split switch on or off.</div>
@@ -4820,7 +4848,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeSwitch</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1854">mergeSwitch</a>(boolean&nbsp;enabled,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1868">mergeSwitch</a>(boolean&nbsp;enabled,
                     boolean&nbsp;synchronous)
              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">Turn the merge switch on or off.</div>
@@ -4842,7 +4870,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>isSplitEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1861">isSplitEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1875">isSplitEnabled</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>
 <div class="block">Query the current state of the split switch.</div>
 <dl>
@@ -4859,7 +4887,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>isMergeEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1868">isMergeEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1882">isMergeEnabled</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>
 <div class="block">Query the current state of the merge switch.</div>
 <dl>
@@ -4876,7 +4904,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>addReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1876">addReplicationPeer</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>&nbsp;peerId,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1890">addReplicationPeer</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>&nbsp;peerId,
                                 <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                          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">Add a new replication peer for replicating data to slave cluster.</div>
@@ -4895,7 +4923,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>addReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1888">addReplicationPeer</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>&nbsp;peerId,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1902">addReplicationPeer</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>&nbsp;peerId,
                                 <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig,
                                 boolean&nbsp;enabled)
                          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>
@@ -4916,7 +4944,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>addReplicationPeerAsync</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1905">addReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1919">addReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs [...]
                                              <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                                       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">Add a new replication peer but does not block and wait for it.
@@ -4941,7 +4969,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>addReplicationPeerAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1922">addReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lan [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1936">addReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lan [...]
                                      <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig,
                                      boolean&nbsp;enabled)
                               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>
@@ -4968,7 +4996,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>removeReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1930">removeReplicationPeer</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>&nbsp;peerId)
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1944">removeReplicationPeer</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>&nbsp;peerId)
                             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">Remove a peer and stop the replication.</div>
 <dl>
@@ -4985,7 +5013,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>removeReplicationPeerAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1945">removeReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/ [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1959">removeReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/ [...]
                                  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">Remove a replication peer but does not block and wait for it.
  <p>
@@ -5008,7 +5036,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>enableReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1952">enableReplicationPeer</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>&nbsp;peerId)
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1966">enableReplicationPeer</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>&nbsp;peerId)
                             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">Restart the replication stream to the specified peer.</div>
 <dl>
@@ -5025,7 +5053,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>enableReplicationPeerAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1966">enableReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/ [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1980">enableReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/ [...]
                                  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">Enable a replication peer but does not block and wait for it.
  <p>
@@ -5048,7 +5076,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>disableReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1973">disableReplicationPeer</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>&nbsp;peerId)
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1987">disableReplicationPeer</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>&nbsp;peerId)
                              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">Stop the replication stream to the specified peer.</div>
 <dl>
@@ -5065,7 +5093,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>disableReplicationPeerAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1987">disableReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2001">disableReplicationPeerAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java [...]
                                   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">Disable a replication peer but does not block and wait for it.
  <p/>
@@ -5088,7 +5116,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationPeerConfig</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1995">getReplicationPeerConfig</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>&nbsp;peerId)
+<pre><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2009">getReplicationPeerConfig</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>&nbsp;peerId)
                                         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">Returns the configured ReplicationPeerConfig for the specified peer.</div>
 <dl>
@@ -5107,7 +5135,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>updateReplicationPeerConfig</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2003">updateReplicationPeerConfig</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>&nbsp;peerId,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2017">updateReplicationPeerConfig</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>&nbsp;peerId,
                                          <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                                   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">Update the peerConfig for the specified peer.</div>
@@ -5126,7 +5154,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>updateReplicationPeerConfigAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2020">updateReplicationPeerConfigAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2034">updateReplicationPeerConfigAsync</a>(<a href="https://docs.oracle.com/javase/8/docs/api [...]
                                               <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                                        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">Update the peerConfig for the specified peer but does not block and wait for it.
@@ -5151,7 +5179,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>appendReplicationPeerTableCFs</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2030">appendReplicationPeerTableCFs</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>&nbsp;id,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2044">appendReplicationPeerTableCFs</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>&nbsp;id,
                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api [...]
                                     throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                            <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>
@@ -5172,7 +5200,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>removeReplicationPeerTableCFs</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2048">removeReplicationPeerTableCFs</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>&nbsp;id,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2062">removeReplicationPeerTableCFs</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>&nbsp;id,
                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api [...]
                                     throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                            <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>
@@ -5193,7 +5221,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listReplicationPeers</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2064">listReplicationPeers</a>()
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2078">listReplicationPeers</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>
 <div class="block">Return a list of replication peers.</div>
 <dl>
@@ -5210,7 +5238,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listReplicationPeers</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2072">listReplicationPeers</a>(<a href="https://docs.oracle.com/javase/8/docs/ap [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2086">listReplicationPeers</a>(<a href="https://docs.oracle.com/javase/8/docs/ap [...]
                                                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">Return a list of replication peers.</div>
 <dl>
@@ -5229,7 +5257,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>transitReplicationPeerSyncReplicationState</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2080">transitReplicationPeerSyncReplicationState</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>&nbsp;peerId,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2094">transitReplicationPeerSyncReplicationState</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>&nbsp;peerId,
                                                         <a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)
                                                  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">Transit current cluster to a new state in a synchronous replication peer.</div>
@@ -5248,7 +5276,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>transitReplicationPeerSyncReplicationStateAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2097">transitReplicationPeerSyncReplicationStateAsync</a>(<a href="https://docs.oracle.com/ja [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2111">transitReplicationPeerSyncReplicationStateAsync</a>(<a href="https://docs.oracle.com/ja [...]
                                                              <a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)
                                                       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">Transit current cluster to a new state in a synchronous replication peer. But does not block
@@ -5272,7 +5300,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationPeerSyncReplicationState</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2106">getReplicationPeerSyncReplicationState</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>&nbsp;peerId)
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2120">getReplicationPeerSyncReplicationState</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>&nbsp;peerId)
                                                              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">Get the current cluster state in a synchronous replication peer.</div>
 <dl>
@@ -5291,7 +5319,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>decommissionRegionServers</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2124">decommissionRegionServers</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2138">decommissionRegionServers</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers,
                                boolean&nbsp;offload)
                         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">Mark region server(s) as decommissioned to prevent additional regions from getting
@@ -5313,7 +5341,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listDecommissionedRegionServers</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2131">listDecommissionedRegionServers</a>()
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2145">listDecommissionedRegionServers</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>
 <div class="block">List region servers marked as decommissioned, which can not be assigned regions.</div>
 <dl>
@@ -5330,7 +5358,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>recommissionRegionServer</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2141">recommissionRegionServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2155">recommissionRegionServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
                               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;encodedRegionNames)
                        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">Remove decommission marker from a region server to allow regions assignments.
@@ -5351,7 +5379,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listReplicatedTableCFs</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/replication/TableCFs.html" title="class in org.apache.hadoop.hbase.client.replication">TableCFs</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2149">listReplicatedTableCFs</a>()
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/replication/TableCFs.html" title="class in org.apache.hadoop.hbase.client.replication">TableCFs</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2163">listReplicatedTableCFs</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>
 <div class="block">Find all table and column families that are replicated from this cluster</div>
 <dl>
@@ -5368,7 +5396,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTableReplication</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2156">enableTableReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2170">enableTableReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                      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">Enable a table's replication switch.</div>
 <dl>
@@ -5385,7 +5413,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTableReplication</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2163">disableTableReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2177">disableTableReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                       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">Disable a table's replication switch.</div>
 <dl>
@@ -5402,7 +5430,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>clearCompactionQueues</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2172">clearCompactionQueues</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2186">clearCompactionQueues</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt;&nbsp;queues)
                     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>,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -5423,7 +5451,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listDeadServers</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2179">listDeadServers</a>()
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2193">listDeadServers</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>
 <div class="block">List dead region servers.</div>
 <dl>
@@ -5440,7 +5468,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>clearDeadServers</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2189">clearDeadServers</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or inte [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2203">clearDeadServers</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or inte [...]
                            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">Clear dead region servers from master.</div>
 <dl>
@@ -5459,7 +5487,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneTableSchema</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2198">cloneTableSchema</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2212">cloneTableSchema</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;newTableName,
                       boolean&nbsp;preserveSplits)
                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>
@@ -5480,7 +5508,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>switchRpcThrottle</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2207">switchRpcThrottle</a>(boolean&nbsp;enable)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2221">switchRpcThrottle</a>(boolean&nbsp;enable)
                    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">Switch the rpc throttle enable state.</div>
 <dl>
@@ -5499,7 +5527,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>isRpcThrottleEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2214">isRpcThrottleEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2228">isRpcThrottleEnabled</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>
 <div class="block">Get if the rpc throttle is enabled.</div>
 <dl>
@@ -5516,7 +5544,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>exceedThrottleQuotaSwitch</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2223">exceedThrottleQuotaSwitch</a>(boolean&nbsp;enable)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2237">exceedThrottleQuotaSwitch</a>(boolean&nbsp;enable)
                            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">Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota
  can be exceeded if region server has availble quota.</div>
@@ -5536,7 +5564,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getSpaceQuotaTableSizes</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.22 [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.22 [...]
                                      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">Fetches the table sizes on the filesystem as tracked by the HBase Master.</div>
 <dl>
@@ -5551,7 +5579,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerSpaceQuotaSnapshots</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/had [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/had [...]
                                                                             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">Fetches the observed <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshotView</code></a>s observed by a RegionServer.</div>
 <dl>
@@ -5566,7 +5594,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentSpaceQuotaSnapshot</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2243">getCurrentSpaceQuotaSnapshot</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>&nbsp;namespace)
+<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2257">getCurrentSpaceQuotaSnapshot</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>&nbsp;namespace)
                                              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">Returns the Master's view of a quota on the given <code>namespace</code> or null if the Master has
  no quota information on that namespace.</div>
@@ -5582,7 +5610,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentSpaceQuotaSnapshot</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2250">getCurrentSpaceQuotaSnapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2264">getCurrentSpaceQuotaSnapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                              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">Returns the Master's view of a quota on the given <code>tableName</code> or null if the Master has
  no quota information on that table.</div>
@@ -5598,7 +5626,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>grant</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2260">grant</a>(org.apache.hadoop.hbase.security.access.UserPermission&nbsp;userPermission,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2274">grant</a>(org.apache.hadoop.hbase.security.access.UserPermission&nbsp;userPermission,
            boolean&nbsp;mergeExistingPermissions)
     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">Grants user specific permissions</div>
@@ -5619,7 +5647,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>revoke</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2267">revoke</a>(org.apache.hadoop.hbase.security.access.UserPermission&nbsp;userPermission)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2281">revoke</a>(org.apache.hadoop.hbase.security.access.UserPermission&nbsp;userPermission)
      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">Revokes user specific permissions</div>
 <dl>
@@ -5636,7 +5664,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getUserPermissions</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.security.access.UserPermission&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2276">getUserPermissions</a>(org.apache.hadoop.hbase.security.access.GetUserPermissionsRequest&nbsp;getUserPermissionsRequest)
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.security.access.UserPermission&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2290">getUserPermissions</a>(org.apache.hadoop.hbase.security.access.GetUserPermissionsRequest&nbsp;getUserPermissionsRequest)
                                                                          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">Get the global/namespace/table permissions for user</div>
 <dl>
@@ -5656,7 +5684,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>hasUserPermissions</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2286">hasUserPermissions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2300">hasUserPermissions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external [...]
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;permissions)
                           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">Check if the user has specific permissions</div>
@@ -5677,7 +5705,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>hasUserPermissions</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2295">hasUserPermissions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html? [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2309">hasUserPermissions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html? [...]
                                   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">Check if call user has specific permissions</div>
 <dl>
@@ -5696,7 +5724,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotCleanupSwitch</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2308">snapshotCleanupSwitch</a>(boolean&nbsp;on,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2322">snapshotCleanupSwitch</a>(boolean&nbsp;on,
                               boolean&nbsp;synchronous)
                        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">Turn on or off the auto snapshot cleanup based on TTL.</div>
@@ -5718,7 +5746,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>isSnapshotCleanupEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2318">isSnapshotCleanupEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2332">isSnapshotCleanupEnabled</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>
 <div class="block">Query the current state of the auto snapshot cleanup based on TTL.</div>
 <dl>
@@ -5736,7 +5764,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getSlowLogResponses</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.client.OnlineLogRecord&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2329">getSlowLogResponses</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.client.OnlineLogRecord&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2343">getSlowLogResponses</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop [...]
                                                                          org.apache.hadoop.hbase.client.LogQueryFilter&nbsp;logQueryFilter)
                                                                   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">Retrieves online slow/large RPC logs from the provided list of
@@ -5758,7 +5786,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>clearSlowLogResponses</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2341">clearSlowLogResponses</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2355">clearSlowLogResponses</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external [...]
                              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">Clears online slow/large RPC logs from the provided list of
  RegionServers</div>
@@ -5779,7 +5807,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>addRSGroup</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2349">addRSGroup</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>&nbsp;groupName)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2363">addRSGroup</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>&nbsp;groupName)
          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">Creates a new RegionServer group with the given name</div>
 <dl>
@@ -5796,7 +5824,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSGroup</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2357">getRSGroup</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>&nbsp;groupName)
+<pre><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2371">getRSGroup</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>&nbsp;groupName)
                 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">Get group info for the given group name</div>
 <dl>
@@ -5815,7 +5843,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSGroup</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2364">getRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)
+<pre><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2378">getRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)
                 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">Get group info for the given hostPort</div>
 <dl>
@@ -5832,7 +5860,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSGroup</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2371">getRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2385">getRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                 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">Get group info for the given table</div>
 <dl>
@@ -5849,7 +5877,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listRSGroups</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2377">listRSGroups</a>()
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2391">listRSGroups</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>
 <div class="block">Lists current set of RegionServer groups</div>
 <dl>
@@ -5864,7 +5892,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>listTablesInRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2385">listTablesInRSGroup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or i [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2399">listTablesInRSGroup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or i [...]
                              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">Get all tables in this RegionServer group.</div>
 <dl>
@@ -5883,7 +5911,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguredNamespacesAndTablesInRSGroup</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-exte [...]
+<pre><a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-exte [...]
                                                                       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">Get the namespaces and tables which have this RegionServer group in descriptor.
  <p/>
@@ -5909,7 +5937,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>removeRSGroup</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2408">removeRSGroup</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>&nbsp;groupName)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2422">removeRSGroup</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>&nbsp;groupName)
             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">Remove RegionServer group associated with the given name</div>
 <dl>
@@ -5926,7 +5954,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>removeServersFromRSGroup</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2419">removeServersFromRSGroup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2433">removeServersFromRSGroup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers)
                        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">Remove decommissioned servers from group
   1. Sometimes we may find the server aborted due to some hardware failure and we must offline
@@ -5947,7 +5975,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>moveServersToRSGroup</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2427">moveServersToRSGroup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2441">moveServersToRSGroup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                           <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>&nbsp;targetGroup)
                    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">Move given set of servers to the specified target RegionServer group</div>
@@ -5966,7 +5994,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>setRSGroup</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2435">setRSGroup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2449">setRSGroup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                 <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>&nbsp;groupName)
          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">Set the RegionServer group for tables</div>
@@ -5985,7 +6013,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>balanceRSGroup</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2443">balanceRSGroup</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>&nbsp;groupName)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2457">balanceRSGroup</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>&nbsp;groupName)
                 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">Balance regions in the given RegionServer group</div>
 <dl>
@@ -6004,7 +6032,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>renameRSGroup</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2451">renameRSGroup</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>&nbsp;oldName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2465">renameRSGroup</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>&nbsp;oldName,
                    <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>&nbsp;newName)
             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">Rename rsgroup</div>
@@ -6023,7 +6051,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockListLast">
 <li class="blockList">
 <h4>updateRSGroupConfig</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2459">updateRSGroupConfig</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>&nbsp;groupName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2473">updateRSGroupConfig</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>&nbsp;groupName,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;configuration)
                   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">Update RSGroup configuration</div>
diff --git a/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html b/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
index 19682a8..bacdef8 100644
--- a/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
+++ b/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":38,"i1":6,"i2":18,"i3":6,"i4":6,"i5":6,"i6":6,"i7":18,"i8":6,"i9":6,"i10":18,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":18,"i19":6,"i20":6,"i21":18,"i22":18,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":18,"i59":6 [...]
+var methods = {"i0":38,"i1":6,"i2":18,"i3":6,"i4":6,"i5":6,"i6":6,"i7":18,"i8":6,"i9":6,"i10":18,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":18,"i19":6,"i20":6,"i21":18,"i22":18,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":18,"i59":6 [...]
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -1062,77 +1062,83 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </td>
 </tr>
 <tr id="i148" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#normalize--">normalize</a></span>()</code>
 <div class="block">Invoke region normalizer.</div>
 </td>
 </tr>
 <tr id="i149" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#normalize-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-">normalize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp)</code>
+<div class="block">Invoke region normalizer.</div>
+</td>
+</tr>
+<tr id="i150" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#normalizerSwitch-boolean-">normalizerSwitch</a></span>(boolean&nbsp;on)</code>
 <div class="block">Set region normalizer on/off.</div>
 </td>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i151" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#offline-byte:A-">offline</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Offline specified region from master's in-memory state.</div>
 </td>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#recommissionRegionServer-org.apache.hadoop.hbase.ServerName-java.util.List-">recommissionRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;encodedRegionNames)</code>
 <div class="block">Remove decommission marker from a region server to allow regions assignments.</div>
 </td>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</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>&nbsp;peerId)</code>
 <div class="block">Remove a peer and stop the replication</div>
 </td>
 </tr>
-<tr id="i153" class="rowColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#removeReplicationPeerTableCFs-java.lang.String-java.util.Map-">removeReplicationPeerTableCFs</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>&nbsp;peerId,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Str [...]
 <div class="block">Remove some table-cfs from config of the specified peer</div>
 </td>
 </tr>
-<tr id="i154" class="altColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#removeRSGroup-java.lang.String-">removeRSGroup</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>&nbsp;groupName)</code>
 <div class="block">Remove RegionServer group associated with the given name</div>
 </td>
 </tr>
-<tr id="i155" class="rowColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#removeServersFromRSGroup-java.util.Set-">removeServersFromRSGroup</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers)</code>
 <div class="block">Remove decommissioned servers from group
   1.</div>
 </td>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#renameRSGroup-java.lang.String-java.lang.String-">renameRSGroup</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>&nbsp;oldName,
              <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>&nbsp;newName)</code>
 <div class="block">Rename rsgroup</div>
 </td>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i158" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#restoreSnapshot-java.lang.String-">restoreSnapshot</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>&nbsp;snapshotName)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i159" class="rowColor">
 <td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#restoreSnapshot-java.lang.String-boolean-">restoreSnapshot</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>&nbsp;snapshotName,
                boolean&nbsp;takeFailSafeSnapshot)</code>
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#restoreSnapshot-java.lang.String-boolean-boolean-">restoreSnapshot</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>&nbsp;snapshotName,
                boolean&nbsp;takeFailSafeSnapshot,
@@ -1140,63 +1146,63 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Restore the specified snapshot on the original table.</div>
 </td>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#revoke-org.apache.hadoop.hbase.security.access.UserPermission-">revoke</a></span>(org.apache.hadoop.hbase.security.access.UserPermission&nbsp;userPermission)</code>
 <div class="block">Revokes user specific permissions</div>
 </td>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#rollWALWriter-org.apache.hadoop.hbase.ServerName-">rollWALWriter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Roll the log writer.</div>
 </td>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#runCatalogJanitor--">runCatalogJanitor</a></span>()</code>
 <div class="block">Ask for a scan of the catalog table.</div>
 </td>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#runCleanerChore--">runCleanerChore</a></span>()</code>
 <div class="block">Ask for cleaner chore to run.</div>
 </td>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#setQuota-org.apache.hadoop.hbase.quotas.QuotaSettings-">setQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;quota)</code>
 <div class="block">Apply the new quota settings.</div>
 </td>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#setRSGroup-java.util.Set-java.lang.String-">setRSGroup</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
           <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>&nbsp;groupName)</code>
 <div class="block">Set the RegionServer group for tables</div>
 </td>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i167" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">Shuts down the HBase cluster.</div>
 </td>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i168" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-org.apache.hadoop.hbase.client.SnapshotDescription-">snapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Take a snapshot and wait for the server to complete that snapshot asynchronously.</div>
 </td>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i169" class="rowColor">
 <td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-">snapshot</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>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Take a snapshot for the given table.</div>
 </td>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i170" class="altColor">
 <td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-">snapshot</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>&nbsp;snapshotName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1204,116 +1210,116 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Create typed snapshot of the table.</div>
 </td>
 </tr>
-<tr id="i170" class="altColor">
+<tr id="i171" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#snapshotCleanupSwitch-boolean-boolean-">snapshotCleanupSwitch</a></span>(boolean&nbsp;on,
                      boolean&nbsp;sync)</code>
 <div class="block">Turn on or off the auto snapshot cleanup based on TTL.</div>
 </td>
 </tr>
-<tr id="i171" class="rowColor">
+<tr id="i172" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#split-org.apache.hadoop.hbase.TableName-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i172" class="altColor">
+<tr id="i173" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#split-org.apache.hadoop.hbase.TableName-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
      byte[]&nbsp;splitPoint)</code>
 <div class="block">Split a table.</div>
 </td>
 </tr>
-<tr id="i173" class="rowColor">
+<tr id="i174" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-">splitRegion</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i174" class="altColor">
+<tr id="i175" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-byte:A-">splitRegion</a></span>(byte[]&nbsp;regionName,
            byte[]&nbsp;splitPoint)</code>
 <div class="block">Split an individual region.</div>
 </td>
 </tr>
-<tr id="i175" class="rowColor">
+<tr id="i176" class="altColor">
 <td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitSwitch-boolean-">splitSwitch</a></span>(boolean&nbsp;enabled)</code>
 <div class="block">Turn the Split switch on or off.</div>
 </td>
 </tr>
-<tr id="i176" class="altColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitSwitch-boolean-boolean-">splitSwitch</a></span>(boolean&nbsp;enabled,
            boolean&nbsp;drainSplits)</code>
 <div class="block">Turn the Split switch on or off.</div>
 </td>
 </tr>
-<tr id="i177" class="rowColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#stopMaster--">stopMaster</a></span>()</code>
 <div class="block">Shuts down the current HBase master only.</div>
 </td>
 </tr>
-<tr id="i178" class="altColor">
+<tr id="i179" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#stopRegionServer-org.apache.hadoop.hbase.ServerName-">stopRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Stop the designated regionserver.</div>
 </td>
 </tr>
-<tr id="i179" class="rowColor">
+<tr id="i180" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#switchRpcThrottle-boolean-">switchRpcThrottle</a></span>(boolean&nbsp;enable)</code>
 <div class="block">Switch the rpc throttle enabled state.</div>
 </td>
 </tr>
-<tr id="i180" class="altColor">
+<tr id="i181" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i181" class="rowColor">
+<tr id="i182" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#transitReplicationPeerSyncReplicationState-java.lang.String-org.apache.hadoop.hbase.replication.SyncReplicationState-">transitReplicationPeerSyncReplicationState</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>&nbsp;peerId,
                                           <a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)</code>
 <div class="block">Transit current cluster to a new state in a synchronous replication peer.</div>
 </td>
 </tr>
-<tr id="i182" class="altColor">
+<tr id="i183" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits)</code>
 <div class="block">Truncate a table.</div>
 </td>
 </tr>
-<tr id="i183" class="rowColor">
+<tr id="i184" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#unassign-byte:A-boolean-">unassign</a></span>(byte[]&nbsp;regionName,
         boolean&nbsp;forcible)</code>
 <div class="block">Unassign a region from current hosting regionserver.</div>
 </td>
 </tr>
-<tr id="i184" class="altColor">
+<tr id="i185" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#updateConfiguration--">updateConfiguration</a></span>()</code>
 <div class="block">Update the configuration and trigger an online config change on all the masters and
  regionservers.</div>
 </td>
 </tr>
-<tr id="i185" class="rowColor">
+<tr id="i186" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#updateConfiguration-org.apache.hadoop.hbase.ServerName-">updateConfiguration</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">Update the configuration and trigger an online config change on the regionserver.</div>
 </td>
 </tr>
-<tr id="i186" class="altColor">
+<tr id="i187" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</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>&nbsp;peerId,
                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
 <div class="block">Update the peerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i187" class="rowColor">
+<tr id="i188" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#updateRSGroupConfig-java.lang.String-java.util.Map-">updateRSGroupConfig</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>&nbsp;groupName,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;configuration)</code>
@@ -3703,9 +3709,26 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>normalize</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1282">normalize</a>()</pre>
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1282">normalize</a>()</pre>
+<div class="block">Invoke region normalizer. Can NOT run for various reasons. Check logs.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if region normalizer ran, false otherwise. The return value will be wrapped by a
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent"><code>CompletableFuture</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="normalize-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>normalize</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1292">normalize</a>(<a href="../../../../../org/apache/hadoo [...]
 <div class="block">Invoke region normalizer. Can NOT run for various reasons. Check logs.</div>
 <dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ntfp</code> - limit to tables matching the specified filter.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if region normalizer ran, false otherwise. The return value will be wrapped by a
          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent"><code>CompletableFuture</code></a></dd>
@@ -3718,7 +3741,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanerChoreSwitch</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1289">cleanerChoreSwitch</a>(boolean&nbsp;on)</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1299">cleanerChoreSwitch</a>(boolean&nbsp;on)</pre>
 <div class="block">Turn the cleaner chore on/off.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3734,7 +3757,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>isCleanerChoreEnabled</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1296">isCleanerChoreEnabled</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1306">isCleanerChoreEnabled</a>()</pre>
 <div class="block">Query the current state of the cleaner chore.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3749,7 +3772,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>runCleanerChore</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1303">runCleanerChore</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1313">runCleanerChore</a>()</pre>
 <div class="block">Ask for cleaner chore to run.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3764,7 +3787,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>catalogJanitorSwitch</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1310">catalogJanitorSwitch</a>(boolean&nbsp;on)</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1320">catalogJanitorSwitch</a>(boolean&nbsp;on)</pre>
 <div class="block">Turn the catalog janitor on/off.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3780,7 +3803,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>isCatalogJanitorEnabled</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1317">isCatalogJanitorEnabled</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1327">isCatalogJanitorEnabled</a>()</pre>
 <div class="block">Query on the catalog janitor state.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3795,7 +3818,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>runCatalogJanitor</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1324">runCatalogJanitor</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1334">runCatalogJanitor</a>()</pre>
 <div class="block">Ask for a scan of the catalog table.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3810,7 +3833,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorService</h4>
-<pre>&lt;S,R&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;R&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1345">coprocessorService</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Funct [...]
+<pre>&lt;S,R&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;R&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1355">coprocessorService</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Funct [...]
                                               <a href="../../../../../org/apache/hadoop/hbase/client/ServiceCaller.html" title="interface in org.apache.hadoop.hbase.client">ServiceCaller</a>&lt;S,R&gt;&nbsp;callable)</pre>
 <div class="block">Execute the given coprocessor call on the master.
  <p>
@@ -3843,7 +3866,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorService</h4>
-<pre>&lt;S,R&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;R&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1368">coprocessorService</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Funct [...]
+<pre>&lt;S,R&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;R&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1378">coprocessorService</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Funct [...]
                                               <a href="../../../../../org/apache/hadoop/hbase/client/ServiceCaller.html" title="interface in org.apache.hadoop.hbase.client">ServiceCaller</a>&lt;S,R&gt;&nbsp;callable,
                                               <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 <div class="block">Execute the given coprocessor call on the given region server.
@@ -3878,7 +3901,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>listDeadServers</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;<a href=". [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;<a href=". [...]
 <div class="block">List all the dead region servers.</div>
 </li>
 </ul>
@@ -3888,7 +3911,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>clearDeadServers</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;<a href="../../../../.. [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;<a href="../../../../.. [...]
 <div class="block">Clear dead region servers from master.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3904,7 +3927,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>clearBlockCache</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/CacheEvictionStats.html" title="class in org.apache.hadoop.hbase">CacheEvictionStats</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1394">clearBlockCache</a>(<a href="../../../../../org/apache/hadoop [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/CacheEvictionStats.html" title="class in org.apache.hadoop.hbase">CacheEvictionStats</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1404">clearBlockCache</a>(<a href="../../../../../org/apache/hadoop [...]
 <div class="block">Clear all the blocks corresponding to this table from BlockCache. For expert-admins. Calling
  this API will drop all the cached blocks specific to a table from BlockCache. This can
  significantly impact the query performance as the subsequent queries will have to retrieve the
@@ -3923,7 +3946,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneTableSchema</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1403">cloneTableSchema</a>(<a href="../../../../../org/apache/hado [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1413">cloneTableSchema</a>(<a href="../../../../../org/apache/hado [...]
                                          <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;newTableName,
                                          boolean&nbsp;preserveSplits)</pre>
 <div class="block">Create a new table by cloning the existent table schema.</div>
@@ -3941,7 +3964,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>compactionSwitch</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javas [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javas [...]
                                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;&nbsp;serverNamesList)</pre>
 <div class="block">Turn the compaction on or off. Disabling compactions will also interrupt any currently ongoing
  compactions. This state is ephemeral. The setting will be lost on restart. Compaction
@@ -3962,7 +3985,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>switchRpcThrottle</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1424">switchRpcThrottle</a>(boolean&nbsp;enable)</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1434">switchRpcThrottle</a>(boolean&nbsp;enable)</pre>
 <div class="block">Switch the rpc throttle enabled state.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3978,7 +4001,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>isRpcThrottleEnabled</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1430">isRpcThrottleEnabled</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1440">isRpcThrottleEnabled</a>()</pre>
 <div class="block">Get if the rpc throttle is enabled.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3992,7 +4015,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>exceedThrottleQuotaSwitch</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1438">exceedThrottleQuotaSwitch</a>(boolean&nbsp;enable)</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1448">exceedThrottleQuotaSwitch</a>(boolean&nbsp;enable)</pre>
 <div class="block">Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota
  can be exceeded if region server has availble quota.</div>
 <dl>
@@ -4009,7 +4032,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getSpaceQuotaTableSizes</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/ [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/ [...]
 <div class="block">Fetches the table sizes on the filesystem as tracked by the HBase Master.</div>
 </li>
 </ul>
@@ -4019,7 +4042,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerSpaceQuotaSnapshots</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="../../../.. [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,? extends <a href="../../../.. [...]
 <div class="block">Fetches the observed <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshotView</code></a>s observed by a RegionServer.</div>
 </li>
 </ul>
@@ -4029,7 +4052,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentSpaceQuotaSnapshot</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1456">getCurrentSpaceQuotaSnaps [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1466">getCurrentSpaceQuotaSnaps [...]
 <div class="block">Returns the Master's view of a quota on the given <code>namespace</code> or null if the Master has
  no quota information on that namespace.</div>
 </li>
@@ -4040,7 +4063,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentSpaceQuotaSnapshot</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1462">getCurrentSpaceQuotaSnaps [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotView.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1472">getCurrentSpaceQuotaSnaps [...]
 <div class="block">Returns the Master's view of a quota on the given <code>tableName</code> or null if the Master has
  no quota information on that table.</div>
 </li>
@@ -4051,7 +4074,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>grant</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1472">grant</a>(org.apache.hadoop.hbase.security.access.UserPermis [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1482">grant</a>(org.apache.hadoop.hbase.security.access.UserPermis [...]
                               boolean&nbsp;mergeExistingPermissions)</pre>
 <div class="block">Grants user specific permissions</div>
 <dl>
@@ -4069,7 +4092,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>revoke</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1478">revoke</a>(org.apache.hadoop.hbase.security.access.UserPermi [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1488">revoke</a>(org.apache.hadoop.hbase.security.access.UserPermi [...]
 <div class="block">Revokes user specific permissions</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4083,7 +4106,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getUserPermissions</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.security.access.UserPermission&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1487 [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.security.access.UserPermission&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1497 [...]
 <div class="block">Get the global/namespace/table permissions for user</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4100,7 +4123,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>hasUserPermissions</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&gt;&nbsp; [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&gt;&nbsp; [...]
                                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;permissions)</pre>
 <div class="block">Check if the user has specific permissions</div>
 <dl>
@@ -4118,7 +4141,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>hasUserPermissions</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>& [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>& [...]
 <div class="block">Check if call user has specific permissions</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4134,7 +4157,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotCleanupSwitch</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1519">snapshotCleanupSwitch</a>(boolean&nbsp;on,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1529">snapshotCleanupSwitch</a>(boolean&nbsp;on,
                                                  boolean&nbsp;sync)</pre>
 <div class="block">Turn on or off the auto snapshot cleanup based on TTL.
  <p/>
@@ -4157,7 +4180,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>isSnapshotCleanupEnabled</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1527">isSnapshotCleanupEnabled</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1537">isSnapshotCleanupEnabled</a>()</pre>
 <div class="block">Query the current state of the auto snapshot cleanup based on TTL.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -4172,7 +4195,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getSlowLogResponses</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.client.OnlineLogRecord&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1537">getSlo [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.client.OnlineLogRecord&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1547">getSlo [...]
                                                                                             org.apache.hadoop.hbase.client.LogQueryFilter&nbsp;logQueryFilter)</pre>
 <div class="block">Retrieves online slow RPC logs from the provided list of
  RegionServers</div>
@@ -4191,7 +4214,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>clearSlowLogResponses</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&gt;&nbsp; [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&gt;&nbsp; [...]
 <div class="block">Clears online slow RPC logs from the provided list of
  RegionServers</div>
 <dl>
@@ -4209,7 +4232,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>addRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1555">addRSGroup</a>(<a href="https://docs.oracle.com/javase/8/doc [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1565">addRSGroup</a>(<a href="https://docs.oracle.com/javase/8/doc [...]
 <div class="block">Creates a new RegionServer group with the given name</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4225,7 +4248,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1563">getRSGroup</a>(<a href="https://docs.oracle.com/javase/8/do [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1573">getRSGroup</a>(<a href="https://docs.oracle.com/javase/8/do [...]
 <div class="block">Get group info for the given group name</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4243,7 +4266,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1570">getRSGroup</a>(<a href="../../../../../org/apache/hadoop/hb [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1580">getRSGroup</a>(<a href="../../../../../org/apache/hadoop/hb [...]
 <div class="block">Get group info for the given hostPort</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4259,7 +4282,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1577">getRSGroup</a>(<a href="../../../../../org/apache/hadoop/hb [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1587">getRSGroup</a>(<a href="../../../../../org/apache/hadoop/hb [...]
 <div class="block">Get group info for the given table</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4275,7 +4298,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>listRSGroups</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&gt;&nbsp;<a hr [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&gt;&gt;&nbsp;<a hr [...]
 <div class="block">Lists current set of RegionServer groups</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -4289,7 +4312,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>listTablesInRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../s [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&gt;&nbsp;<a href="../../../../../s [...]
 <div class="block">Get all tables in this RegionServer group.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4307,7 +4330,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguredNamespacesAndTablesInRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/ja [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/ja [...]
 <div class="block">Get the namespaces and tables which have this RegionServer group in descriptor.
  <p/>
  The difference between this method and <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTablesInRSGroup-java.lang.String-"><code>listTablesInRSGroup(String)</code></a> is that, this
@@ -4332,7 +4355,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>removeRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1614">removeRSGroup</a>(<a href="https://docs.oracle.com/javase/8/ [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1624">removeRSGroup</a>(<a href="https://docs.oracle.com/javase/8/ [...]
 <div class="block">Remove RegionServer group associated with the given name</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4348,7 +4371,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>removeServersFromRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1625">removeServersFromRSGroup</a>(<a href="https://docs.oracle.co [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1635">removeServersFromRSGroup</a>(<a href="https://docs.oracle.co [...]
 <div class="block">Remove decommissioned servers from group
   1. Sometimes we may find the server aborted due to some hardware failure and we must offline
      the server for repairing. Or we need to move some servers to join other clusters.
@@ -4368,7 +4391,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>moveServersToRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1633">moveServersToRSGroup</a>(<a href="https://docs.oracle.com/ja [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1643">moveServersToRSGroup</a>(<a href="https://docs.oracle.com/ja [...]
                                              <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>&nbsp;groupName)</pre>
 <div class="block">Move given set of servers to the specified target RegionServer group</div>
 <dl>
@@ -4386,7 +4409,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>setRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1641">setRSGroup</a>(<a href="https://docs.oracle.com/javase/8/doc [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1651">setRSGroup</a>(<a href="https://docs.oracle.com/javase/8/doc [...]
                                    <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>&nbsp;groupName)</pre>
 <div class="block">Set the RegionServer group for tables</div>
 <dl>
@@ -4404,7 +4427,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>balanceRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1649">balanceRSGroup</a>(<a href="https://docs.oracle.com/ja [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1659">balanceRSGroup</a>(<a href="https://docs.oracle.com/ja [...]
 <div class="block">Balance regions in the given RegionServer group</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -4422,7 +4445,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockList">
 <li class="blockList">
 <h4>renameRSGroup</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1657">renameRSGroup</a>(<a href="https://docs.oracle.com/javase/8/ [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1667">renameRSGroup</a>(<a href="https://docs.oracle.com/javase/8/ [...]
                                       <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>&nbsp;newName)</pre>
 <div class="block">Rename rsgroup</div>
 <dl>
@@ -4440,7 +4463,7 @@ default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concur
 <ul class="blockListLast">
 <li class="blockList">
 <h4>updateRSGroupConfig</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1665">updateRSGroupConfig</a>(<a href="https://docs.oracle.com/jav [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1675">updateRSGroupConfig</a>(<a href="https://docs.oracle.com/jav [...]
                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;configuration)</pre>
 <div class="block">Update RSGroup configuration</div>
 <dl>
diff --git a/apidocs/org/apache/hadoop/hbase/client/Mutation.html b/apidocs/org/apache/hadoop/hbase/client/Mutation.html
index 62a09a9..47151a4 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Mutation.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Mutation.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/NoServerForRegionException.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/Mutation.html" target="_top">Frames</a></li>
@@ -1094,7 +1094,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/NoServerForRegionException.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/Mutation.html" target="_top">Frames</a></li>
diff --git a/apidocs/org/apache/hadoop/hbase/client/NoServerForRegionException.html b/apidocs/org/apache/hadoop/hbase/client/NoServerForRegionException.html
index 0856e83..f50e174 100644
--- a/apidocs/org/apache/hadoop/hbase/client/NoServerForRegionException.html
+++ b/apidocs/org/apache/hadoop/hbase/client/NoServerForRegionException.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/Operation.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -261,7 +261,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/DoNotRetryRegionE
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/Operation.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/apidocs/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html b/apidocs/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html
new file mode 100644
index 0000000..3d2f4e2
--- /dev/null
+++ b/apidocs/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>NormalizeTableFilterParams (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="NormalizeTableFilterParams (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/NormalizeTableFilterParams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/NoServerForRegionException.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" target="_top">Frames</a></li>
+<li><a href="NormalizeTableFilterParams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.client</div>
+<h2 title="Class NormalizeTableFilterParams" class="title">Class NormalizeTableFilterParams</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.client.NormalizeTableFilterParams</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+public final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html#line.49">NormalizeTableFilterParams</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A collection of criteria used for table selection. The logic of table selection is as follows:
+ <ul>
+   <li>
+     When no parameter values are provided, an unfiltered list of all user tables is returned.
+   </li>
+   <li>
+     When a list of <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase"><code>TableNames</code></a> are provided, the filter starts with any of
+     these tables that exist.
+   </li>
+   <li>
+     When a <code>namespace</code> name is provided, the filter starts with all the tables present in
+     that namespace.
+   </li>
+   <li>
+     If both a list of <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase"><code>TableNames</code></a> and a <code>namespace</code> name are provided,
+     the <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase"><code>TableName</code></a> list is honored and the <code>namespace</code> name is ignored.
+   </li>
+   <li>
+     If a <code>regex</code> is provided, this subset of <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase"><code>TableNames</code></a> is further
+     reduced to those that match the provided regular expression.
+   </li>
+ </ul></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><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/NormalizeTableFilterParams.html#getNamespace--">getNamespace</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><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/NormalizeTableFilterParams.html#getRegex--">getRegex</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html#getTableNames--">getTableNames</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<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></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="htt [...]
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTableNames--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableNames</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html#line.61">getTableNames</a>()</pre>
+</li>
+</ul>
+<a name="getRegex--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRegex</h4>
+<pre>public&nbsp;<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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html#line.65">getRegex</a>()</pre>
+</li>
+</ul>
+<a name="getNamespace--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNamespace</h4>
+<pre>public&nbsp;<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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html#line.69">getNamespace</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/NormalizeTableFilterParams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/NoServerForRegionException.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" target="_top">Frames</a></li>
+<li><a href="NormalizeTableFilterParams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/NormalizeTableFilterParams.html b/apidocs/org/apache/hadoop/hbase/client/class-use/NormalizeTableFilterParams.html
new file mode 100644
index 0000000..ac550d3
--- /dev/null
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/NormalizeTableFilterParams.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.client.NormalizeTableFilterParams (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.client.NormalizeTableFilterParams (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/client/class-use/NormalizeTableFilterParams.html" target="_top">Frames</a></li>
+<li><a href="NormalizeTableFilterParams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.client.NormalizeTableFilterParams" class="title">Uses of Class<br>org.apache.hadoop.hbase.client.NormalizeTableFilterParams</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.client">org.apache.hadoop.hbase.client</a></td>
+<td class="colLast">
+<div class="block">Provides HBase Client</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.client">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a> in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#normalize-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-">normalize</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp)</code>
+<div class="block">Invoke region normalizer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Admin.html#normalize-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-">normalize</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp)</code>
+<div class="block">Invoke region normalizer.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/client/class-use/NormalizeTableFilterParams.html" target="_top">Frames</a></li>
+<li><a href="NormalizeTableFilterParams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-frame.html b/apidocs/org/apache/hadoop/hbase/client/package-frame.html
index ecce4a0..777b4de 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-frame.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-frame.html
@@ -60,6 +60,7 @@
 <li><a href="Get.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">Get</a></li>
 <li><a href="Increment.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">Increment</a></li>
 <li><a href="Mutation.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">Mutation</a></li>
+<li><a href="NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">NormalizeTableFilterParams</a></li>
 <li><a href="Operation.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">Operation</a></li>
 <li><a href="OperationWithAttributes.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">OperationWithAttributes</a></li>
 <li><a href="Put.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">Put</a></li>
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-summary.html b/apidocs/org/apache/hadoop/hbase/client/package-summary.html
index 4ab9943..8ffe2b2 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-summary.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-summary.html
@@ -365,70 +365,76 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a></td>
+<td class="colLast">
+<div class="block">A collection of criteria used for table selection.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/Operation.html" title="class in org.apache.hadoop.hbase.client">Operation</a></td>
 <td class="colLast">
 <div class="block">Superclass for any type that maps to a potentially application-level query.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttributes.html" title="class in org.apache.hadoop.hbase.client">OperationWithAttributes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></td>
 <td class="colLast">
 <div class="block">Used to perform Put operations for a single row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></td>
 <td class="colLast">
 <div class="block">Base class for HBase read operations; e.g.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/RegionLoadStats.html" title="class in org.apache.hadoop.hbase.client">RegionLoadStats</a></td>
 <td class="colLast">
 <div class="block">POJO representing region server load</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/RequestControllerFactory.html" title="class in org.apache.hadoop.hbase.client">RequestControllerFactory</a></td>
 <td class="colLast">
 <div class="block">A factory class that constructs an <a href="../../../../../org/apache/hadoop/hbase/client/RequestController.html" title="interface in org.apache.hadoop.hbase.client"><code>RequestController</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></td>
 <td class="colLast">
 <div class="block">Single row result of a <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client"><code>Get</code></a> or <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> query.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></td>
 <td class="colLast">
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></td>
 <td class="colLast">
 <div class="block">Used to perform Scan operations.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a></td>
 <td class="colLast">
 <div class="block">The POJO equivalent of HBaseProtos.SnapshotDescription</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a></td>
 <td class="colLast">
 <div class="block">Convenience class for composing an instance of <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client"><code>TableDescriptor</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorUtils.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorUtils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-tree.html b/apidocs/org/apache/hadoop/hbase/client/package-tree.html
index 03d20ad..fac5653 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -88,6 +88,7 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">ConnectionFactory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CoprocessorDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">CoprocessorDescriptorBuilder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Cursor.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Cursor</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">NormalizeTableFilterParams</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Operation.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Operation</span></a>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttributes.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">OperationWithAttributes</span></a> (implements org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Attributes.html" title="interface in org.apache.hadoop.hbase.client">Attributes</a>)
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-use.html b/apidocs/org/apache/hadoop/hbase/client/package-use.html
index 2094594..b33b5b4 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-use.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-use.html
@@ -351,128 +351,133 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/Mutation.html#org.apache.hadoop.hbase.client">Mutation</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/NormalizeTableFilterParams.html#org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>
+<div class="block">A collection of criteria used for table selection.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/Operation.html#org.apache.hadoop.hbase.client">Operation</a>
 <div class="block">Superclass for any type that maps to a potentially application-level query.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/OperationWithAttributes.html#org.apache.hadoop.hbase.client">OperationWithAttributes</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/Put.html#org.apache.hadoop.hbase.client">Put</a>
 <div class="block">Used to perform Put operations for a single row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/Query.html#org.apache.hadoop.hbase.client">Query</a>
 <div class="block">Base class for HBase read operations; e.g.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RegionInfo.html#org.apache.hadoop.hbase.client">RegionInfo</a>
 <div class="block">Information about a region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RegionLoadStats.html#org.apache.hadoop.hbase.client">RegionLoadStats</a>
 <div class="block">POJO representing region server load</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RegionLocator.html#org.apache.hadoop.hbase.client">RegionLocator</a>
 <div class="block">Used to view region location information for a single HBase table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RequestController.html#org.apache.hadoop.hbase.client">RequestController</a>
 <div class="block">An interface for client request scheduling algorithm.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RequestController.Checker.html#org.apache.hadoop.hbase.client">RequestController.Checker</a>
 <div class="block">Picks up the valid data.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RequestController.ReturnCode.html#org.apache.hadoop.hbase.client">RequestController.ReturnCode</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/Result.html#org.apache.hadoop.hbase.client">Result</a>
 <div class="block">Single row result of a <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client"><code>Get</code></a> or <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> query.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/ResultScanner.html#org.apache.hadoop.hbase.client">ResultScanner</a>
 <div class="block">Interface for client-side scanning.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RetriesExhaustedException.html#org.apache.hadoop.hbase.client">RetriesExhaustedException</a>
 <div class="block">Exception thrown by HTable methods when an attempt to do something (like
  commit changes) fails after a bunch of retries.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RetriesExhaustedWithDetailsException.html#org.apache.hadoop.hbase.client">RetriesExhaustedWithDetailsException</a>
 <div class="block">This subclass of <a href="../../../../../org/apache/hadoop/hbase/client/RetriesExhaustedException.html" title="class in org.apache.hadoop.hbase.client"><code>RetriesExhaustedException</code></a>
  is thrown when we have more information about which rows were causing which
  exceptions on what servers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/Row.html#org.apache.hadoop.hbase.client">Row</a>
 <div class="block">Has a row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RowMutations.html#org.apache.hadoop.hbase.client">RowMutations</a>
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/Scan.html#org.apache.hadoop.hbase.client">Scan</a>
 <div class="block">Used to perform Scan operations.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/Scan.ReadType.html#org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/ScanResultConsumer.html#org.apache.hadoop.hbase.client">ScanResultConsumer</a>
 <div class="block">Receives <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a> for an asynchronous scan.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/ScanResultConsumerBase.html#org.apache.hadoop.hbase.client">ScanResultConsumerBase</a>
 <div class="block">The base interface for scan result consumer.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/ServiceCaller.html#org.apache.hadoop.hbase.client">ServiceCaller</a>
 <div class="block">Delegate to a protobuf rpc call.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/SnapshotDescription.html#org.apache.hadoop.hbase.client">SnapshotDescription</a>
 <div class="block">The POJO equivalent of HBaseProtos.SnapshotDescription</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/SnapshotType.html#org.apache.hadoop.hbase.client">SnapshotType</a>
 <div class="block">POJO representing the snapshot type</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/Table.html#org.apache.hadoop.hbase.client">Table</a>
 <div class="block">Used to communicate with a single HBase table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/TableBuilder.html#org.apache.hadoop.hbase.client">TableBuilder</a>
 <div class="block">For creating <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> instance.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/TableDescriptor.html#org.apache.hadoop.hbase.client">TableDescriptor</a>
 <div class="block">TableDescriptor contains the details about an HBase table such as the descriptors of
  all the column families, is the table a catalog table, <code> hbase:meta </code>,
@@ -480,7 +485,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
  when the region split should occur, coprocessors associated with it etc...</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/TableDescriptorBuilder.html#org.apache.hadoop.hbase.client">TableDescriptorBuilder</a>
 <div class="block">Convenience class for composing an instance of <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client"><code>TableDescriptor</code></a>.</div>
 </td>
diff --git a/apidocs/overview-tree.html b/apidocs/overview-tree.html
index 1aeff56..b71de5b 100644
--- a/apidocs/overview-tree.html
+++ b/apidocs/overview-tree.html
@@ -361,6 +361,7 @@
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">NamespaceDescriptor</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/NamespaceDescriptor.Builder.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">NamespaceDescriptor.Builder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/NettyRpcClientConfigHelper.html" title="class in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">NettyRpcClientConfigHelper</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">NormalizeTableFilterParams</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Operation.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Operation</span></a>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/OperationWithAttributes.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">OperationWithAttributes</span></a> (implements org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Attributes.html" title="interface in org.apache.hadoop.hbase.client">Attributes</a>)
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
index e5d750b..30723c5 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
@@ -864,1609 +864,1623 @@
 <span class="sourceLineNo">856</span>   * the request was submitted successfully. We need to check logs for the details of which regions<a name="line.856"></a>
 <span class="sourceLineNo">857</span>   * were split/merged.<a name="line.857"></a>
 <span class="sourceLineNo">858</span>   *<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   * @return &lt;code&gt;true&lt;/code&gt; if region normalizer ran, &lt;code&gt;false&lt;/code&gt; otherwise.<a name="line.859"></a>
+<span class="sourceLineNo">859</span>   * @return {@code true} if region normalizer ran, {@code false} otherwise.<a name="line.859"></a>
 <span class="sourceLineNo">860</span>   * @throws IOException if a remote or network exception occurs<a name="line.860"></a>
 <span class="sourceLineNo">861</span>   */<a name="line.861"></a>
-<span class="sourceLineNo">862</span>  boolean normalize() throws IOException;<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>  /**<a name="line.864"></a>
-<span class="sourceLineNo">865</span>   * Query the current state of the region normalizer.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>   *<a name="line.866"></a>
-<span class="sourceLineNo">867</span>   * @return &lt;code&gt;true&lt;/code&gt; if region normalizer is enabled, &lt;code&gt;false&lt;/code&gt; otherwise.<a name="line.867"></a>
-<span class="sourceLineNo">868</span>   * @throws IOException if a remote or network exception occurs<a name="line.868"></a>
-<span class="sourceLineNo">869</span>   */<a name="line.869"></a>
-<span class="sourceLineNo">870</span>  boolean isNormalizerEnabled() throws IOException;<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>  /**<a name="line.872"></a>
-<span class="sourceLineNo">873</span>   * Turn region normalizer on or off.<a name="line.873"></a>
-<span class="sourceLineNo">874</span>   *<a name="line.874"></a>
-<span class="sourceLineNo">875</span>   * @return Previous normalizer value<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   * @throws IOException if a remote or network exception occurs<a name="line.876"></a>
-<span class="sourceLineNo">877</span>   */<a name="line.877"></a>
-<span class="sourceLineNo">878</span>  boolean normalizerSwitch(boolean on) throws IOException;<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>  /**<a name="line.880"></a>
-<span class="sourceLineNo">881</span>   * Enable/Disable the catalog janitor/<a name="line.881"></a>
-<span class="sourceLineNo">882</span>   *<a name="line.882"></a>
-<span class="sourceLineNo">883</span>   * @param onOrOff if &lt;code&gt;true&lt;/code&gt; enables the catalog janitor<a name="line.883"></a>
-<span class="sourceLineNo">884</span>   * @return the previous state<a name="line.884"></a>
-<span class="sourceLineNo">885</span>   * @throws IOException if a remote or network exception occurs<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   */<a name="line.886"></a>
-<span class="sourceLineNo">887</span>  boolean catalogJanitorSwitch(boolean onOrOff) throws IOException;<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span>  /**<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * Ask for a scan of the catalog table.<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   *<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * @return the number of entries cleaned<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @throws IOException if a remote or network exception occurs<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   */<a name="line.894"></a>
-<span class="sourceLineNo">895</span>  int runCatalogJanitor() throws IOException;<a name="line.895"></a>
-<span class="sourceLineNo">896</span><a name="line.896"></a>
-<span class="sourceLineNo">897</span>  /**<a name="line.897"></a>
-<span class="sourceLineNo">898</span>   * Query on the catalog janitor state (Enabled/Disabled?).<a name="line.898"></a>
-<span class="sourceLineNo">899</span>   *<a name="line.899"></a>
-<span class="sourceLineNo">900</span>   * @throws IOException if a remote or network exception occurs<a name="line.900"></a>
-<span class="sourceLineNo">901</span>   */<a name="line.901"></a>
-<span class="sourceLineNo">902</span>  boolean isCatalogJanitorEnabled() throws IOException;<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>  /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * Enable/Disable the cleaner chore.<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   *<a name="line.906"></a>
-<span class="sourceLineNo">907</span>   * @param onOrOff if &lt;code&gt;true&lt;/code&gt; enables the cleaner chore<a name="line.907"></a>
-<span class="sourceLineNo">908</span>   * @return the previous state<a name="line.908"></a>
-<span class="sourceLineNo">909</span>   * @throws IOException if a remote or network exception occurs<a name="line.909"></a>
-<span class="sourceLineNo">910</span>   */<a name="line.910"></a>
-<span class="sourceLineNo">911</span>  boolean cleanerChoreSwitch(boolean onOrOff) throws IOException;<a name="line.911"></a>
-<span class="sourceLineNo">912</span><a name="line.912"></a>
-<span class="sourceLineNo">913</span>  /**<a name="line.913"></a>
-<span class="sourceLineNo">914</span>   * Ask for cleaner chore to run.<a name="line.914"></a>
-<span class="sourceLineNo">915</span>   *<a name="line.915"></a>
-<span class="sourceLineNo">916</span>   * @return &lt;code&gt;true&lt;/code&gt; if cleaner chore ran, &lt;code&gt;false&lt;/code&gt; otherwise<a name="line.916"></a>
-<span class="sourceLineNo">917</span>   * @throws IOException if a remote or network exception occurs<a name="line.917"></a>
-<span class="sourceLineNo">918</span>   */<a name="line.918"></a>
-<span class="sourceLineNo">919</span>  boolean runCleanerChore() throws IOException;<a name="line.919"></a>
-<span class="sourceLineNo">920</span><a name="line.920"></a>
-<span class="sourceLineNo">921</span>  /**<a name="line.921"></a>
-<span class="sourceLineNo">922</span>   * Query on the cleaner chore state (Enabled/Disabled?).<a name="line.922"></a>
-<span class="sourceLineNo">923</span>   *<a name="line.923"></a>
-<span class="sourceLineNo">924</span>   * @throws IOException if a remote or network exception occurs<a name="line.924"></a>
-<span class="sourceLineNo">925</span>   */<a name="line.925"></a>
-<span class="sourceLineNo">926</span>  boolean isCleanerChoreEnabled() throws IOException;<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span><a name="line.928"></a>
-<span class="sourceLineNo">929</span>  /**<a name="line.929"></a>
-<span class="sourceLineNo">930</span>   * Merge two regions. Asynchronous operation.<a name="line.930"></a>
-<span class="sourceLineNo">931</span>   * @param nameOfRegionA encoded or full name of region a<a name="line.931"></a>
-<span class="sourceLineNo">932</span>   * @param nameOfRegionB encoded or full name of region b<a name="line.932"></a>
-<span class="sourceLineNo">933</span>   * @param forcible &lt;code&gt;true&lt;/code&gt; if do a compulsory merge, otherwise we will only merge two<a name="line.933"></a>
-<span class="sourceLineNo">934</span>   *          adjacent regions<a name="line.934"></a>
-<span class="sourceLineNo">935</span>   * @throws IOException if a remote or network exception occurs<a name="line.935"></a>
-<span class="sourceLineNo">936</span>   * @deprecated since 2.3.0 and will be removed in 4.0.0. Multi-region merge feature is now<a name="line.936"></a>
-<span class="sourceLineNo">937</span>   *             supported. Use {@link #mergeRegionsAsync(byte[][], boolean)} instead.<a name="line.937"></a>
-<span class="sourceLineNo">938</span>   */<a name="line.938"></a>
-<span class="sourceLineNo">939</span>  @Deprecated<a name="line.939"></a>
-<span class="sourceLineNo">940</span>  default Future&lt;Void&gt; mergeRegionsAsync(byte[] nameOfRegionA, byte[] nameOfRegionB,<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      boolean forcible) throws IOException {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    byte[][] nameofRegionsToMerge = new byte[2][];<a name="line.942"></a>
-<span class="sourceLineNo">943</span>    nameofRegionsToMerge[0] = nameOfRegionA;<a name="line.943"></a>
-<span class="sourceLineNo">944</span>    nameofRegionsToMerge[1] = nameOfRegionB;<a name="line.944"></a>
-<span class="sourceLineNo">945</span>    return mergeRegionsAsync(nameofRegionsToMerge, forcible);<a name="line.945"></a>
-<span class="sourceLineNo">946</span>  }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>  /**<a name="line.948"></a>
-<span class="sourceLineNo">949</span>   * Merge multiple regions (&gt;=2). Asynchronous operation.<a name="line.949"></a>
-<span class="sourceLineNo">950</span>   * @param nameofRegionsToMerge encoded or full name of daughter regions<a name="line.950"></a>
-<span class="sourceLineNo">951</span>   * @param forcible &lt;code&gt;true&lt;/code&gt; if do a compulsory merge, otherwise we will only merge<a name="line.951"></a>
-<span class="sourceLineNo">952</span>   *          adjacent regions<a name="line.952"></a>
-<span class="sourceLineNo">953</span>   * @throws IOException if a remote or network exception occurs<a name="line.953"></a>
-<span class="sourceLineNo">954</span>   */<a name="line.954"></a>
-<span class="sourceLineNo">955</span>  Future&lt;Void&gt; mergeRegionsAsync(byte[][] nameofRegionsToMerge, boolean forcible)<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      throws IOException;<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  /**<a name="line.958"></a>
-<span class="sourceLineNo">959</span>   * Split a table. The method will execute split action for each region in table.<a name="line.959"></a>
-<span class="sourceLineNo">960</span>   * @param tableName table to split<a name="line.960"></a>
-<span class="sourceLineNo">961</span>   * @throws IOException if a remote or network exception occurs<a name="line.961"></a>
-<span class="sourceLineNo">962</span>   */<a name="line.962"></a>
-<span class="sourceLineNo">963</span>  void split(TableName tableName) throws IOException;<a name="line.963"></a>
-<span class="sourceLineNo">964</span><a name="line.964"></a>
-<span class="sourceLineNo">965</span>  /**<a name="line.965"></a>
-<span class="sourceLineNo">966</span>   * Split a table.<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @param tableName table to split<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   * @param splitPoint the explicit position to split on<a name="line.968"></a>
-<span class="sourceLineNo">969</span>   * @throws IOException if a remote or network exception occurs<a name="line.969"></a>
-<span class="sourceLineNo">970</span>   */<a name="line.970"></a>
-<span class="sourceLineNo">971</span>  void split(TableName tableName, byte[] splitPoint) throws IOException;<a name="line.971"></a>
-<span class="sourceLineNo">972</span><a name="line.972"></a>
-<span class="sourceLineNo">973</span>  /**<a name="line.973"></a>
-<span class="sourceLineNo">974</span>   * Split an individual region. Asynchronous operation.<a name="line.974"></a>
-<span class="sourceLineNo">975</span>   * @param regionName region to split<a name="line.975"></a>
-<span class="sourceLineNo">976</span>   * @throws IOException if a remote or network exception occurs<a name="line.976"></a>
-<span class="sourceLineNo">977</span>   */<a name="line.977"></a>
-<span class="sourceLineNo">978</span>  Future&lt;Void&gt; splitRegionAsync(byte[] regionName) throws IOException;<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>  /**<a name="line.980"></a>
-<span class="sourceLineNo">981</span>   * Split an individual region. Asynchronous operation.<a name="line.981"></a>
-<span class="sourceLineNo">982</span>   * @param regionName region to split<a name="line.982"></a>
-<span class="sourceLineNo">983</span>   * @param splitPoint the explicit position to split on<a name="line.983"></a>
-<span class="sourceLineNo">984</span>   * @throws IOException if a remote or network exception occurs<a name="line.984"></a>
-<span class="sourceLineNo">985</span>   */<a name="line.985"></a>
-<span class="sourceLineNo">986</span>  Future&lt;Void&gt; splitRegionAsync(byte[] regionName, byte[] splitPoint) throws IOException;<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>  /**<a name="line.988"></a>
-<span class="sourceLineNo">989</span>   * Modify an existing table, more IRB friendly version.<a name="line.989"></a>
-<span class="sourceLineNo">990</span>   * @param td modified description of the table<a name="line.990"></a>
-<span class="sourceLineNo">991</span>   * @throws IOException if a remote or network exception occurs<a name="line.991"></a>
-<span class="sourceLineNo">992</span>   */<a name="line.992"></a>
-<span class="sourceLineNo">993</span>  default void modifyTable(TableDescriptor td) throws IOException {<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    get(modifyTableAsync(td), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.994"></a>
-<span class="sourceLineNo">995</span>  }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span>  /**<a name="line.997"></a>
-<span class="sourceLineNo">998</span>   * Modify an existing table, more IRB (ruby) friendly version. Asynchronous operation. This means<a name="line.998"></a>
-<span class="sourceLineNo">999</span>   * that it may be a while before your schema change is updated across all of the table. You can<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>   * use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>   * @param td description of the table<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>   * @throws IOException if a remote or network exception occurs<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>   * @return the result of the async modify. You can use Future.get(long, TimeUnit) to wait on the<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>   *         operation to complete<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>   */<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  Future&lt;Void&gt; modifyTableAsync(TableDescriptor td) throws IOException;<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span><a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>  /**<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>   * Shuts down the HBase cluster.<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>   * &lt;p/&gt;<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>   * Notice that, a success shutdown call may ends with an error since the remote server has already<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>   * been shutdown.<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>   * @throws IOException if a remote or network exception occurs<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   */<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>  void shutdown() throws IOException;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span><a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  /**<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>   * Shuts down the current HBase master only. Does not shutdown the cluster.<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>   * &lt;p/&gt;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>   * Notice that, a success stopMaster call may ends with an error since the remote server has<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>   * already been shutdown.<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>   * @throws IOException if a remote or network exception occurs<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>   * @see #shutdown()<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>   */<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>  void stopMaster() throws IOException;<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span><a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>  /**<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>   * Check whether Master is in maintenance mode.<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>   *<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>   * @throws IOException if a remote or network exception occurs<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>   */<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  boolean isMasterInMaintenanceMode()  throws IOException;<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * Stop the designated regionserver.<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   *<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param hostnamePort Hostname and port delimited by a &lt;code&gt;:&lt;/code&gt; as in<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * &lt;code&gt;example.org:1234&lt;/code&gt;<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @throws IOException if a remote or network exception occurs<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   */<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>  void stopRegionServer(String hostnamePort) throws IOException;<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span><a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>  /**<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>   * Get whole cluster metrics, containing status about:<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>   * &lt;pre&gt;<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>   * hbase version<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>   * cluster id<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>   * primary/backup master(s)<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * master's coprocessors<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * live/dead regionservers<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * balancer<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * regions in transition<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * &lt;/pre&gt;<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return cluster metrics<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException if a remote or network exception occurs<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  default ClusterMetrics getClusterMetrics() throws IOException {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    return getClusterMetrics(EnumSet.allOf(ClusterMetrics.Option.class));<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>  }<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span><a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>  /**<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>   * Get cluster status with a set of {@link Option} to get desired status.<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>   * @return cluster status<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>   * @throws IOException if a remote or network exception occurs<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>   */<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>  ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>  /**<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>   * @return current master server name<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>   * @throws IOException if a remote or network exception occurs<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>   */<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>  default ServerName getMaster() throws IOException {<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    return getClusterMetrics(EnumSet.of(Option.MASTER)).getMasterName();<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>  }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span><a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>  /**<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>   * @return current backup master list<a name="line.1079"></a>
+<span class="sourceLineNo">862</span>  default boolean normalize() throws IOException {<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return normalize(new NormalizeTableFilterParams.Builder().build());<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  /**<a name="line.866"></a>
+<span class="sourceLineNo">867</span>   * Invoke region normalizer. Can NOT run for various reasons.  Check logs.<a name="line.867"></a>
+<span class="sourceLineNo">868</span>   * This is a non-blocking invocation to region normalizer. If return value is true, it means<a name="line.868"></a>
+<span class="sourceLineNo">869</span>   * the request was submitted successfully. We need to check logs for the details of which regions<a name="line.869"></a>
+<span class="sourceLineNo">870</span>   * were split/merged.<a name="line.870"></a>
+<span class="sourceLineNo">871</span>   *<a name="line.871"></a>
+<span class="sourceLineNo">872</span>   * @param ntfp limit to tables matching the specified filter.<a name="line.872"></a>
+<span class="sourceLineNo">873</span>   * @return {@code true} if region normalizer ran, {@code false} otherwise.<a name="line.873"></a>
+<span class="sourceLineNo">874</span>   * @throws IOException if a remote or network exception occurs<a name="line.874"></a>
+<span class="sourceLineNo">875</span>   */<a name="line.875"></a>
+<span class="sourceLineNo">876</span>  boolean normalize(NormalizeTableFilterParams ntfp) throws IOException;<a name="line.876"></a>
+<span class="sourceLineNo">877</span><a name="line.877"></a>
+<span class="sourceLineNo">878</span>  /**<a name="line.878"></a>
+<span class="sourceLineNo">879</span>   * Query the current state of the region normalizer.<a name="line.879"></a>
+<span class="sourceLineNo">880</span>   *<a name="line.880"></a>
+<span class="sourceLineNo">881</span>   * @return &lt;code&gt;true&lt;/code&gt; if region normalizer is enabled, &lt;code&gt;false&lt;/code&gt; otherwise.<a name="line.881"></a>
+<span class="sourceLineNo">882</span>   * @throws IOException if a remote or network exception occurs<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   */<a name="line.883"></a>
+<span class="sourceLineNo">884</span>  boolean isNormalizerEnabled() throws IOException;<a name="line.884"></a>
+<span class="sourceLineNo">885</span><a name="line.885"></a>
+<span class="sourceLineNo">886</span>  /**<a name="line.886"></a>
+<span class="sourceLineNo">887</span>   * Turn region normalizer on or off.<a name="line.887"></a>
+<span class="sourceLineNo">888</span>   *<a name="line.888"></a>
+<span class="sourceLineNo">889</span>   * @return Previous normalizer value<a name="line.889"></a>
+<span class="sourceLineNo">890</span>   * @throws IOException if a remote or network exception occurs<a name="line.890"></a>
+<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
+<span class="sourceLineNo">892</span>  boolean normalizerSwitch(boolean on) throws IOException;<a name="line.892"></a>
+<span class="sourceLineNo">893</span><a name="line.893"></a>
+<span class="sourceLineNo">894</span>  /**<a name="line.894"></a>
+<span class="sourceLineNo">895</span>   * Enable/Disable the catalog janitor/<a name="line.895"></a>
+<span class="sourceLineNo">896</span>   *<a name="line.896"></a>
+<span class="sourceLineNo">897</span>   * @param onOrOff if &lt;code&gt;true&lt;/code&gt; enables the catalog janitor<a name="line.897"></a>
+<span class="sourceLineNo">898</span>   * @return the previous state<a name="line.898"></a>
+<span class="sourceLineNo">899</span>   * @throws IOException if a remote or network exception occurs<a name="line.899"></a>
+<span class="sourceLineNo">900</span>   */<a name="line.900"></a>
+<span class="sourceLineNo">901</span>  boolean catalogJanitorSwitch(boolean onOrOff) throws IOException;<a name="line.901"></a>
+<span class="sourceLineNo">902</span><a name="line.902"></a>
+<span class="sourceLineNo">903</span>  /**<a name="line.903"></a>
+<span class="sourceLineNo">904</span>   * Ask for a scan of the catalog table.<a name="line.904"></a>
+<span class="sourceLineNo">905</span>   *<a name="line.905"></a>
+<span class="sourceLineNo">906</span>   * @return the number of entries cleaned<a name="line.906"></a>
+<span class="sourceLineNo">907</span>   * @throws IOException if a remote or network exception occurs<a name="line.907"></a>
+<span class="sourceLineNo">908</span>   */<a name="line.908"></a>
+<span class="sourceLineNo">909</span>  int runCatalogJanitor() throws IOException;<a name="line.909"></a>
+<span class="sourceLineNo">910</span><a name="line.910"></a>
+<span class="sourceLineNo">911</span>  /**<a name="line.911"></a>
+<span class="sourceLineNo">912</span>   * Query on the catalog janitor state (Enabled/Disabled?).<a name="line.912"></a>
+<span class="sourceLineNo">913</span>   *<a name="line.913"></a>
+<span class="sourceLineNo">914</span>   * @throws IOException if a remote or network exception occurs<a name="line.914"></a>
+<span class="sourceLineNo">915</span>   */<a name="line.915"></a>
+<span class="sourceLineNo">916</span>  boolean isCatalogJanitorEnabled() throws IOException;<a name="line.916"></a>
+<span class="sourceLineNo">917</span><a name="line.917"></a>
+<span class="sourceLineNo">918</span>  /**<a name="line.918"></a>
+<span class="sourceLineNo">919</span>   * Enable/Disable the cleaner chore.<a name="line.919"></a>
+<span class="sourceLineNo">920</span>   *<a name="line.920"></a>
+<span class="sourceLineNo">921</span>   * @param onOrOff if &lt;code&gt;true&lt;/code&gt; enables the cleaner chore<a name="line.921"></a>
+<span class="sourceLineNo">922</span>   * @return the previous state<a name="line.922"></a>
+<span class="sourceLineNo">923</span>   * @throws IOException if a remote or network exception occurs<a name="line.923"></a>
+<span class="sourceLineNo">924</span>   */<a name="line.924"></a>
+<span class="sourceLineNo">925</span>  boolean cleanerChoreSwitch(boolean onOrOff) throws IOException;<a name="line.925"></a>
+<span class="sourceLineNo">926</span><a name="line.926"></a>
+<span class="sourceLineNo">927</span>  /**<a name="line.927"></a>
+<span class="sourceLineNo">928</span>   * Ask for cleaner chore to run.<a name="line.928"></a>
+<span class="sourceLineNo">929</span>   *<a name="line.929"></a>
+<span class="sourceLineNo">930</span>   * @return &lt;code&gt;true&lt;/code&gt; if cleaner chore ran, &lt;code&gt;false&lt;/code&gt; otherwise<a name="line.930"></a>
+<span class="sourceLineNo">931</span>   * @throws IOException if a remote or network exception occurs<a name="line.931"></a>
+<span class="sourceLineNo">932</span>   */<a name="line.932"></a>
+<span class="sourceLineNo">933</span>  boolean runCleanerChore() throws IOException;<a name="line.933"></a>
+<span class="sourceLineNo">934</span><a name="line.934"></a>
+<span class="sourceLineNo">935</span>  /**<a name="line.935"></a>
+<span class="sourceLineNo">936</span>   * Query on the cleaner chore state (Enabled/Disabled?).<a name="line.936"></a>
+<span class="sourceLineNo">937</span>   *<a name="line.937"></a>
+<span class="sourceLineNo">938</span>   * @throws IOException if a remote or network exception occurs<a name="line.938"></a>
+<span class="sourceLineNo">939</span>   */<a name="line.939"></a>
+<span class="sourceLineNo">940</span>  boolean isCleanerChoreEnabled() throws IOException;<a name="line.940"></a>
+<span class="sourceLineNo">941</span><a name="line.941"></a>
+<span class="sourceLineNo">942</span><a name="line.942"></a>
+<span class="sourceLineNo">943</span>  /**<a name="line.943"></a>
+<span class="sourceLineNo">944</span>   * Merge two regions. Asynchronous operation.<a name="line.944"></a>
+<span class="sourceLineNo">945</span>   * @param nameOfRegionA encoded or full name of region a<a name="line.945"></a>
+<span class="sourceLineNo">946</span>   * @param nameOfRegionB encoded or full name of region b<a name="line.946"></a>
+<span class="sourceLineNo">947</span>   * @param forcible &lt;code&gt;true&lt;/code&gt; if do a compulsory merge, otherwise we will only merge two<a name="line.947"></a>
+<span class="sourceLineNo">948</span>   *          adjacent regions<a name="line.948"></a>
+<span class="sourceLineNo">949</span>   * @throws IOException if a remote or network exception occurs<a name="line.949"></a>
+<span class="sourceLineNo">950</span>   * @deprecated since 2.3.0 and will be removed in 4.0.0. Multi-region merge feature is now<a name="line.950"></a>
+<span class="sourceLineNo">951</span>   *             supported. Use {@link #mergeRegionsAsync(byte[][], boolean)} instead.<a name="line.951"></a>
+<span class="sourceLineNo">952</span>   */<a name="line.952"></a>
+<span class="sourceLineNo">953</span>  @Deprecated<a name="line.953"></a>
+<span class="sourceLineNo">954</span>  default Future&lt;Void&gt; mergeRegionsAsync(byte[] nameOfRegionA, byte[] nameOfRegionB,<a name="line.954"></a>
+<span class="sourceLineNo">955</span>      boolean forcible) throws IOException {<a name="line.955"></a>
+<span class="sourceLineNo">956</span>    byte[][] nameofRegionsToMerge = new byte[2][];<a name="line.956"></a>
+<span class="sourceLineNo">957</span>    nameofRegionsToMerge[0] = nameOfRegionA;<a name="line.957"></a>
+<span class="sourceLineNo">958</span>    nameofRegionsToMerge[1] = nameOfRegionB;<a name="line.958"></a>
+<span class="sourceLineNo">959</span>    return mergeRegionsAsync(nameofRegionsToMerge, forcible);<a name="line.959"></a>
+<span class="sourceLineNo">960</span>  }<a name="line.960"></a>
+<span class="sourceLineNo">961</span><a name="line.961"></a>
+<span class="sourceLineNo">962</span>  /**<a name="line.962"></a>
+<span class="sourceLineNo">963</span>   * Merge multiple regions (&gt;=2). Asynchronous operation.<a name="line.963"></a>
+<span class="sourceLineNo">964</span>   * @param nameofRegionsToMerge encoded or full name of daughter regions<a name="line.964"></a>
+<span class="sourceLineNo">965</span>   * @param forcible &lt;code&gt;true&lt;/code&gt; if do a compulsory merge, otherwise we will only merge<a name="line.965"></a>
+<span class="sourceLineNo">966</span>   *          adjacent regions<a name="line.966"></a>
+<span class="sourceLineNo">967</span>   * @throws IOException if a remote or network exception occurs<a name="line.967"></a>
+<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
+<span class="sourceLineNo">969</span>  Future&lt;Void&gt; mergeRegionsAsync(byte[][] nameofRegionsToMerge, boolean forcible)<a name="line.969"></a>
+<span class="sourceLineNo">970</span>      throws IOException;<a name="line.970"></a>
+<span class="sourceLineNo">971</span><a name="line.971"></a>
+<span class="sourceLineNo">972</span>  /**<a name="line.972"></a>
+<span class="sourceLineNo">973</span>   * Split a table. The method will execute split action for each region in table.<a name="line.973"></a>
+<span class="sourceLineNo">974</span>   * @param tableName table to split<a name="line.974"></a>
+<span class="sourceLineNo">975</span>   * @throws IOException if a remote or network exception occurs<a name="line.975"></a>
+<span class="sourceLineNo">976</span>   */<a name="line.976"></a>
+<span class="sourceLineNo">977</span>  void split(TableName tableName) throws IOException;<a name="line.977"></a>
+<span class="sourceLineNo">978</span><a name="line.978"></a>
+<span class="sourceLineNo">979</span>  /**<a name="line.979"></a>
+<span class="sourceLineNo">980</span>   * Split a table.<a name="line.980"></a>
+<span class="sourceLineNo">981</span>   * @param tableName table to split<a name="line.981"></a>
+<span class="sourceLineNo">982</span>   * @param splitPoint the explicit position to split on<a name="line.982"></a>
+<span class="sourceLineNo">983</span>   * @throws IOException if a remote or network exception occurs<a name="line.983"></a>
+<span class="sourceLineNo">984</span>   */<a name="line.984"></a>
+<span class="sourceLineNo">985</span>  void split(TableName tableName, byte[] splitPoint) throws IOException;<a name="line.985"></a>
+<span class="sourceLineNo">986</span><a name="line.986"></a>
+<span class="sourceLineNo">987</span>  /**<a name="line.987"></a>
+<span class="sourceLineNo">988</span>   * Split an individual region. Asynchronous operation.<a name="line.988"></a>
+<span class="sourceLineNo">989</span>   * @param regionName region to split<a name="line.989"></a>
+<span class="sourceLineNo">990</span>   * @throws IOException if a remote or network exception occurs<a name="line.990"></a>
+<span class="sourceLineNo">991</span>   */<a name="line.991"></a>
+<span class="sourceLineNo">992</span>  Future&lt;Void&gt; splitRegionAsync(byte[] regionName) throws IOException;<a name="line.992"></a>
+<span class="sourceLineNo">993</span><a name="line.993"></a>
+<span class="sourceLineNo">994</span>  /**<a name="line.994"></a>
+<span class="sourceLineNo">995</span>   * Split an individual region. Asynchronous operation.<a name="line.995"></a>
+<span class="sourceLineNo">996</span>   * @param regionName region to split<a name="line.996"></a>
+<span class="sourceLineNo">997</span>   * @param splitPoint the explicit position to split on<a name="line.997"></a>
+<span class="sourceLineNo">998</span>   * @throws IOException if a remote or network exception occurs<a name="line.998"></a>
+<span class="sourceLineNo">999</span>   */<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>  Future&lt;Void&gt; splitRegionAsync(byte[] regionName, byte[] splitPoint) throws IOException;<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span><a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>  /**<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span>   * Modify an existing table, more IRB friendly version.<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>   * @param td modified description of the table<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>   * @throws IOException if a remote or network exception occurs<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>   */<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>  default void modifyTable(TableDescriptor td) throws IOException {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span>    get(modifyTableAsync(td), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>  }<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span><a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>  /**<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>   * Modify an existing table, more IRB (ruby) friendly version. Asynchronous operation. This means<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span>   * that it may be a while before your schema change is updated across all of the table. You can<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>   * use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>   * @param td description of the table<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>   * @throws IOException if a remote or network exception occurs<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>   * @return the result of the async modify. You can use Future.get(long, TimeUnit) to wait on the<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>   *         operation to complete<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>   */<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>  Future&lt;Void&gt; modifyTableAsync(TableDescriptor td) throws IOException;<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span><a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>  /**<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>   * Shuts down the HBase cluster.<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>   * &lt;p/&gt;<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>   * Notice that, a success shutdown call may ends with an error since the remote server has already<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>   * been shutdown.<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>   * @throws IOException if a remote or network exception occurs<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>   */<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>  void shutdown() throws IOException;<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span><a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>  /**<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>   * Shuts down the current HBase master only. Does not shutdown the cluster.<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>   * &lt;p/&gt;<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>   * Notice that, a success stopMaster call may ends with an error since the remote server has<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>   * already been shutdown.<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>   * @throws IOException if a remote or network exception occurs<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>   * @see #shutdown()<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>   */<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>  void stopMaster() throws IOException;<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span><a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>  /**<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>   * Check whether Master is in maintenance mode.<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>   *<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>   * @throws IOException if a remote or network exception occurs<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>   */<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>  boolean isMasterInMaintenanceMode()  throws IOException;<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span><a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>   * Stop the designated regionserver.<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>   *<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>   * @param hostnamePort Hostname and port delimited by a &lt;code&gt;:&lt;/code&gt; as in<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>   * &lt;code&gt;example.org:1234&lt;/code&gt;<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>   * @throws IOException if a remote or network exception occurs<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>  void stopRegionServer(String hostnamePort) throws IOException;<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>  /**<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>   * Get whole cluster metrics, containing status about:<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>   * &lt;pre&gt;<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>   * hbase version<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>   * cluster id<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>   * primary/backup master(s)<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>   * master's coprocessors<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>   * live/dead regionservers<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>   * balancer<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>   * regions in transition<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>   * &lt;/pre&gt;<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>   * @return cluster metrics<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>   * @throws IOException if a remote or network exception occurs<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>   */<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>  default ClusterMetrics getClusterMetrics() throws IOException {<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>    return getClusterMetrics(EnumSet.allOf(ClusterMetrics.Option.class));<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>  }<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span><a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>  /**<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>   * Get cluster status with a set of {@link Option} to get desired status.<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>   * @return cluster status<a name="line.1079"></a>
 <span class="sourceLineNo">1080</span>   * @throws IOException if a remote or network exception occurs<a name="line.1080"></a>
 <span class="sourceLineNo">1081</span>   */<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>  default Collection&lt;ServerName&gt; getBackupMasters() throws IOException {<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>    return getClusterMetrics(EnumSet.of(Option.BACKUP_MASTERS)).getBackupMasterNames();<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>  }<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span><a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>  /**<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>   * @return current live region servers list<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>   * @throws IOException if a remote or network exception occurs<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>   */<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  default Collection&lt;ServerName&gt; getRegionServers() throws IOException {<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>    return getRegionServers(false);<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  }<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span><a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>  /**<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>   * Retrieve all current live region servers including decommissioned<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>   * if excludeDecommissionedRS is false, else non-decommissioned ones only<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>   *<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>   * @param excludeDecommissionedRS should we exclude decommissioned RS nodes<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * @return all current live region servers including/excluding decommissioned hosts<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   * @throws IOException if a remote or network exception occurs<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   */<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>  default Collection&lt;ServerName&gt; getRegionServers(boolean excludeDecommissionedRS)<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>      throws IOException {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    List&lt;ServerName&gt; allServers =<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>      getClusterMetrics(EnumSet.of(Option.SERVERS_NAME)).getServersName();<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>    if (!excludeDecommissionedRS) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>      return allServers;<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>    }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>    List&lt;ServerName&gt; decommissionedRegionServers = listDecommissionedRegionServers();<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>    return allServers.stream()<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>      .filter(s -&gt; !decommissionedRegionServers.contains(s))<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>      .collect(ImmutableList.toImmutableList());<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  /**<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>   * Get {@link RegionMetrics} of all regions hosted on a regionserver.<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>   *<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>   * @param serverName region server from which {@link RegionMetrics} is required.<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>   * @return a {@link RegionMetrics} list of all regions hosted on a region server<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>   * @throws IOException if a remote or network exception occurs<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>   */<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  List&lt;RegionMetrics&gt; getRegionMetrics(ServerName serverName) throws IOException;<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span><a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  /**<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>   * Get {@link RegionMetrics} of all regions hosted on a regionserver for a table.<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>   *<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>   * @param serverName region server from which {@link RegionMetrics} is required.<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>   * @param tableName get {@link RegionMetrics} of regions belonging to the table<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>   * @return region metrics map of all regions of a table hosted on a region server<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>   * @throws IOException if a remote or network exception occurs<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>   */<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>  List&lt;RegionMetrics&gt; getRegionMetrics(ServerName serverName,<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    TableName tableName) throws IOException;<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  /**<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>   * @return Configuration used by the instance.<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>   */<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  Configuration getConfiguration();<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  /**<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>   * Create a new namespace. Blocks until namespace has been successfully created or an exception is<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>   * thrown.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>   * @param descriptor descriptor which describes the new namespace.<a name="line.1143"></a>
+<span class="sourceLineNo">1082</span>  ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException;<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span><a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>  /**<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>   * @return current master server name<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>   * @throws IOException if a remote or network exception occurs<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>   */<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>  default ServerName getMaster() throws IOException {<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>    return getClusterMetrics(EnumSet.of(Option.MASTER)).getMasterName();<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span><a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>  /**<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>   * @return current backup master list<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>   * @throws IOException if a remote or network exception occurs<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>   */<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>  default Collection&lt;ServerName&gt; getBackupMasters() throws IOException {<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>    return getClusterMetrics(EnumSet.of(Option.BACKUP_MASTERS)).getBackupMasterNames();<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  }<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span><a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>  /**<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>   * @return current live region servers list<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>   * @throws IOException if a remote or network exception occurs<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>   */<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>  default Collection&lt;ServerName&gt; getRegionServers() throws IOException {<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>    return getRegionServers(false);<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>  }<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span><a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  /**<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span>   * Retrieve all current live region servers including decommissioned<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>   * if excludeDecommissionedRS is false, else non-decommissioned ones only<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>   *<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>   * @param excludeDecommissionedRS should we exclude decommissioned RS nodes<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>   * @return all current live region servers including/excluding decommissioned hosts<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>   * @throws IOException if a remote or network exception occurs<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>   */<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  default Collection&lt;ServerName&gt; getRegionServers(boolean excludeDecommissionedRS)<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>      throws IOException {<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>    List&lt;ServerName&gt; allServers =<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>      getClusterMetrics(EnumSet.of(Option.SERVERS_NAME)).getServersName();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>    if (!excludeDecommissionedRS) {<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>      return allServers;<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>    }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>    List&lt;ServerName&gt; decommissionedRegionServers = listDecommissionedRegionServers();<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>    return allServers.stream()<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>      .filter(s -&gt; !decommissionedRegionServers.contains(s))<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>      .collect(ImmutableList.toImmutableList());<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>  }<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span><a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>  /**<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>   * Get {@link RegionMetrics} of all regions hosted on a regionserver.<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>   *<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>   * @param serverName region server from which {@link RegionMetrics} is required.<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>   * @return a {@link RegionMetrics} list of all regions hosted on a region server<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>   * @throws IOException if a remote or network exception occurs<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>   */<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>  List&lt;RegionMetrics&gt; getRegionMetrics(ServerName serverName) throws IOException;<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span><a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>  /**<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>   * Get {@link RegionMetrics} of all regions hosted on a regionserver for a table.<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>   *<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>   * @param serverName region server from which {@link RegionMetrics} is required.<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>   * @param tableName get {@link RegionMetrics} of regions belonging to the table<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>   * @return region metrics map of all regions of a table hosted on a region server<a name="line.1143"></a>
 <span class="sourceLineNo">1144</span>   * @throws IOException if a remote or network exception occurs<a name="line.1144"></a>
 <span class="sourceLineNo">1145</span>   */<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  default void createNamespace(NamespaceDescriptor descriptor) throws IOException {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    get(createNamespaceAsync(descriptor), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>  }<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span><a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>  /**<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>   * Create a new namespace.<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>   * @param descriptor descriptor which describes the new namespace<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>   * @return the result of the async create namespace operation. Use Future.get(long, TimeUnit) to<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>   *         wait on the operation to complete.<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>   * @throws IOException if a remote or network exception occurs<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>   */<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>  Future&lt;Void&gt; createNamespaceAsync(NamespaceDescriptor descriptor) throws IOException;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span><a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>  /**<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>   * Modify an existing namespace. Blocks until namespace has been successfully modified or an<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>   * exception is thrown.<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>   * @param descriptor descriptor which describes the new namespace<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>   * @throws IOException if a remote or network exception occurs<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>   */<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  default void modifyNamespace(NamespaceDescriptor descriptor) throws IOException {<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>    get(modifyNamespaceAsync(descriptor), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>  }<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span><a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>  /**<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>   * Modify an existing namespace.<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   * @param descriptor descriptor which describes the new namespace<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>   * @return the result of the async modify namespace operation. Use Future.get(long, TimeUnit) to<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>   *         wait on the operation to complete.<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>   * @throws IOException if a remote or network exception occurs<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>   */<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>  Future&lt;Void&gt; modifyNamespaceAsync(NamespaceDescriptor descriptor) throws IOException;<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  /**<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>   * Delete an existing namespace. Only empty namespaces (no tables) can be removed. Blocks until<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>   * namespace has been successfully deleted or an exception is thrown.<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>   * @param name namespace name<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * @throws IOException if a remote or network exception occurs<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   */<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>  default void deleteNamespace(String name) throws IOException {<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>    get(deleteNamespaceAsync(name), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  }<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span><a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>  /**<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>   * Delete an existing namespace. Only empty namespaces (no tables) can be removed.<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>   * @param name namespace name<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>   * @return the result of the async delete namespace operation. Use Future.get(long, TimeUnit) to<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>   *         wait on the operation to complete.<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>   * @throws IOException if a remote or network exception occurs<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>   */<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>  Future&lt;Void&gt; deleteNamespaceAsync(String name) throws IOException;<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span><a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>  /**<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>   * Get a namespace descriptor by name.<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>   * @param name name of namespace descriptor<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>   * @return A descriptor<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>   * @throws org.apache.hadoop.hbase.NamespaceNotFoundException<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>   * @throws IOException if a remote or network exception occurs<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>   */<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>  NamespaceDescriptor getNamespaceDescriptor(String name)<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>      throws NamespaceNotFoundException, IOException;<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span><a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>  /**<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>   * List available namespaces<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>   *<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>   * @return List of namespace names<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>   * @throws IOException if a remote or network exception occurs<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>   */<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>  String[] listNamespaces() throws IOException;<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>  /**<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>   * List available namespace descriptors<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>   *<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>   * @return List of descriptors<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>   * @throws IOException if a remote or network exception occurs<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>   */<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>  NamespaceDescriptor[] listNamespaceDescriptors() throws IOException;<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  /**<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>   * Get list of table descriptors by namespace.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>   * @param name namespace name<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>   * @return returns a list of TableDescriptors<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>   * @throws IOException if a remote or network exception occurs<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>   */<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>  List&lt;TableDescriptor&gt; listTableDescriptorsByNamespace(byte[] name) throws IOException;<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>  /**<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>   * Get list of table names by namespace.<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>   * @param name namespace name<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>   * @return The list of table names in the namespace<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>   * @throws IOException if a remote or network exception occurs<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>   */<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>  TableName[] listTableNamesByNamespace(String name) throws IOException;<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /**<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>   * Get the regions of a given table.<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>   *<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>   * @param tableName the name of the table<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>   * @return List of {@link RegionInfo}.<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>   * @throws IOException if a remote or network exception occurs<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>   */<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>  List&lt;RegionInfo&gt; getRegions(TableName tableName) throws IOException;<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  @Override<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>  void close();<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span><a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>  /**<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>   * Get tableDescriptors.<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>   *<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>   * @param tableNames List of table names<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>   * @return returns a list of TableDescriptors<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>   * @throws IOException if a remote or network exception occurs<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>   */<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>  List&lt;TableDescriptor&gt; listTableDescriptors(List&lt;TableName&gt; tableNames)<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>    throws IOException;<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span><a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>  /**<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>   * Abort a procedure.<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>   * &lt;p/&gt;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>   * Do not use. Usually it is ignored but if not, it can do more damage than good. See hbck2.<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>   * @param procId ID of the procedure to abort<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>   * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>   * @return &lt;code&gt;true&lt;/code&gt; if aborted, &lt;code&gt;false&lt;/code&gt; if procedure already completed or does<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span>   *         not exist<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>   * @throws IOException if a remote or network exception occurs<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>   * @deprecated since 2.1.1 and will be removed in 4.0.0.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-21223"&gt;HBASE-21223&lt;/a&gt;<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>   */<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>  @Deprecated<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>  default boolean abortProcedure(long procId, boolean mayInterruptIfRunning) throws IOException {<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>    return get(abortProcedureAsync(procId, mayInterruptIfRunning), getSyncWaitTimeout(),<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>      TimeUnit.MILLISECONDS);<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>  }<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span><a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>  /**<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>   * Abort a procedure but does not block and wait for completion.<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete.<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>   * It may throw ExecutionException if there was an error while executing the operation<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>   * or TimeoutException in case the wait timeout was not long enough to allow the<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>   * operation to complete.<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>   * Do not use. Usually it is ignored but if not, it can do more damage than good. See hbck2.<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>   *<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>   * @param procId ID of the procedure to abort<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>   * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>   * @return &lt;code&gt;true&lt;/code&gt; if aborted, &lt;code&gt;false&lt;/code&gt; if procedure already completed or does not exist<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>   * @throws IOException if a remote or network exception occurs<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>   * @deprecated since 2.1.1 and will be removed in 4.0.0.<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-21223"&gt;HBASE-21223&lt;/a&gt;<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>   */<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>  @Deprecated<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>  Future&lt;Boolean&gt; abortProcedureAsync(long procId, boolean mayInterruptIfRunning)<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>      throws IOException;<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span><a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>  /**<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>   * Get procedures.<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>   * @return procedure list in JSON<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>   * @throws IOException if a remote or network exception occurs<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>   */<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>  String getProcedures() throws IOException;<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span><a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>  /**<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>   * Get locks.<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>   * @return lock list in JSON<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>   * @throws IOException if a remote or network exception occurs<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>   */<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>  String getLocks() throws IOException;<a name="line.1310"></a>
+<span class="sourceLineNo">1146</span>  List&lt;RegionMetrics&gt; getRegionMetrics(ServerName serverName,<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>    TableName tableName) throws IOException;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span><a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>  /**<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>   * @return Configuration used by the instance.<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>   */<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>  Configuration getConfiguration();<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>  /**<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span>   * Create a new namespace. Blocks until namespace has been successfully created or an exception is<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>   * thrown.<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>   * @param descriptor descriptor which describes the new namespace.<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>   * @throws IOException if a remote or network exception occurs<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>   */<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>  default void createNamespace(NamespaceDescriptor descriptor) throws IOException {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>    get(createNamespaceAsync(descriptor), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span><a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>  /**<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>   * Create a new namespace.<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>   * @param descriptor descriptor which describes the new namespace<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>   * @return the result of the async create namespace operation. Use Future.get(long, TimeUnit) to<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>   *         wait on the operation to complete.<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>   * @throws IOException if a remote or network exception occurs<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>   */<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>  Future&lt;Void&gt; createNamespaceAsync(NamespaceDescriptor descriptor) throws IOException;<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span><a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>  /**<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>   * Modify an existing namespace. Blocks until namespace has been successfully modified or an<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>   * exception is thrown.<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>   * @param descriptor descriptor which describes the new namespace<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>   * @throws IOException if a remote or network exception occurs<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>   */<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>  default void modifyNamespace(NamespaceDescriptor descriptor) throws IOException {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>    get(modifyNamespaceAsync(descriptor), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>  }<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span><a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>  /**<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>   * Modify an existing namespace.<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>   * @param descriptor descriptor which describes the new namespace<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>   * @return the result of the async modify namespace operation. Use Future.get(long, TimeUnit) to<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>   *         wait on the operation to complete.<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>   * @throws IOException if a remote or network exception occurs<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>   */<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>  Future&lt;Void&gt; modifyNamespaceAsync(NamespaceDescriptor descriptor) throws IOException;<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span><a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>  /**<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>   * Delete an existing namespace. Only empty namespaces (no tables) can be removed. Blocks until<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>   * namespace has been successfully deleted or an exception is thrown.<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>   * @param name namespace name<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>   * @throws IOException if a remote or network exception occurs<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>   */<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>  default void deleteNamespace(String name) throws IOException {<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span>    get(deleteNamespaceAsync(name), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>  /**<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>   * Delete an existing namespace. Only empty namespaces (no tables) can be removed.<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>   * @param name namespace name<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>   * @return the result of the async delete namespace operation. Use Future.get(long, TimeUnit) to<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>   *         wait on the operation to complete.<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>   * @throws IOException if a remote or network exception occurs<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>   */<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  Future&lt;Void&gt; deleteNamespaceAsync(String name) throws IOException;<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>  /**<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>   * Get a namespace descriptor by name.<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>   * @param name name of namespace descriptor<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>   * @return A descriptor<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span>   * @throws org.apache.hadoop.hbase.NamespaceNotFoundException<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>   * @throws IOException if a remote or network exception occurs<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>   */<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  NamespaceDescriptor getNamespaceDescriptor(String name)<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>      throws NamespaceNotFoundException, IOException;<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>  /**<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>   * List available namespaces<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>   *<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>   * @return List of namespace names<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>   * @throws IOException if a remote or network exception occurs<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>   */<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>  String[] listNamespaces() throws IOException;<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span><a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>  /**<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>   * List available namespace descriptors<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>   *<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>   * @return List of descriptors<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>   * @throws IOException if a remote or network exception occurs<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>   */<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>  NamespaceDescriptor[] listNamespaceDescriptors() throws IOException;<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span><a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>  /**<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>   * Get list of table descriptors by namespace.<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>   * @param name namespace name<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>   * @return returns a list of TableDescriptors<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>   * @throws IOException if a remote or network exception occurs<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span>   */<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>  List&lt;TableDescriptor&gt; listTableDescriptorsByNamespace(byte[] name) throws IOException;<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span><a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>  /**<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>   * Get list of table names by namespace.<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span>   * @param name namespace name<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span>   * @return The list of table names in the namespace<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>   * @throws IOException if a remote or network exception occurs<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>   */<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>  TableName[] listTableNamesByNamespace(String name) throws IOException;<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span><a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>  /**<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>   * Get the regions of a given table.<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>   *<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>   * @param tableName the name of the table<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>   * @return List of {@link RegionInfo}.<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>   * @throws IOException if a remote or network exception occurs<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>   */<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  List&lt;RegionInfo&gt; getRegions(TableName tableName) throws IOException;<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span><a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>  @Override<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>  void close();<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span><a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>  /**<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>   * Get tableDescriptors.<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>   *<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span>   * @param tableNames List of table names<a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>   * @return returns a list of TableDescriptors<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>   * @throws IOException if a remote or network exception occurs<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>   */<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span>  List&lt;TableDescriptor&gt; listTableDescriptors(List&lt;TableName&gt; tableNames)<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>    throws IOException;<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span><a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>  /**<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>   * Abort a procedure.<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>   * &lt;p/&gt;<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>   * Do not use. Usually it is ignored but if not, it can do more damage than good. See hbck2.<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span>   * @param procId ID of the procedure to abort<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>   * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>   * @return &lt;code&gt;true&lt;/code&gt; if aborted, &lt;code&gt;false&lt;/code&gt; if procedure already completed or does<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>   *         not exist<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>   * @throws IOException if a remote or network exception occurs<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>   * @deprecated since 2.1.1 and will be removed in 4.0.0.<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-21223"&gt;HBASE-21223&lt;/a&gt;<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>   */<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>  @Deprecated<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>  default boolean abortProcedure(long procId, boolean mayInterruptIfRunning) throws IOException {<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>    return get(abortProcedureAsync(procId, mayInterruptIfRunning), getSyncWaitTimeout(),<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>      TimeUnit.MILLISECONDS);<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span>  }<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span><a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>  /**<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>   * Abort a procedure but does not block and wait for completion.<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete.<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>   * It may throw ExecutionException if there was an error while executing the operation<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span>   * or TimeoutException in case the wait timeout was not long enough to allow the<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>   * operation to complete.<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>   * Do not use. Usually it is ignored but if not, it can do more damage than good. See hbck2.<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>   *<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>   * @param procId ID of the procedure to abort<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>   * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>   * @return &lt;code&gt;true&lt;/code&gt; if aborted, &lt;code&gt;false&lt;/code&gt; if procedure already completed or does not exist<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>   * @throws IOException if a remote or network exception occurs<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>   * @deprecated since 2.1.1 and will be removed in 4.0.0.<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-21223"&gt;HBASE-21223&lt;/a&gt;<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>   */<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>  @Deprecated<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>  Future&lt;Boolean&gt; abortProcedureAsync(long procId, boolean mayInterruptIfRunning)<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>      throws IOException;<a name="line.1310"></a>
 <span class="sourceLineNo">1311</span><a name="line.1311"></a>
 <span class="sourceLineNo">1312</span>  /**<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>   * Roll the log writer. I.e. for filesystem based write ahead logs, start writing to a new file.<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>   *<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>   * Note that the actual rolling of the log writer is asynchronous and may not be complete when<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>   * this method returns. As a side effect of this call, the named region server may schedule<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>   * store flushes at the request of the wal.<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>   *<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>   * @param serverName The servername of the regionserver.<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>   * @throws IOException if a remote or network exception occurs<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>   * @throws org.apache.hadoop.hbase.regionserver.wal.FailedLogCloseException<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>   */<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>  void rollWALWriter(ServerName serverName) throws IOException, FailedLogCloseException;<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>  /**<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>   * Helper that delegates to getClusterMetrics().getMasterCoprocessorNames().<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>   * @return an array of master coprocessors<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>   * @see org.apache.hadoop.hbase.ClusterMetrics#getMasterCoprocessorNames()<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>   */<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>  default List&lt;String&gt; getMasterCoprocessorNames() throws IOException {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_COPROCESSORS))<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>      .getMasterCoprocessorNames();<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span><a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>  /**<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>   * Get the current compaction state of a table. It could be in a major compaction, a minor<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>   * compaction, both, or none.<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>   *<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>   * @param tableName table to examine<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>   * @return the current compaction state<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>   * @throws IOException if a remote or network exception occurs<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>   */<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>  CompactionState getCompactionState(TableName tableName) throws IOException;<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span><a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>  /**<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>   * Get the current compaction state of a table. It could be in a compaction, or none.<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>   *<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>   * @param tableName table to examine<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>   * @param compactType {@link org.apache.hadoop.hbase.client.CompactType}<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>   * @return the current compaction state<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>   * @throws IOException if a remote or network exception occurs<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>   */<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  CompactionState getCompactionState(TableName tableName,<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>    CompactType compactType) throws IOException;<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span><a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>  /**<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>   * Get the current compaction state of region. It could be in a major compaction, a minor<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>   * compaction, both, or none.<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>   *<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>   * @param regionName region to examine<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>   * @return the current compaction state<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>   * @throws IOException if a remote or network exception occurs<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>   */<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>  CompactionState getCompactionStateForRegion(byte[] regionName) throws IOException;<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>  /**<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>   * Get the timestamp of the last major compaction for the passed table<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>   *<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>   * The timestamp of the oldest HFile resulting from a major compaction of that table,<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>   * or 0 if no such HFile could be found.<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>   *<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>   * @param tableName table to examine<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>   * @return the last major compaction timestamp or 0<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>   * @throws IOException if a remote or network exception occurs<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>   */<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>  long getLastMajorCompactionTimestamp(TableName tableName) throws IOException;<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span><a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>  /**<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>   * Get the timestamp of the last major compaction for the passed region.<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>   *<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>   * The timestamp of the oldest HFile resulting from a major compaction of that region,<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>   * or 0 if no such HFile could be found.<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>   *<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>   * @param regionName region to examine<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>   * @return the last major compaction timestamp or 0<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>   * @throws IOException if a remote or network exception occurs<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>   */<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>  long getLastMajorCompactionTimestampForRegion(byte[] regionName) throws IOException;<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span><a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>  /**<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * Take a snapshot for the given table. If the table is enabled, a FLUSH-type snapshot will be<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>   * taken. If the table is disabled, an offline snapshot is taken. Snapshots are taken<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>   * sequentially even when requested concurrently, across all tables. Snapshots are considered<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>   * unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Attempts to take a snapshot with the same<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>   * name (even a different type or with different parameters) will fail with a<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>   * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>   * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>   * @param snapshotName name of the snapshot to be created<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>   * @param tableName name of the table for which snapshot is created<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>   * @throws IOException if a remote or network exception occurs<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>   * @throws org.apache.hadoop.hbase.snapshot.SnapshotCreationException if snapshot creation failed<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>   */<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>  default void snapshot(String snapshotName, TableName tableName)<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>      throws IOException, SnapshotCreationException, IllegalArgumentException {<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>    snapshot(snapshotName, tableName, SnapshotType.FLUSH);<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>  }<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span><a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>  /**<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>   * snapshot&lt;/b&gt;. Snapshots are taken sequentially even when requested concurrently, across<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>   * all tables. Attempts to take a snapshot with the same name (even a different type or with<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>   * different parameters) will fail with a {@link SnapshotCreationException} indicating the<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span>   * duplicate naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>   * @param snapshotName name to give the snapshot on the filesystem. Must be unique from all other<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span>   *          snapshots stored on the cluster<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>   * @param tableName name of the table to snapshot<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span>   * @param type type of snapshot to take<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>   * @throws IOException we fail to reach the master<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>   */<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>  default void snapshot(String snapshotName, TableName tableName, SnapshotType type)<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>      throws IOException, SnapshotCreationException, IllegalArgumentException {<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>    snapshot(new SnapshotDescription(snapshotName, tableName, type));<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span>  }<a name="line.1428"></a>
-<span class="sourceLineNo">1429</span><a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>  /**<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>   * snapshot&lt;/b&gt;. Snapshots are taken sequentially even when requested concurrently, across<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>   * all tables. Attempts to take a snapshot with the same name (even a different type or with<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>   * different parameters) will fail with a {@link SnapshotCreationException} indicating the<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>   * duplicate naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>   * Snapshot can live with ttl seconds.<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>   *<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>   * @param snapshotName  name to give the snapshot on the filesystem. Must be unique from all other<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>   *                      snapshots stored on the cluster<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>   * @param tableName     name of the table to snapshot<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>   * @param type          type of snapshot to take<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>   * @param snapshotProps snapshot additional properties e.g. TTL<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span>   * @throws IOException               we fail to reach the master<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>   * @throws IllegalArgumentException  if the snapshot request is formatted incorrectly<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>   */<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>  default void snapshot(String snapshotName, TableName tableName, SnapshotType type,<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>                        Map&lt;String, Object&gt; snapshotProps) throws IOException,<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>      SnapshotCreationException, IllegalArgumentException {<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>    snapshot(new SnapshotDescription(snapshotName, tableName, type, snapshotProps));<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>  }<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span><a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>  /**<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>   * snapshot&lt;/b&gt;. Snapshots are taken sequentially even when requested concurrently, across<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>   * all tables. Attempts to take a snapshot with the same name (even a different type or with<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>   * different parameters) will fail with a {@link SnapshotCreationException} indicating the<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>   * duplicate naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>   * Snapshot can live with ttl seconds.<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>   *<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>   * @param snapshotName  name to give the snapshot on the filesystem. Must be unique from all other<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span>   *                      snapshots stored on the cluster<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>   * @param tableName     name of the table to snapshot<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>   * @param snapshotProps snapshot additional properties e.g. TTL<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>   * @throws IOException               we fail to reach the master<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>   * @throws IllegalArgumentException  if the snapshot request is formatted incorrectly<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>   */<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>  default void snapshot(String snapshotName, TableName tableName,<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>                        Map&lt;String, Object&gt; snapshotProps) throws IOException,<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>      SnapshotCreationException, IllegalArgumentException {<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>    snapshot(new SnapshotDescription(snapshotName, tableName, SnapshotType.FLUSH, snapshotProps));<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>  }<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span><a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>  /**<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>   * Take a snapshot and wait for the server to complete that snapshot (blocking). Snapshots are<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span>   * considered unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Snapshots are taken sequentially<a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>   * even when requested concurrently, across all tables. Attempts to take a snapshot with the same<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>   * name (even a different type or with different parameters) will fail with a<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>   * {@link SnapshotCreationException} indicating the duplicate naming. Snapshot names follow the<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>   * same naming constraints as tables in HBase. See<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}. You should<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>   * probably use {@link #snapshot(String, org.apache.hadoop.hbase.TableName)} unless you are sure<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>   * about the type of snapshot that you want to take.<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>   * @param snapshot snapshot to take<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span>   * @throws IOException or we lose contact with the master.<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>   * @throws SnapshotCreationException if snapshot failed to be taken<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>   */<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>  void snapshot(SnapshotDescription snapshot)<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>      throws IOException, SnapshotCreationException, IllegalArgumentException;<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span><a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>  /**<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>   * Take a snapshot without waiting for the server to complete that snapshot (asynchronous).<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span>   * Snapshots are considered unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Snapshots are taken<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>   * sequentially even when requested concurrently, across all tables.<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>   *<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>   * @param snapshot snapshot to take<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>   * @throws IOException if the snapshot did not succeed or we lose contact with the master.<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>   */<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span>  Future&lt;Void&gt; snapshotAsync(SnapshotDescription snapshot)<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>      throws IOException, SnapshotCreationException;<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span><a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>  /**<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>   * Check the current state of the passed snapshot. There are three possible states: &lt;ol&gt;<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>   * &lt;li&gt;running - returns &lt;tt&gt;false&lt;/tt&gt;&lt;/li&gt; &lt;li&gt;finished - returns &lt;tt&gt;true&lt;/tt&gt;&lt;/li&gt;<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span>   * &lt;li&gt;finished with error - throws the exception that caused the snapshot to fail&lt;/li&gt; &lt;/ol&gt; The<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>   * cluster only knows about the most recent snapshot. Therefore, if another snapshot has been<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>   * run/started since the snapshot you are checking, you will receive an {@link<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>   * org.apache.hadoop.hbase.snapshot.UnknownSnapshotException}.<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>   *<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>   * @param snapshot description of the snapshot to check<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>   * @return &lt;tt&gt;true&lt;/tt&gt; if the snapshot is completed, &lt;tt&gt;false&lt;/tt&gt; if the snapshot is still<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>   * running<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>   * @throws IOException if we have a network issue<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>   * @throws org.apache.hadoop.hbase.snapshot.HBaseSnapshotException if the snapshot failed<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>   * @throws org.apache.hadoop.hbase.snapshot.UnknownSnapshotException if the requested snapshot is<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>   * unknown<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>   */<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>  boolean isSnapshotFinished(SnapshotDescription snapshot)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>      throws IOException, HBaseSnapshotException, UnknownSnapshotException;<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span><a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>  /**<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If the<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>   * "hbase.snapshot.restore.take.failsafe.snapshot" configuration property is set to<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>   * &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken before executing the restore<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>   * operation. In case of restore failure, the failsafe snapshot will be restored. If the restore<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>   * completes without problem the failsafe snapshot is deleted.<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>   * @param snapshotName name of the snapshot to restore<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>   * @throws IOException if a remote or network exception occurs<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1536"></a>
+<span class="sourceLineNo">1313</span>   * Get procedures.<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>   * @return procedure list in JSON<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>   * @throws IOException if a remote or network exception occurs<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>   */<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>  String getProcedures() throws IOException;<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span><a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>  /**<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>   * Get locks.<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>   * @return lock list in JSON<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>   * @throws IOException if a remote or network exception occurs<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>   */<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>  String getLocks() throws IOException;<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span><a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>  /**<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>   * Roll the log writer. I.e. for filesystem based write ahead logs, start writing to a new file.<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>   *<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>   * Note that the actual rolling of the log writer is asynchronous and may not be complete when<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>   * this method returns. As a side effect of this call, the named region server may schedule<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>   * store flushes at the request of the wal.<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>   *<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>   * @param serverName The servername of the regionserver.<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>   * @throws IOException if a remote or network exception occurs<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>   * @throws org.apache.hadoop.hbase.regionserver.wal.FailedLogCloseException<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>   */<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>  void rollWALWriter(ServerName serverName) throws IOException, FailedLogCloseException;<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span><a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>  /**<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>   * Helper that delegates to getClusterMetrics().getMasterCoprocessorNames().<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>   * @return an array of master coprocessors<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>   * @see org.apache.hadoop.hbase.ClusterMetrics#getMasterCoprocessorNames()<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>   */<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>  default List&lt;String&gt; getMasterCoprocessorNames() throws IOException {<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_COPROCESSORS))<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>      .getMasterCoprocessorNames();<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>  }<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span><a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>  /**<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>   * Get the current compaction state of a table. It could be in a major compaction, a minor<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>   * compaction, both, or none.<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>   *<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>   * @param tableName table to examine<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>   * @return the current compaction state<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>   * @throws IOException if a remote or network exception occurs<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>   */<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>  CompactionState getCompactionState(TableName tableName) throws IOException;<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span><a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>  /**<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>   * Get the current compaction state of a table. It could be in a compaction, or none.<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>   *<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>   * @param tableName table to examine<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>   * @param compactType {@link org.apache.hadoop.hbase.client.CompactType}<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>   * @return the current compaction state<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>   * @throws IOException if a remote or network exception occurs<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>   */<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>  CompactionState getCompactionState(TableName tableName,<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>    CompactType compactType) throws IOException;<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span><a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>  /**<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>   * Get the current compaction state of region. It could be in a major compaction, a minor<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>   * compaction, both, or none.<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>   *<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>   * @param regionName region to examine<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>   * @return the current compaction state<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>   * @throws IOException if a remote or network exception occurs<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>   */<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>  CompactionState getCompactionStateForRegion(byte[] regionName) throws IOException;<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span><a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>  /**<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>   * Get the timestamp of the last major compaction for the passed table<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>   *<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>   * The timestamp of the oldest HFile resulting from a major compaction of that table,<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>   * or 0 if no such HFile could be found.<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>   *<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>   * @param tableName table to examine<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>   * @return the last major compaction timestamp or 0<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>   * @throws IOException if a remote or network exception occurs<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>   */<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>  long getLastMajorCompactionTimestamp(TableName tableName) throws IOException;<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span><a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>  /**<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span>   * Get the timestamp of the last major compaction for the passed region.<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>   *<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>   * The timestamp of the oldest HFile resulting from a major compaction of that region,<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>   * or 0 if no such HFile could be found.<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>   *<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>   * @param regionName region to examine<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>   * @return the last major compaction timestamp or 0<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>   * @throws IOException if a remote or network exception occurs<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>   */<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>  long getLastMajorCompactionTimestampForRegion(byte[] regionName) throws IOException;<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span>  /**<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>   * Take a snapshot for the given table. If the table is enabled, a FLUSH-type snapshot will be<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>   * taken. If the table is disabled, an offline snapshot is taken. Snapshots are taken<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>   * sequentially even when requested concurrently, across all tables. Snapshots are considered<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>   * unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Attempts to take a snapshot with the same<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>   * name (even a different type or with different parameters) will fail with a<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>   * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>   * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>   * @param snapshotName name of the snapshot to be created<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>   * @param tableName name of the table for which snapshot is created<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span>   * @throws IOException if a remote or network exception occurs<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span>   * @throws org.apache.hadoop.hbase.snapshot.SnapshotCreationException if snapshot creation failed<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>   */<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>  default void snapshot(String snapshotName, TableName tableName)<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>      throws IOException, SnapshotCreationException, IllegalArgumentException {<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>    snapshot(snapshotName, tableName, SnapshotType.FLUSH);<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>  }<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span><a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>  /**<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>   * snapshot&lt;/b&gt;. Snapshots are taken sequentially even when requested concurrently, across<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>   * all tables. Attempts to take a snapshot with the same name (even a different type or with<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span>   * different parameters) will fail with a {@link SnapshotCreationException} indicating the<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span>   * duplicate naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>   * @param snapshotName name to give the snapshot on the filesystem. Must be unique from all other<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span>   *          snapshots stored on the cluster<a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>   * @param tableName name of the table to snapshot<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>   * @param type type of snapshot to take<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>   * @throws IOException we fail to reach the master<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span>   */<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>  default void snapshot(String snapshotName, TableName tableName, SnapshotType type)<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>      throws IOException, SnapshotCreationException, IllegalArgumentException {<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>    snapshot(new SnapshotDescription(snapshotName, tableName, type));<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>  }<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span><a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>  /**<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span>   * snapshot&lt;/b&gt;. Snapshots are taken sequentially even when requested concurrently, across<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>   * all tables. Attempts to take a snapshot with the same name (even a different type or with<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>   * different parameters) will fail with a {@link SnapshotCreationException} indicating the<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>   * duplicate naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>   * Snapshot can live with ttl seconds.<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>   *<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>   * @param snapshotName  name to give the snapshot on the filesystem. Must be unique from all other<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>   *                      snapshots stored on the cluster<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span>   * @param tableName     name of the table to snapshot<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>   * @param type          type of snapshot to take<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>   * @param snapshotProps snapshot additional properties e.g. TTL<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>   * @throws IOException               we fail to reach the master<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>   * @throws IllegalArgumentException  if the snapshot request is formatted incorrectly<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>   */<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>  default void snapshot(String snapshotName, TableName tableName, SnapshotType type,<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>                        Map&lt;String, Object&gt; snapshotProps) throws IOException,<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>      SnapshotCreationException, IllegalArgumentException {<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>    snapshot(new SnapshotDescription(snapshotName, tableName, type, snapshotProps));<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>  }<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span><a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>  /**<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>   * snapshot&lt;/b&gt;. Snapshots are taken sequentially even when requested concurrently, across<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>   * all tables. Attempts to take a snapshot with the same name (even a different type or with<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>   * different parameters) will fail with a {@link SnapshotCreationException} indicating the<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>   * duplicate naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>   * Snapshot can live with ttl seconds.<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>   *<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>   * @param snapshotName  name to give the snapshot on the filesystem. Must be unique from all other<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>   *                      snapshots stored on the cluster<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>   * @param tableName     name of the table to snapshot<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>   * @param snapshotProps snapshot additional properties e.g. TTL<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>   * @throws IOException               we fail to reach the master<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span>   * @throws IllegalArgumentException  if the snapshot request is formatted incorrectly<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>   */<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>  default void snapshot(String snapshotName, TableName tableName,<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>                        Map&lt;String, Object&gt; snapshotProps) throws IOException,<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>      SnapshotCreationException, IllegalArgumentException {<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>    snapshot(new SnapshotDescription(snapshotName, tableName, SnapshotType.FLUSH, snapshotProps));<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>  }<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span><a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>  /**<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span>   * Take a snapshot and wait for the server to complete that snapshot (blocking). Snapshots are<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>   * considered unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Snapshots are taken sequentially<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span>   * even when requested concurrently, across all tables. Attempts to take a snapshot with the same<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>   * name (even a different type or with different parameters) will fail with a<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>   * {@link SnapshotCreationException} indicating the duplicate naming. Snapshot names follow the<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span>   * same naming constraints as tables in HBase. See<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}. You should<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>   * probably use {@link #snapshot(String, org.apache.hadoop.hbase.TableName)} unless you are sure<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>   * about the type of snapshot that you want to take.<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span>   * @param snapshot snapshot to take<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>   * @throws IOException or we lose contact with the master.<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>   * @throws SnapshotCreationException if snapshot failed to be taken<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>   */<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>  void snapshot(SnapshotDescription snapshot)<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span>      throws IOException, SnapshotCreationException, IllegalArgumentException;<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span><a name="line.1508"></a>
+<span class="sourceLineNo">1509</span>  /**<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>   * Take a snapshot without waiting for the server to complete that snapshot (asynchronous).<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>   * Snapshots are considered unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Snapshots are taken<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>   * sequentially even when requested concurrently, across all tables.<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span>   *<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>   * @param snapshot snapshot to take<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>   * @throws IOException if the snapshot did not succeed or we lose contact with the master.<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>   */<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>  Future&lt;Void&gt; snapshotAsync(SnapshotDescription snapshot)<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>      throws IOException, SnapshotCreationException;<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span><a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>  /**<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>   * Check the current state of the passed snapshot. There are three possible states: &lt;ol&gt;<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>   * &lt;li&gt;running - returns &lt;tt&gt;false&lt;/tt&gt;&lt;/li&gt; &lt;li&gt;finished - returns &lt;tt&gt;true&lt;/tt&gt;&lt;/li&gt;<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>   * &lt;li&gt;finished with error - throws the exception that caused the snapshot to fail&lt;/li&gt; &lt;/ol&gt; The<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>   * cluster only knows about the most recent snapshot. Therefore, if another snapshot has been<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>   * run/started since the snapshot you are checking, you will receive an {@link<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>   * org.apache.hadoop.hbase.snapshot.UnknownSnapshotException}.<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span>   *<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span>   * @param snapshot description of the snapshot to check<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>   * @return &lt;tt&gt;true&lt;/tt&gt; if the snapshot is completed, &lt;tt&gt;false&lt;/tt&gt; if the snapshot is still<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>   * running<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>   * @throws IOException if we have a network issue<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span>   * @throws org.apache.hadoop.hbase.snapshot.HBaseSnapshotException if the snapshot failed<a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>   * @throws org.apache.hadoop.hbase.snapshot.UnknownSnapshotException if the requested snapshot is<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span>   * unknown<a name="line.1536"></a>
 <span class="sourceLineNo">1537</span>   */<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>  void restoreSnapshot(String snapshotName) throws IOException, RestoreSnapshotException;<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span><a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>  /**<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>   * 'takeFailSafeSnapshot' is set to &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>   * before executing the restore operation. In case of restore failure, the failsafe snapshot will<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>   * be restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>   * failsafe snapshot name is configurable by using the property<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.1546"></a>
+<span class="sourceLineNo">1538</span>  boolean isSnapshotFinished(SnapshotDescription snapshot)<a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>      throws IOException, HBaseSnapshotException, UnknownSnapshotException;<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span><a name="line.1540"></a>
+<span class="sourceLineNo">1541</span>  /**<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If the<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span>   * "hbase.snapshot.restore.take.failsafe.snapshot" configuration property is set to<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>   * &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken before executing the restore<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span>   * operation. In case of restore failure, the failsafe snapshot will be restored. If the restore<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span>   * completes without problem the failsafe snapshot is deleted.<a name="line.1546"></a>
 <span class="sourceLineNo">1547</span>   * @param snapshotName name of the snapshot to restore<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>   * @param takeFailSafeSnapshot &lt;code&gt;true&lt;/code&gt; if the failsafe snapshot should be taken<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>   * @throws IOException if a remote or network exception occurs<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>   */<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>  default void restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot)<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>      throws IOException, RestoreSnapshotException {<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>    restoreSnapshot(snapshotName, takeFailSafeSnapshot, false);<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>  }<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span><a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>  /**<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>   * 'takeFailSafeSnapshot' is set to &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>   * before executing the restore operation. In case of restore failure, the failsafe snapshot will<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>   * be restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>   * failsafe snapshot name is configurable by using the property<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>   * @param snapshotName name of the snapshot to restore<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>   * @param takeFailSafeSnapshot &lt;code&gt;true&lt;/code&gt; if the failsafe snapshot should be taken<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to restore acl of snapshot<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>   * @throws IOException if a remote or network exception occurs<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>   */<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>  void restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot, boolean restoreAcl)<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>      throws IOException, RestoreSnapshotException;<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span><a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>  /**<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>   * Create a new table by cloning the snapshot content.<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>   * @throws IOException if a remote or network exception occurs<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>   * @throws TableExistsException if table to be created already exists<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>   */<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>  default void cloneSnapshot(String snapshotName, TableName tableName)<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>      throws IOException, TableExistsException, RestoreSnapshotException {<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>    cloneSnapshot(snapshotName, tableName, false);<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>  }<a name="line.1587"></a>
+<span class="sourceLineNo">1548</span>   * @throws IOException if a remote or network exception occurs<a name="line.1548"></a>
+<span class="sourceLineNo">1549</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>   */<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>  void restoreSnapshot(String snapshotName) throws IOException, RestoreSnapshotException;<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span><a name="line.1553"></a>
+<span class="sourceLineNo">1554</span>  /**<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>   * 'takeFailSafeSnapshot' is set to &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>   * before executing the restore operation. In case of restore failure, the failsafe snapshot will<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>   * be restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span>   * failsafe snapshot name is configurable by using the property<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.1560"></a>
+<span class="sourceLineNo">1561</span>   * @param snapshotName name of the snapshot to restore<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>   * @param takeFailSafeSnapshot &lt;code&gt;true&lt;/code&gt; if the failsafe snapshot should be taken<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span>   * @throws IOException if a remote or network exception occurs<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>   */<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>  default void restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot)<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>      throws IOException, RestoreSnapshotException {<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>    restoreSnapshot(snapshotName, takeFailSafeSnapshot, false);<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>  }<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span><a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>  /**<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>   * 'takeFailSafeSnapshot' is set to &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>   * before executing the restore operation. In case of restore failure, the failsafe snapshot will<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>   * be restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>   * failsafe snapshot name is configurable by using the property<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>   * @param snapshotName name of the snapshot to restore<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>   * @param takeFailSafeSnapshot &lt;code&gt;true&lt;/code&gt; if the failsafe snapshot should be taken<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to restore acl of snapshot<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>   * @throws IOException if a remote or network exception occurs<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>   */<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>  void restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot, boolean restoreAcl)<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>      throws IOException, RestoreSnapshotException;<a name="line.1587"></a>
 <span class="sourceLineNo">1588</span><a name="line.1588"></a>
 <span class="sourceLineNo">1589</span>  /**<a name="line.1589"></a>
 <span class="sourceLineNo">1590</span>   * Create a new table by cloning the snapshot content.<a name="line.1590"></a>
 <span class="sourceLineNo">1591</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1591"></a>
 <span class="sourceLineNo">1592</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to clone acl into newly created table<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>   * @throws IOException if a remote or network exception occurs<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>   * @throws TableExistsException if table to be created already exists<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>   */<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>  default void cloneSnapshot(String snapshotName, TableName tableName, boolean restoreAcl)<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>      throws IOException, TableExistsException, RestoreSnapshotException {<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>    get(cloneSnapshotAsync(snapshotName, tableName, restoreAcl), getSyncWaitTimeout(),<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>      TimeUnit.MILLISECONDS);<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>  }<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span><a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>  /**<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>   * Create a new table by cloning the snapshot content, but does not block and wait for it to be<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>   * completely cloned. You can use Future.get(long, TimeUnit) to wait on the operation to complete.<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>   * It may throw ExecutionException if there was an error while executing the operation or<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>   * TimeoutException in case the wait timeout was not long enough to allow the operation to<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>   * complete.<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>   * @throws IOException if a remote or network exception occurs<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>   * @throws TableExistsException if table to be cloned already exists<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>   * @return the result of the async clone snapshot. You can use Future.get(long, TimeUnit) to wait<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>   *         on the operation to complete.<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>   */<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>  default Future&lt;Void&gt; cloneSnapshotAsync(String snapshotName, TableName tableName)<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>      throws IOException, TableExistsException {<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>    return cloneSnapshotAsync(snapshotName, tableName, false);<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>  }<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span><a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>  /**<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>   * Create a new table by cloning the snapshot content.<a name="line.1624"></a>
+<span class="sourceLineNo">1593</span>   * @throws IOException if a remote or network exception occurs<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>   * @throws TableExistsException if table to be created already exists<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>   */<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>  default void cloneSnapshot(String snapshotName, TableName tableName)<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>      throws IOException, TableExistsException, RestoreSnapshotException {<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>    cloneSnapshot(snapshotName, tableName, false);<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>  }<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span><a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>  /**<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>   * Create a new table by cloning the snapshot content.<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to clone acl into newly created table<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>   * @throws IOException if a remote or network exception occurs<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>   * @throws TableExistsException if table to be created already exists<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>   */<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>  default void cloneSnapshot(String snapshotName, TableName tableName, boolean restoreAcl)<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>      throws IOException, TableExistsException, RestoreSnapshotException {<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>    get(cloneSnapshotAsync(snapshotName, tableName, restoreAcl), getSyncWaitTimeout(),<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>      TimeUnit.MILLISECONDS);<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>  }<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span><a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>  /**<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>   * Create a new table by cloning the snapshot content, but does not block and wait for it to be<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>   * completely cloned. You can use Future.get(long, TimeUnit) to wait on the operation to complete.<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span>   * It may throw ExecutionException if there was an error while executing the operation or<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>   * TimeoutException in case the wait timeout was not long enough to allow the operation to<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>   * complete.<a name="line.1624"></a>
 <span class="sourceLineNo">1625</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1625"></a>
 <span class="sourceLineNo">1626</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to clone acl into newly created table<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span>   * @throws IOException if a remote or network exception occurs<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>   * @throws TableExistsException if table to be created already exists<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   */<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>  Future&lt;Void&gt; cloneSnapshotAsync(String snapshotName, TableName tableName, boolean restoreAcl)<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>      throws IOException, TableExistsException, RestoreSnapshotException;<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span><a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>  /**<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>   * Execute a distributed procedure on a cluster.<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>   *<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>   * root ZK node name of the procedure).<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>   * optional.<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>   * @throws IOException if a remote or network exception occurs<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>   */<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>  void execProcedure(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>      throws IOException;<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span><a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>  /**<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>   * Execute a distributed procedure on a cluster.<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>   *<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>   * root ZK node name of the procedure).<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>   * optional.<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>   * @return data returned after procedure execution. null if no return data.<a name="line.1657"></a>
+<span class="sourceLineNo">1627</span>   * @throws IOException if a remote or network exception occurs<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>   * @throws TableExistsException if table to be cloned already exists<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>   * @return the result of the async clone snapshot. You can use Future.get(long, TimeUnit) to wait<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>   *         on the operation to complete.<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>   */<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>  default Future&lt;Void&gt; cloneSnapshotAsync(String snapshotName, TableName tableName)<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>      throws IOException, TableExistsException {<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>    return cloneSnapshotAsync(snapshotName, tableName, false);<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>  }<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span><a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>  /**<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>   * Create a new table by cloning the snapshot content.<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to clone acl into newly created table<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>   * @throws IOException if a remote or network exception occurs<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>   * @throws TableExistsException if table to be created already exists<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>   */<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>  Future&lt;Void&gt; cloneSnapshotAsync(String snapshotName, TableName tableName, boolean restoreAcl)<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      throws IOException, TableExistsException, RestoreSnapshotException;<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span><a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>  /**<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span>   * Execute a distributed procedure on a cluster.<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>   *<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>   * root ZK node name of the procedure).<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>   * optional.<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1657"></a>
 <span class="sourceLineNo">1658</span>   * @throws IOException if a remote or network exception occurs<a name="line.1658"></a>
 <span class="sourceLineNo">1659</span>   */<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>  byte[] execProcedureWithReturn(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1660"></a>
+<span class="sourceLineNo">1660</span>  void execProcedure(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1660"></a>
 <span class="sourceLineNo">1661</span>      throws IOException;<a name="line.1661"></a>
 <span class="sourceLineNo">1662</span><a name="line.1662"></a>
 <span class="sourceLineNo">1663</span>  /**<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>   * Check the current state of the specified procedure. There are three possible states: &lt;ol&gt;<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>   * &lt;li&gt;running - returns &lt;tt&gt;false&lt;/tt&gt;&lt;/li&gt; &lt;li&gt;finished - returns &lt;tt&gt;true&lt;/tt&gt;&lt;/li&gt;<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>   * &lt;li&gt;finished with error - throws the exception that caused the procedure to fail&lt;/li&gt; &lt;/ol&gt;<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>   *<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>   * @param signature The signature that uniquely identifies a procedure<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>   * @param instance The instance name of the procedure<a name="line.1669"></a>
+<span class="sourceLineNo">1664</span>   * Execute a distributed procedure on a cluster.<a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>   *<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>   * root ZK node name of the procedure).<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>   * optional.<a name="line.1669"></a>
 <span class="sourceLineNo">1670</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>   * @return &lt;code&gt;true&lt;/code&gt; if the specified procedure is finished successfully, &lt;code&gt;false&lt;/code&gt; if it is still running<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>   * @throws IOException if the specified procedure finished with error<a name="line.1672"></a>
+<span class="sourceLineNo">1671</span>   * @return data returned after procedure execution. null if no return data.<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>   * @throws IOException if a remote or network exception occurs<a name="line.1672"></a>
 <span class="sourceLineNo">1673</span>   */<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>  boolean isProcedureFinished(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1674"></a>
+<span class="sourceLineNo">1674</span>  byte[] execProcedureWithReturn(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1674"></a>
 <span class="sourceLineNo">1675</span>      throws IOException;<a name="line.1675"></a>
 <span class="sourceLineNo">1676</span><a name="line.1676"></a>
 <span class="sourceLineNo">1677</span>  /**<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>   * List completed snapshots.<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>   *<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>   * @return a list of snapshot descriptors for completed snapshots<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>   * @throws IOException if a network error occurs<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>   */<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>  List&lt;SnapshotDescription&gt; listSnapshots() throws IOException;<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span><a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>  /**<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>   * List all the completed snapshots matching the given pattern.<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>   *<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>   * @param pattern The compiled regular expression to match against<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>   * @return list of SnapshotDescription<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>   * @throws IOException if a remote or network exception occurs<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>   */<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>  List&lt;SnapshotDescription&gt; listSnapshots(Pattern pattern) throws IOException;<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span><a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>  /**<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>   * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>   * name regular expression.<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>   * @return list of completed SnapshotDescription<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>   * @throws IOException if a remote or network exception occurs<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span>   */<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>  List&lt;SnapshotDescription&gt; listTableSnapshots(Pattern tableNamePattern,<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>      Pattern snapshotNamePattern) throws IOException;<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span><a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>  /**<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>   * Delete an existing snapshot.<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>   *<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>   * @param snapshotName name of the snapshot<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>   * @throws IOException if a remote or network exception occurs<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>   */<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>  void deleteSnapshot(String snapshotName) throws IOException;<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span><a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>  /**<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>   * Delete existing snapshots whose names match the pattern passed.<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>   *<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>   * @param pattern pattern for names of the snapshot to match<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>   * @throws IOException if a remote or network exception occurs<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>   */<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>  void deleteSnapshots(Pattern pattern) throws IOException;<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span><a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>  /**<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>   * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>   * name regular expression.<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>   * @throws IOException if a remote or network exception occurs<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>   */<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span>  void deleteTableSnapshots(Pattern tableNamePattern, Pattern snapshotNamePattern)<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>      throws IOException;<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span><a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>  /**<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>   * Apply the new quota settings.<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>   *<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>   * @param quota the quota settings<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>   * @throws IOException if a remote or network exception occurs<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>   */<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>  void setQuota(QuotaSettings quota) throws IOException;<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span><a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>  /**<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>   * List the quotas based on the filter.<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>   * @param filter the quota settings filter<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>   * @return the QuotaSetting list<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span>   * @throws IOException if a remote or network exception occurs<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>   */<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>  List&lt;QuotaSettings&gt; getQuota(QuotaFilter filter) throws IOException;<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span><a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>  /**<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>   * Creates and returns a {@link org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel}<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span>   * instance connected to the active master.<a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>   * &lt;p/&gt;<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>   * The obtained {@link org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel} instance can be<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>   * used to access a published coprocessor<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span>   * {@link org.apache.hbase.thirdparty.com.google.protobuf.Service} using standard protobuf service<a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>   * invocations:<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>   * &lt;p/&gt;<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>   * &lt;div style="background-color: #cccccc; padding: 2px"&gt;<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>   * &lt;blockquote&gt;<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>   * &lt;pre&gt;<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>   * CoprocessorRpcChannel channel = myAdmin.coprocessorService();<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span>   * MyService.BlockingInterface service = MyService.newBlockingStub(channel);<a name="line.1760"></a>
-<span class="sourceLineNo">1761</span>   * MyCallRequest request = MyCallRequest.newBuilder()<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>   *     ...<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>   *     .build();<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>   * MyCallResponse response = service.myCall(null, request);<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span>   * &lt;/pre&gt;<a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>   * &lt;/blockquote&gt;<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>   * &lt;/div&gt;<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>   * @return A MasterCoprocessorRpcChannel instance<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>   * @deprecated since 3.0.0, will removed in 4.0.0. This is too low level, please stop using it any<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>   *             more. Use the coprocessorService methods in {@link AsyncAdmin} instead.<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>   */<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>  @Deprecated<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>  CoprocessorRpcChannel coprocessorService();<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span><a name="line.1774"></a>
-<span class="sourceLineNo">1775</span><a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>  /**<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span>   * Creates and returns a {@link org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel}<a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>   * instance connected to the passed region server.<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>   * &lt;p/&gt;<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>   * The obtained {@link org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel} instance can be<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>   * used to access a published coprocessor<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>   * {@link org.apache.hbase.thirdparty.com.google.protobuf.Service} using standard protobuf service<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>   * invocations:<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>   * &lt;p/&gt;<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>   * &lt;div style="background-color: #cccccc; padding: 2px"&gt; &lt;blockquote&gt;<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>   * &lt;pre&gt;<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>   * CoprocessorRpcChannel channel = myAdmin.coprocessorService(serverName);<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>   * MyService.BlockingInterface service = MyService.newBlockingStub(channel);<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>   * MyCallRequest request = MyCallRequest.newBuilder()<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>   *     ...<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span>   *     .build();<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>   * MyCallResponse response = service.myCall(null, request);<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>   * &lt;/pre&gt;<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>   * &lt;/blockquote&gt;<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>   * &lt;/div&gt;<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>   * @param serverName the server name to which the endpoint call is made<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>   * @return A RegionServerCoprocessorRpcChannel instance<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>   * @deprecated since 3.0.0, will removed in 4.0.0. This is too low level, please stop using it any<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>   *             more. Use the coprocessorService methods in {@link AsyncAdmin} instead.<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>   */<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span>  @Deprecated<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>  CoprocessorRpcChannel coprocessorService(ServerName serverName);<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span><a name="line.1803"></a>
-<span class="sourceLineNo">1804</span><a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>  /**<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>   * Update the configuration and trigger an online config change<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>   * on the regionserver.<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>   * @param server : The server whose config needs to be updated.<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span>   * @throws IOException if a remote or network exception occurs<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>   */<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>  void updateConfiguration(ServerName server) throws IOException;<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span><a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>  /**<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>   * Update the configuration and trigger an online config change<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>   * on all the regionservers.<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>   * @throws IOException if a remote or network exception occurs<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>   */<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>  void updateConfiguration() throws IOException;<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span><a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>  /**<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>   * Get the info port of the current master if one is available.<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>   * @return master info port<a name="line.1822"></a>
+<span class="sourceLineNo">1678</span>   * Check the current state of the specified procedure. There are three possible states: &lt;ol&gt;<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>   * &lt;li&gt;running - returns &lt;tt&gt;false&lt;/tt&gt;&lt;/li&gt; &lt;li&gt;finished - returns &lt;tt&gt;true&lt;/tt&gt;&lt;/li&gt;<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>   * &lt;li&gt;finished with error - throws the exception that caused the procedure to fail&lt;/li&gt; &lt;/ol&gt;<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>   *<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span>   * @param signature The signature that uniquely identifies a procedure<a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>   * @param instance The instance name of the procedure<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>   * @return &lt;code&gt;true&lt;/code&gt; if the specified procedure is finished successfully, &lt;code&gt;false&lt;/code&gt; if it is still running<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span>   * @throws IOException if the specified procedure finished with error<a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>   */<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span>  boolean isProcedureFinished(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>      throws IOException;<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span><a name="line.1690"></a>
+<span class="sourceLineNo">1691</span>  /**<a name="line.1691"></a>
+<span class="sourceLineNo">1692</span>   * List completed snapshots.<a name="line.1692"></a>
+<span class="sourceLineNo">1693</span>   *<a name="line.1693"></a>
+<span class="sourceLineNo">1694</span>   * @return a list of snapshot descriptors for completed snapshots<a name="line.1694"></a>
+<span class="sourceLineNo">1695</span>   * @throws IOException if a network error occurs<a name="line.1695"></a>
+<span class="sourceLineNo">1696</span>   */<a name="line.1696"></a>
+<span class="sourceLineNo">1697</span>  List&lt;SnapshotDescription&gt; listSnapshots() throws IOException;<a name="line.1697"></a>
+<span class="sourceLineNo">1698</span><a name="line.1698"></a>
+<span class="sourceLineNo">1699</span>  /**<a name="line.1699"></a>
+<span class="sourceLineNo">1700</span>   * List all the completed snapshots matching the given pattern.<a name="line.1700"></a>
+<span class="sourceLineNo">1701</span>   *<a name="line.1701"></a>
+<span class="sourceLineNo">1702</span>   * @param pattern The compiled regular expression to match against<a name="line.1702"></a>
+<span class="sourceLineNo">1703</span>   * @return list of SnapshotDescription<a name="line.1703"></a>
+<span class="sourceLineNo">1704</span>   * @throws IOException if a remote or network exception occurs<a name="line.1704"></a>
+<span class="sourceLineNo">1705</span>   */<a name="line.1705"></a>
+<span class="sourceLineNo">1706</span>  List&lt;SnapshotDescription&gt; listSnapshots(Pattern pattern) throws IOException;<a name="line.1706"></a>
+<span class="sourceLineNo">1707</span><a name="line.1707"></a>
+<span class="sourceLineNo">1708</span>  /**<a name="line.1708"></a>
+<span class="sourceLineNo">1709</span>   * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.1709"></a>
+<span class="sourceLineNo">1710</span>   * name regular expression.<a name="line.1710"></a>
+<span class="sourceLineNo">1711</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.1711"></a>
+<span class="sourceLineNo">1712</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.1712"></a>
+<span class="sourceLineNo">1713</span>   * @return list of completed SnapshotDescription<a name="line.1713"></a>
+<span class="sourceLineNo">1714</span>   * @throws IOException if a remote or network exception occurs<a name="line.1714"></a>
+<span class="sourceLineNo">1715</span>   */<a name="line.1715"></a>
+<span class="sourceLineNo">1716</span>  List&lt;SnapshotDescription&gt; listTableSnapshots(Pattern tableNamePattern,<a name="line.1716"></a>
+<span class="sourceLineNo">1717</span>      Pattern snapshotNamePattern) throws IOException;<a name="line.1717"></a>
+<span class="sourceLineNo">1718</span><a name="line.1718"></a>
+<span class="sourceLineNo">1719</span>  /**<a name="line.1719"></a>
+<span class="sourceLineNo">1720</span>   * Delete an existing snapshot.<a name="line.1720"></a>
+<span class="sourceLineNo">1721</span>   *<a name="line.1721"></a>
+<span class="sourceLineNo">1722</span>   * @param snapshotName name of the snapshot<a name="line.1722"></a>
+<span class="sourceLineNo">1723</span>   * @throws IOException if a remote or network exception occurs<a name="line.1723"></a>
+<span class="sourceLineNo">1724</span>   */<a name="line.1724"></a>
+<span class="sourceLineNo">1725</span>  void deleteSnapshot(String snapshotName) throws IOException;<a name="line.1725"></a>
+<span class="sourceLineNo">1726</span><a name="line.1726"></a>
+<span class="sourceLineNo">1727</span>  /**<a name="line.1727"></a>
+<span class="sourceLineNo">1728</span>   * Delete existing snapshots whose names match the pattern passed.<a name="line.1728"></a>
+<span class="sourceLineNo">1729</span>   *<a name="line.1729"></a>
+<span class="sourceLineNo">1730</span>   * @param pattern pattern for names of the snapshot to match<a name="line.1730"></a>
+<span class="sourceLineNo">1731</span>   * @throws IOException if a remote or network exception occurs<a name="line.1731"></a>
+<span class="sourceLineNo">1732</span>   */<a name="line.1732"></a>
+<span class="sourceLineNo">1733</span>  void deleteSnapshots(Pattern pattern) throws IOException;<a name="line.1733"></a>
+<span class="sourceLineNo">1734</span><a name="line.1734"></a>
+<span class="sourceLineNo">1735</span>  /**<a name="line.1735"></a>
+<span class="sourceLineNo">1736</span>   * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.1736"></a>
+<span class="sourceLineNo">1737</span>   * name regular expression.<a name="line.1737"></a>
+<span class="sourceLineNo">1738</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.1738"></a>
+<span class="sourceLineNo">1739</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.1739"></a>
+<span class="sourceLineNo">1740</span>   * @throws IOException if a remote or network exception occurs<a name="line.1740"></a>
+<span class="sourceLineNo">1741</span>   */<a name="line.1741"></a>
+<span class="sourceLineNo">1742</span>  void deleteTableSnapshots(Pattern tableNamePattern, Pattern snapshotNamePattern)<a name="line.1742"></a>
+<span class="sourceLineNo">1743</span>      throws IOException;<a name="line.1743"></a>
+<span class="sourceLineNo">1744</span><a name="line.1744"></a>
+<span class="sourceLineNo">1745</span>  /**<a name="line.1745"></a>
+<span class="sourceLineNo">1746</span>   * Apply the new quota settings.<a name="line.1746"></a>
+<span class="sourceLineNo">1747</span>   *<a name="line.1747"></a>
+<span class="sourceLineNo">1748</span>   * @param quota the quota settings<a name="line.1748"></a>
+<span class="sourceLineNo">1749</span>   * @throws IOException if a remote or network exception occurs<a name="line.1749"></a>
+<span class="sourceLineNo">1750</span>   */<a name="line.1750"></a>
+<span class="sourceLineNo">1751</span>  void setQuota(QuotaSettings quota) throws IOException;<a name="line.1751"></a>
+<span class="sourceLineNo">1752</span><a name="line.1752"></a>
+<span class="sourceLineNo">1753</span>  /**<a name="line.1753"></a>
+<span class="sourceLineNo">1754</span>   * List the quotas based on the filter.<a name="line.1754"></a>
+<span class="sourceLineNo">1755</span>   * @param filter the quota settings filter<a name="line.1755"></a>
+<span class="sourceLineNo">1756</span>   * @return the QuotaSetting list<a name="line.1756"></a>
+<span class="sourceLineNo">1757</span>   * @throws IOException if a remote or network exception occurs<a name="line.1757"></a>
+<span class="sourceLineNo">1758</span>   */<a name="line.1758"></a>
+<span class="sourceLineNo">1759</span>  List&lt;QuotaSettings&gt; getQuota(QuotaFilter filter) throws IOException;<a name="line.1759"></a>
+<span class="sourceLineNo">1760</span><a name="line.1760"></a>
+<span class="sourceLineNo">1761</span>  /**<a name="line.1761"></a>
+<span class="sourceLineNo">1762</span>   * Creates and returns a {@link org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel}<a name="line.1762"></a>
+<span class="sourceLineNo">1763</span>   * instance connected to the active master.<a name="line.1763"></a>
+<span class="sourceLineNo">1764</span>   * &lt;p/&gt;<a name="line.1764"></a>
+<span class="sourceLineNo">1765</span>   * The obtained {@link org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel} instance can be<a name="line.1765"></a>
+<span class="sourceLineNo">1766</span>   * used to access a published coprocessor<a name="line.1766"></a>
+<span class="sourceLineNo">1767</span>   * {@link org.apache.hbase.thirdparty.com.google.protobuf.Service} using standard protobuf service<a name="line.1767"></a>
+<span class="sourceLineNo">1768</span>   * invocations:<a name="line.1768"></a>
+<span class="sourceLineNo">1769</span>   * &lt;p/&gt;<a name="line.1769"></a>
+<span class="sourceLineNo">1770</span>   * &lt;div style="background-color: #cccccc; padding: 2px"&gt;<a name="line.1770"></a>
+<span class="sourceLineNo">1771</span>   * &lt;blockquote&gt;<a name="line.1771"></a>
+<span class="sourceLineNo">1772</span>   * &lt;pre&gt;<a name="line.1772"></a>
+<span class="sourceLineNo">1773</span>   * CoprocessorRpcChannel channel = myAdmin.coprocessorService();<a name="line.1773"></a>
+<span class="sourceLineNo">1774</span>   * MyService.BlockingInterface service = MyService.newBlockingStub(channel);<a name="line.1774"></a>
+<span class="sourceLineNo">1775</span>   * MyCallRequest request = MyCallRequest.newBuilder()<a name="line.1775"></a>
+<span class="sourceLineNo">1776</span>   *     ...<a name="line.1776"></a>
+<span class="sourceLineNo">1777</span>   *     .build();<a name="line.1777"></a>
+<span class="sourceLineNo">1778</span>   * MyCallResponse response = service.myCall(null, request);<a name="line.1778"></a>
+<span class="sourceLineNo">1779</span>   * &lt;/pre&gt;<a name="line.1779"></a>
+<span class="sourceLineNo">1780</span>   * &lt;/blockquote&gt;<a name="line.1780"></a>
+<span class="sourceLineNo">1781</span>   * &lt;/div&gt;<a name="line.1781"></a>
+<span class="sourceLineNo">1782</span>   * @return A MasterCoprocessorRpcChannel instance<a name="line.1782"></a>
+<span class="sourceLineNo">1783</span>   * @deprecated since 3.0.0, will removed in 4.0.0. This is too low level, please stop using it any<a name="line.1783"></a>
+<span class="sourceLineNo">1784</span>   *             more. Use the coprocessorService methods in {@link AsyncAdmin} instead.<a name="line.1784"></a>
+<span class="sourceLineNo">1785</span>   */<a name="line.1785"></a>
+<span class="sourceLineNo">1786</span>  @Deprecated<a name="line.1786"></a>
+<span class="sourceLineNo">1787</span>  CoprocessorRpcChannel coprocessorService();<a name="line.1787"></a>
+<span class="sourceLineNo">1788</span><a name="line.1788"></a>
+<span class="sourceLineNo">1789</span><a name="line.1789"></a>
+<span class="sourceLineNo">1790</span>  /**<a name="line.1790"></a>
+<span class="sourceLineNo">1791</span>   * Creates and returns a {@link org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel}<a name="line.1791"></a>
+<span class="sourceLineNo">1792</span>   * instance connected to the passed region server.<a name="line.1792"></a>
+<span class="sourceLineNo">1793</span>   * &lt;p/&gt;<a name="line.1793"></a>
+<span class="sourceLineNo">1794</span>   * The obtained {@link org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel} instance can be<a name="line.1794"></a>
+<span class="sourceLineNo">1795</span>   * used to access a published coprocessor<a name="line.1795"></a>
+<span class="sourceLineNo">1796</span>   * {@link org.apache.hbase.thirdparty.com.google.protobuf.Service} using standard protobuf service<a name="line.1796"></a>
+<span class="sourceLineNo">1797</span>   * invocations:<a name="line.1797"></a>
+<span class="sourceLineNo">1798</span>   * &lt;p/&gt;<a name="line.1798"></a>
+<span class="sourceLineNo">1799</span>   * &lt;div style="background-color: #cccccc; padding: 2px"&gt; &lt;blockquote&gt;<a name="line.1799"></a>
+<span class="sourceLineNo">1800</span>   * &lt;pre&gt;<a name="line.1800"></a>
+<span class="sourceLineNo">1801</span>   * CoprocessorRpcChannel channel = myAdmin.coprocessorService(serverName);<a name="line.1801"></a>
+<span class="sourceLineNo">1802</span>   * MyService.BlockingInterface service = MyService.newBlockingStub(channel);<a name="line.1802"></a>
+<span class="sourceLineNo">1803</span>   * MyCallRequest request = MyCallRequest.newBuilder()<a name="line.1803"></a>
+<span class="sourceLineNo">1804</span>   *     ...<a name="line.1804"></a>
+<span class="sourceLineNo">1805</span>   *     .build();<a name="line.1805"></a>
+<span class="sourceLineNo">1806</span>   * MyCallResponse response = service.myCall(null, request);<a name="line.1806"></a>
+<span class="sourceLineNo">1807</span>   * &lt;/pre&gt;<a name="line.1807"></a>
+<span class="sourceLineNo">1808</span>   * &lt;/blockquote&gt;<a name="line.1808"></a>
+<span class="sourceLineNo">1809</span>   * &lt;/div&gt;<a name="line.1809"></a>
+<span class="sourceLineNo">1810</span>   * @param serverName the server name to which the endpoint call is made<a name="line.1810"></a>
+<span class="sourceLineNo">1811</span>   * @return A RegionServerCoprocessorRpcChannel instance<a name="line.1811"></a>
+<span class="sourceLineNo">1812</span>   * @deprecated since 3.0.0, will removed in 4.0.0. This is too low level, please stop using it any<a name="line.1812"></a>
+<span class="sourceLineNo">1813</span>   *             more. Use the coprocessorService methods in {@link AsyncAdmin} instead.<a name="line.1813"></a>
+<span class="sourceLineNo">1814</span>   */<a name="line.1814"></a>
+<span class="sourceLineNo">1815</span>  @Deprecated<a name="line.1815"></a>
+<span class="sourceLineNo">1816</span>  CoprocessorRpcChannel coprocessorService(ServerName serverName);<a name="line.1816"></a>
+<span class="sourceLineNo">1817</span><a name="line.1817"></a>
+<span class="sourceLineNo">1818</span><a name="line.1818"></a>
+<span class="sourceLineNo">1819</span>  /**<a name="line.1819"></a>
+<span class="sourceLineNo">1820</span>   * Update the configuration and trigger an online config change<a name="line.1820"></a>
+<span class="sourceLineNo">1821</span>   * on the regionserver.<a name="line.1821"></a>
+<span class="sourceLineNo">1822</span>   * @param server : The server whose config needs to be updated.<a name="line.1822"></a>
 <span class="sourceLineNo">1823</span>   * @throws IOException if a remote or network exception occurs<a name="line.1823"></a>
 <span class="sourceLineNo">1824</span>   */<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>  default int getMasterInfoPort() throws IOException {<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_INFO_PORT)).getMasterInfoPort();<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span>  }<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span><a name="line.1828"></a>
-<span class="sourceLineNo">1829</span>  /**<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>   * Return the set of supported security capabilities.<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>   * @throws IOException if a remote or network exception occurs<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>   * @throws UnsupportedOperationException<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>   */<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>  List&lt;SecurityCapability&gt; getSecurityCapabilities() throws IOException;<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span><a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>  /**<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>   * Turn the split switch on or off.<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>   * @param enabled enabled or not<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current split() call, if outstanding,<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span>   *          to return.<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>   * @return Previous switch value<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>   * @throws IOException if a remote or network exception occurs<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>   */<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>  boolean splitSwitch(boolean enabled, boolean synchronous) throws IOException;<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span><a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>  /**<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span>   * Turn the merge switch on or off.<a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>   * @param enabled enabled or not<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current merge() call, if outstanding,<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>   *          to return.<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>   * @return Previous switch value<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>   * @throws IOException if a remote or network exception occurs<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>   */<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>  boolean mergeSwitch(boolean enabled, boolean synchronous) throws IOException;<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span><a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>  /**<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>   * Query the current state of the split switch.<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>   * @return &lt;code&gt;true&lt;/code&gt; if the switch is enabled, &lt;code&gt;false&lt;/code&gt; otherwise.<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>   * @throws IOException if a remote or network exception occurs<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>   */<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>  boolean isSplitEnabled() throws IOException;<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span><a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>  /**<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>   * Query the current state of the merge switch.<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>   * @return &lt;code&gt;true&lt;/code&gt; if the switch is enabled, &lt;code&gt;false&lt;/code&gt; otherwise.<a name="line.1865"></a>
+<span class="sourceLineNo">1825</span>  void updateConfiguration(ServerName server) throws IOException;<a name="line.1825"></a>
+<span class="sourceLineNo">1826</span><a name="line.1826"></a>
+<span class="sourceLineNo">1827</span>  /**<a name="line.1827"></a>
+<span class="sourceLineNo">1828</span>   * Update the configuration and trigger an online config change<a name="line.1828"></a>
+<span class="sourceLineNo">1829</span>   * on all the regionservers.<a name="line.1829"></a>
+<span class="sourceLineNo">1830</span>   * @throws IOException if a remote or network exception occurs<a name="line.1830"></a>
+<span class="sourceLineNo">1831</span>   */<a name="line.1831"></a>
+<span class="sourceLineNo">1832</span>  void updateConfiguration() throws IOException;<a name="line.1832"></a>
+<span class="sourceLineNo">1833</span><a name="line.1833"></a>
+<span class="sourceLineNo">1834</span>  /**<a name="line.1834"></a>
+<span class="sourceLineNo">1835</span>   * Get the info port of the current master if one is available.<a name="line.1835"></a>
+<span class="sourceLineNo">1836</span>   * @return master info port<a name="line.1836"></a>
+<span class="sourceLineNo">1837</span>   * @throws IOException if a remote or network exception occurs<a name="line.1837"></a>
+<span class="sourceLineNo">1838</span>   */<a name="line.1838"></a>
+<span class="sourceLineNo">1839</span>  default int getMasterInfoPort() throws IOException {<a name="line.1839"></a>
+<span class="sourceLineNo">1840</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_INFO_PORT)).getMasterInfoPort();<a name="line.1840"></a>
+<span class="sourceLineNo">1841</span>  }<a name="line.1841"></a>
+<span class="sourceLineNo">1842</span><a name="line.1842"></a>
+<span class="sourceLineNo">1843</span>  /**<a name="line.1843"></a>
+<span class="sourceLineNo">1844</span>   * Return the set of supported security capabilities.<a name="line.1844"></a>
+<span class="sourceLineNo">1845</span>   * @throws IOException if a remote or network exception occurs<a name="line.1845"></a>
+<span class="sourceLineNo">1846</span>   * @throws UnsupportedOperationException<a name="line.1846"></a>
+<span class="sourceLineNo">1847</span>   */<a name="line.1847"></a>
+<span class="sourceLineNo">1848</span>  List&lt;SecurityCapability&gt; getSecurityCapabilities() throws IOException;<a name="line.1848"></a>
+<span class="sourceLineNo">1849</span><a name="line.1849"></a>
+<span class="sourceLineNo">1850</span>  /**<a name="line.1850"></a>
+<span class="sourceLineNo">1851</span>   * Turn the split switch on or off.<a name="line.1851"></a>
+<span class="sourceLineNo">1852</span>   * @param enabled enabled or not<a name="line.1852"></a>
+<span class="sourceLineNo">1853</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current split() call, if outstanding,<a name="line.1853"></a>
+<span class="sourceLineNo">1854</span>   *          to return.<a name="line.1854"></a>
+<span class="sourceLineNo">1855</span>   * @return Previous switch value<a name="line.1855"></a>
+<span class="sourceLineNo">1856</span>   * @throws IOException if a remote or network exception occurs<a name="line.1856"></a>
+<span class="sourceLineNo">1857</span>   */<a name="line.1857"></a>
+<span class="sourceLineNo">1858</span>  boolean splitSwitch(boolean enabled, boolean synchronous) throws IOException;<a name="line.1858"></a>
+<span class="sourceLineNo">1859</span><a name="line.1859"></a>
+<span class="sourceLineNo">1860</span>  /**<a name="line.1860"></a>
+<span class="sourceLineNo">1861</span>   * Turn the merge switch on or off.<a name="line.1861"></a>
+<span class="sourceLineNo">1862</span>   * @param enabled enabled or not<a name="line.1862"></a>
+<span class="sourceLineNo">1863</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current merge() call, if outstanding,<a name="line.1863"></a>
+<span class="sourceLineNo">1864</span>   *          to return.<a name="line.1864"></a>
+<span class="sourceLineNo">1865</span>   * @return Previous switch value<a name="line.1865"></a>
 <span class="sourceLineNo">1866</span>   * @throws IOException if a remote or network exception occurs<a name="line.1866"></a>
 <span class="sourceLineNo">1867</span>   */<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>  boolean isMergeEnabled() throws IOException;<a name="line.1868"></a>
+<span class="sourceLineNo">1868</span>  boolean mergeSwitch(boolean enabled, boolean synchronous) throws IOException;<a name="line.1868"></a>
 <span class="sourceLineNo">1869</span><a name="line.1869"></a>
 <span class="sourceLineNo">1870</span>  /**<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span>   * Add a new replication peer for replicating data to slave cluster.<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>   * @param peerId a short name that identifies the peer<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span>   * @param peerConfig configuration for the replication peer<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>   * @throws IOException if a remote or network exception occurs<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>   */<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>  default void addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>      throws IOException {<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>    addReplicationPeer(peerId, peerConfig, true);<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>  }<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span><a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>  /**<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>   * Add a new replication peer for replicating data to slave cluster.<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>   * @param peerId a short name that identifies the peer<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>   * @param peerConfig configuration for the replication peer<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>   * @param enabled peer state, true if ENABLED and false if DISABLED<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>   * @throws IOException if a remote or network exception occurs<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>   */<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>  default void addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig, boolean enabled)<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>      throws IOException {<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>    get(addReplicationPeerAsync(peerId, peerConfig, enabled), getSyncWaitTimeout(),<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>      TimeUnit.MILLISECONDS);<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span>  }<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span><a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>  /**<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>   * Add a new replication peer but does not block and wait for it.<a name="line.1895"></a>
-<span class="sourceLineNo">1896</span>   * &lt;p/&gt;<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>   * @param peerId a short name that identifies the peer<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>   * @param peerConfig configuration for the replication peer<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>   * @return the result of the async operation<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>   */<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>  default Future&lt;Void&gt; addReplicationPeerAsync(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>      throws IOException {<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>    return addReplicationPeerAsync(peerId, peerConfig, true);<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>  }<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span><a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>  /**<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>   * Add a new replication peer but does not block and wait for it.<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>   * &lt;p&gt;<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>   * @param peerId a short name that identifies the peer<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>   * @param peerConfig configuration for the replication peer<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>   * @param enabled peer state, true if ENABLED and false if DISABLED<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>   * @return the result of the async operation<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1920"></a>
-<span class="sourceLineNo">1921</span>   */<a name="line.1921"></a>
-<span class="sourceLineNo">1922</span>  Future&lt;Void&gt; addReplicationPeerAsync(String peerId, ReplicationPeerConfig peerConfig,<a name="line.1922"></a>
-<span class="sourceLineNo">1923</span>      boolean enabled) throws IOException;<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span><a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>  /**<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>   * Remove a peer and stop the replication.<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>   * @param peerId a short name that identifies the peer<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>   * @throws IOException if a remote or network exception occurs<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>   */<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>  default void removeReplicationPeer(String peerId) throws IOException {<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>    get(removeReplicationPeerAsync(peerId), getSyncWaitTimeout(),<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>      TimeUnit.MILLISECONDS);<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>  }<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span><a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>  /**<a name="line.1935"></a>
-<span class="sourceLineNo">1936</span>   * Remove a replication peer but does not block and wait for it.<a name="line.1936"></a>
-<span class="sourceLineNo">1937</span>   * &lt;p&gt;<a name="line.1937"></a>
-<span class="sourceLineNo">1938</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1938"></a>
-<span class="sourceLineNo">1939</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1940"></a>
+<span class="sourceLineNo">1871</span>   * Query the current state of the split switch.<a name="line.1871"></a>
+<span class="sourceLineNo">1872</span>   * @return &lt;code&gt;true&lt;/code&gt; if the switch is enabled, &lt;code&gt;false&lt;/code&gt; otherwise.<a name="line.1872"></a>
+<span class="sourceLineNo">1873</span>   * @throws IOException if a remote or network exception occurs<a name="line.1873"></a>
+<span class="sourceLineNo">1874</span>   */<a name="line.1874"></a>
+<span class="sourceLineNo">1875</span>  boolean isSplitEnabled() throws IOException;<a name="line.1875"></a>
+<span class="sourceLineNo">1876</span><a name="line.1876"></a>
+<span class="sourceLineNo">1877</span>  /**<a name="line.1877"></a>
+<span class="sourceLineNo">1878</span>   * Query the current state of the merge switch.<a name="line.1878"></a>
+<span class="sourceLineNo">1879</span>   * @return &lt;code&gt;true&lt;/code&gt; if the switch is enabled, &lt;code&gt;false&lt;/code&gt; otherwise.<a name="line.1879"></a>
+<span class="sourceLineNo">1880</span>   * @throws IOException if a remote or network exception occurs<a name="line.1880"></a>
+<span class="sourceLineNo">1881</span>   */<a name="line.1881"></a>
+<span class="sourceLineNo">1882</span>  boolean isMergeEnabled() throws IOException;<a name="line.1882"></a>
+<span class="sourceLineNo">1883</span><a name="line.1883"></a>
+<span class="sourceLineNo">1884</span>  /**<a name="line.1884"></a>
+<span class="sourceLineNo">1885</span>   * Add a new replication peer for replicating data to slave cluster.<a name="line.1885"></a>
+<span class="sourceLineNo">1886</span>   * @param peerId a short name that identifies the peer<a name="line.1886"></a>
+<span class="sourceLineNo">1887</span>   * @param peerConfig configuration for the replication peer<a name="line.1887"></a>
+<span class="sourceLineNo">1888</span>   * @throws IOException if a remote or network exception occurs<a name="line.1888"></a>
+<span class="sourceLineNo">1889</span>   */<a name="line.1889"></a>
+<span class="sourceLineNo">1890</span>  default void addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1890"></a>
+<span class="sourceLineNo">1891</span>      throws IOException {<a name="line.1891"></a>
+<span class="sourceLineNo">1892</span>    addReplicationPeer(peerId, peerConfig, true);<a name="line.1892"></a>
+<span class="sourceLineNo">1893</span>  }<a name="line.1893"></a>
+<span class="sourceLineNo">1894</span><a name="line.1894"></a>
+<span class="sourceLineNo">1895</span>  /**<a name="line.1895"></a>
+<span class="sourceLineNo">1896</span>   * Add a new replication peer for replicating data to slave cluster.<a name="line.1896"></a>
+<span class="sourceLineNo">1897</span>   * @param peerId a short name that identifies the peer<a name="line.1897"></a>
+<span class="sourceLineNo">1898</span>   * @param peerConfig configuration for the replication peer<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>   * @param enabled peer state, true if ENABLED and false if DISABLED<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>   * @throws IOException if a remote or network exception occurs<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>   */<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span>  default void addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig, boolean enabled)<a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>      throws IOException {<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>    get(addReplicationPeerAsync(peerId, peerConfig, enabled), getSyncWaitTimeout(),<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>      TimeUnit.MILLISECONDS);<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span><a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>  /**<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>   * Add a new replication peer but does not block and wait for it.<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>   * &lt;p/&gt;<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>   * @param peerId a short name that identifies the peer<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span>   * @param peerConfig configuration for the replication peer<a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>   * @return the result of the async operation<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>   */<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>  default Future&lt;Void&gt; addReplicationPeerAsync(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>      throws IOException {<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>    return addReplicationPeerAsync(peerId, peerConfig, true);<a name="line.1921"></a>
+<span class="sourceLineNo">1922</span>  }<a name="line.1922"></a>
+<span class="sourceLineNo">1923</span><a name="line.1923"></a>
+<span class="sourceLineNo">1924</span>  /**<a name="line.1924"></a>
+<span class="sourceLineNo">1925</span>   * Add a new replication peer but does not block and wait for it.<a name="line.1925"></a>
+<span class="sourceLineNo">1926</span>   * &lt;p&gt;<a name="line.1926"></a>
+<span class="sourceLineNo">1927</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1927"></a>
+<span class="sourceLineNo">1928</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1928"></a>
+<span class="sourceLineNo">1929</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1929"></a>
+<span class="sourceLineNo">1930</span>   * @param peerId a short name that identifies the peer<a name="line.1930"></a>
+<span class="sourceLineNo">1931</span>   * @param peerConfig configuration for the replication peer<a name="line.1931"></a>
+<span class="sourceLineNo">1932</span>   * @param enabled peer state, true if ENABLED and false if DISABLED<a name="line.1932"></a>
+<span class="sourceLineNo">1933</span>   * @return the result of the async operation<a name="line.1933"></a>
+<span class="sourceLineNo">1934</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1934"></a>
+<span class="sourceLineNo">1935</span>   */<a name="line.1935"></a>
+<span class="sourceLineNo">1936</span>  Future&lt;Void&gt; addReplicationPeerAsync(String peerId, ReplicationPeerConfig peerConfig,<a name="line.1936"></a>
+<span class="sourceLineNo">1937</span>      boolean enabled) throws IOException;<a name="line.1937"></a>
+<span class="sourceLineNo">1938</span><a name="line.1938"></a>
+<span class="sourceLineNo">1939</span>  /**<a name="line.1939"></a>
+<span class="sourceLineNo">1940</span>   * Remove a peer and stop the replication.<a name="line.1940"></a>
 <span class="sourceLineNo">1941</span>   * @param peerId a short name that identifies the peer<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span>   * @return the result of the async operation<a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>   */<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>  Future&lt;Void&gt; removeReplicationPeerAsync(String peerId) throws IOException;<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span><a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>  /**<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>   * Restart the replication stream to the specified peer.<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>   * @param peerId a short name that identifies the peer<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>   * @throws IOException if a remote or network exception occurs<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>   */<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>  default void enableReplicationPeer(String peerId) throws IOException {<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>    get(enableReplicationPeerAsync(peerId), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>  }<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span><a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>  /**<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>   * Enable a replication peer but does not block and wait for it.<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>   * &lt;p&gt;<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>   * @param peerId a short name that identifies the peer<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>   * @return the result of the async operation<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1964"></a>
+<span class="sourceLineNo">1942</span>   * @throws IOException if a remote or network exception occurs<a name="line.1942"></a>
+<span class="sourceLineNo">1943</span>   */<a name="line.1943"></a>
+<span class="sourceLineNo">1944</span>  default void removeReplicationPeer(String peerId) throws IOException {<a name="line.1944"></a>
+<span class="sourceLineNo">1945</span>    get(removeReplicationPeerAsync(peerId), getSyncWaitTimeout(),<a name="line.1945"></a>
+<span class="sourceLineNo">1946</span>      TimeUnit.MILLISECONDS);<a name="line.1946"></a>
+<span class="sourceLineNo">1947</span>  }<a name="line.1947"></a>
+<span class="sourceLineNo">1948</span><a name="line.1948"></a>
+<span class="sourceLineNo">1949</span>  /**<a name="line.1949"></a>
+<span class="sourceLineNo">1950</span>   * Remove a replication peer but does not block and wait for it.<a name="line.1950"></a>
+<span class="sourceLineNo">1951</span>   * &lt;p&gt;<a name="line.1951"></a>
+<span class="sourceLineNo">1952</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1952"></a>
+<span class="sourceLineNo">1953</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1953"></a>
+<span class="sourceLineNo">1954</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1954"></a>
+<span class="sourceLineNo">1955</span>   * @param peerId a short name that identifies the peer<a name="line.1955"></a>
+<span class="sourceLineNo">1956</span>   * @return the result of the async operation<a name="line.1956"></a>
+<span class="sourceLineNo">1957</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1957"></a>
+<span class="sourceLineNo">1958</span>   */<a name="line.1958"></a>
+<span class="sourceLineNo">1959</span>  Future&lt;Void&gt; removeReplicationPeerAsync(String peerId) throws IOException;<a name="line.1959"></a>
+<span class="sourceLineNo">1960</span><a name="line.1960"></a>
+<span class="sourceLineNo">1961</span>  /**<a name="line.1961"></a>
+<span class="sourceLineNo">1962</span>   * Restart the replication stream to the specified peer.<a name="line.1962"></a>
+<span class="sourceLineNo">1963</span>   * @param peerId a short name that identifies the peer<a name="line.1963"></a>
+<span class="sourceLineNo">1964</span>   * @throws IOException if a remote or network exception occurs<a name="line.1964"></a>
 <span class="sourceLineNo">1965</span>   */<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span>  Future&lt;Void&gt; enableReplicationPeerAsync(String peerId) throws IOException;<a name="line.1966"></a>
-<span class="sourceLineNo">1967</span><a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>  /**<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>   * Stop the replication stream to the specified peer.<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>   * @param peerId a short name that identifies the peer<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>   * @throws IOException if a remote or network exception occurs<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>   */<a name="line.1972"></a>
-<span class="sourceLineNo">1973</span>  default void disableReplicationPeer(String peerId) throws IOException {<a name="line.1973"></a>
-<span class="sourceLineNo">1974</span>    get(disableReplicationPeerAsync(peerId), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1974"></a>
-<span class="sourceLineNo">1975</span>  }<a name="line.1975"></a>
-<span class="sourceLineNo">1976</span><a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>  /**<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>   * Disable a replication peer but does not block and wait for it.<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span>   * &lt;p/&gt;<a name="line.1979"></a>
-<span class="sourceLineNo">1980</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>   * @param peerId a short name that identifies the peer<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span>   * @return the result of the async operation<a name="line.1984"></a>
-<span class="sourceLineNo">1985</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1985"></a>
+<span class="sourceLineNo">1966</span>  default void enableReplicationPeer(String peerId) throws IOException {<a name="line.1966"></a>
+<span class="sourceLineNo">1967</span>    get(enableReplicationPeerAsync(peerId), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1967"></a>
+<span class="sourceLineNo">1968</span>  }<a name="line.1968"></a>
+<span class="sourceLineNo">1969</span><a name="line.1969"></a>
+<span class="sourceLineNo">1970</span>  /**<a name="line.1970"></a>
+<span class="sourceLineNo">1971</span>   * Enable a replication peer but does not block and wait for it.<a name="line.1971"></a>
+<span class="sourceLineNo">1972</span>   * &lt;p&gt;<a name="line.1972"></a>
+<span class="sourceLineNo">1973</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1973"></a>
+<span class="sourceLineNo">1974</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1974"></a>
+<span class="sourceLineNo">1975</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1975"></a>
+<span class="sourceLineNo">1976</span>   * @param peerId a short name that identifies the peer<a name="line.1976"></a>
+<span class="sourceLineNo">1977</span>   * @return the result of the async operation<a name="line.1977"></a>
+<span class="sourceLineNo">1978</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1978"></a>
+<span class="sourceLineNo">1979</span>   */<a name="line.1979"></a>
+<span class="sourceLineNo">1980</span>  Future&lt;Void&gt; enableReplicationPeerAsync(String peerId) throws IOException;<a name="line.1980"></a>
+<span class="sourceLineNo">1981</span><a name="line.1981"></a>
+<span class="sourceLineNo">1982</span>  /**<a name="line.1982"></a>
+<span class="sourceLineNo">1983</span>   * Stop the replication stream to the specified peer.<a name="line.1983"></a>
+<span class="sourceLineNo">1984</span>   * @param peerId a short name that identifies the peer<a name="line.1984"></a>
+<span class="sourceLineNo">1985</span>   * @throws IOException if a remote or network exception occurs<a name="line.1985"></a>
 <span class="sourceLineNo">1986</span>   */<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span>  Future&lt;Void&gt; disableReplicationPeerAsync(String peerId) throws IOException;<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span><a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>  /**<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>   * Returns the configured ReplicationPeerConfig for the specified peer.<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span>   * @param peerId a short name that identifies the peer<a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>   * @return ReplicationPeerConfig for the peer<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>   * @throws IOException if a remote or network exception occurs<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>   */<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>  ReplicationPeerConfig getReplicationPeerConfig(String peerId) throws IOException;<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span><a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>  /**<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span>   * Update the peerConfig for the specified peer.<a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>   * @param peerId a short name that identifies the peer<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>   * @param peerConfig new config for the replication peer<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>   * @throws IOException if a remote or network exception occurs<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>   */<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>  default void updateReplicationPeerConfig(String peerId, ReplicationPeerConfig peerConfig)<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>      throws IOException {<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>    get(updateReplicationPeerConfigAsync(peerId, peerConfig), getSyncWaitTimeout(),<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span>      TimeUnit.MILLISECONDS);<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>  }<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span><a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>  /**<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>   * Update the peerConfig for the specified peer but does not block and wait for it.<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>   * &lt;p/&gt;<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>   * @param peerId a short name that identifies the peer<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span>   * @param peerConfig new config for the replication peer<a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>   * @return the result of the async operation<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>   */<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>  Future&lt;Void&gt; updateReplicationPeerConfigAsync(String peerId, ReplicationPeerConfig peerConfig)<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>      throws IOException;<a name="line.2021"></a>
+<span class="sourceLineNo">1987</span>  default void disableReplicationPeer(String peerId) throws IOException {<a name="line.1987"></a>
+<span class="sourceLineNo">1988</span>    get(disableReplicationPeerAsync(peerId), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1988"></a>
+<span class="sourceLineNo">1989</span>  }<a name="line.1989"></a>
+<span class="sourceLineNo">1990</span><a name="line.1990"></a>
+<span class="sourceLineNo">1991</span>  /**<a name="line.1991"></a>
+<span class="sourceLineNo">1992</span>   * Disable a replication peer but does not block and wait for it.<a name="line.1992"></a>
+<span class="sourceLineNo">1993</span>   * &lt;p/&gt;<a name="line.1993"></a>
+<span class="sourceLineNo">1994</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1994"></a>
+<span class="sourceLineNo">1995</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1995"></a>
+<span class="sourceLineNo">1996</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1996"></a>
+<span class="sourceLineNo">1997</span>   * @param peerId a short name that identifies the peer<a name="line.1997"></a>
+<span class="sourceLineNo">1998</span>   * @return the result of the async operation<a name="line.1998"></a>
+<span class="sourceLineNo">1999</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1999"></a>
+<span class="sourceLineNo">2000</span>   */<a name="line.2000"></a>
+<span class="sourceLineNo">2001</span>  Future&lt;Void&gt; disableReplicationPeerAsync(String peerId) throws IOException;<a name="line.2001"></a>
+<span class="sourceLineNo">2002</span><a name="line.2002"></a>
+<span class="sourceLineNo">2003</span>  /**<a name="line.2003"></a>
+<span class="sourceLineNo">2004</span>   * Returns the configured ReplicationPeerConfig for the specified peer.<a name="line.2004"></a>
+<span class="sourceLineNo">2005</span>   * @param peerId a short name that identifies the peer<a name="line.2005"></a>
+<span class="sourceLineNo">2006</span>   * @return ReplicationPeerConfig for the peer<a name="line.2006"></a>
+<span class="sourceLineNo">2007</span>   * @throws IOException if a remote or network exception occurs<a name="line.2007"></a>
+<span class="sourceLineNo">2008</span>   */<a name="line.2008"></a>
+<span class="sourceLineNo">2009</span>  ReplicationPeerConfig getReplicationPeerConfig(String peerId) throws IOException;<a name="line.2009"></a>
+<span class="sourceLineNo">2010</span><a name="line.2010"></a>
+<span class="sourceLineNo">2011</span>  /**<a name="line.2011"></a>
+<span class="sourceLineNo">2012</span>   * Update the peerConfig for the specified peer.<a name="line.2012"></a>
+<span class="sourceLineNo">2013</span>   * @param peerId a short name that identifies the peer<a name="line.2013"></a>
+<span class="sourceLineNo">2014</span>   * @param peerConfig new config for the replication peer<a name="line.2014"></a>
+<span class="sourceLineNo">2015</span>   * @throws IOException if a remote or network exception occurs<a name="line.2015"></a>
+<span class="sourceLineNo">2016</span>   */<a name="line.2016"></a>
+<span class="sourceLineNo">2017</span>  default void updateReplicationPeerConfig(String peerId, ReplicationPeerConfig peerConfig)<a name="line.2017"></a>
+<span class="sourceLineNo">2018</span>      throws IOException {<a name="line.2018"></a>
+<span class="sourceLineNo">2019</span>    get(updateReplicationPeerConfigAsync(peerId, peerConfig), getSyncWaitTimeout(),<a name="line.2019"></a>
+<span class="sourceLineNo">2020</span>      TimeUnit.MILLISECONDS);<a name="line.2020"></a>
+<span class="sourceLineNo">2021</span>  }<a name="line.2021"></a>
 <span class="sourceLineNo">2022</span><a name="line.2022"></a>
 <span class="sourceLineNo">2023</span>  /**<a name="line.2023"></a>
-<span class="sourceLineNo">2024</span>   * Append the replicable table column family config from the specified peer.<a name="line.2024"></a>
-<span class="sourceLineNo">2025</span>   * @param id a short that identifies the cluster<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span>   * @param tableCfs A map from tableName to column family names<a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>   * @throws ReplicationException if tableCfs has conflict with existing config<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>   * @throws IOException if a remote or network exception occurs<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>   */<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>  default void appendReplicationPeerTableCFs(String id, Map&lt;TableName, List&lt;String&gt;&gt; tableCfs)<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span>      throws ReplicationException, IOException {<a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>    if (tableCfs == null) {<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>      throw new ReplicationException("tableCfs is null");<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>    }<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>    ReplicationPeerConfig peerConfig = getReplicationPeerConfig(id);<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>    ReplicationPeerConfig newPeerConfig =<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>      ReplicationPeerConfigUtil.appendTableCFsToReplicationPeerConfig(tableCfs, peerConfig);<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>    updateReplicationPeerConfig(id, newPeerConfig);<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>  }<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span><a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>  /**<a name="line.2041"></a>
-<span class="sourceLineNo">2042</span>   * Remove some table-cfs from config of the specified peer.<a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>   * @param id a short name that identifies the cluster<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>   * @param tableCfs A map from tableName to column family names<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span>   * @throws ReplicationException if tableCfs has conflict with existing config<a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>   * @throws IOException if a remote or network exception occurs<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>   */<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>  default void removeReplicationPeerTableCFs(String id, Map&lt;TableName, List&lt;String&gt;&gt; tableCfs)<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>      throws ReplicationException, IOException {<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>    if (tableCfs == null) {<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span>      throw new ReplicationException("tableCfs is null");<a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>    }<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span>    ReplicationPeerConfig peerConfig = getReplicationPeerConfig(id);<a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>    ReplicationPeerConfig newPeerConfig =<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>      ReplicationPeerConfigUtil.removeTableCFsFromReplicationPeerConfig(tableCfs, peerConfig, id);<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>    updateReplicationPeerConfig(id, newPeerConfig);<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>  }<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span><a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>  /**<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>   * Return a list of replication peers.<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>   * @return a list of replication peers description<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>   * @throws IOException if a remote or network exception occurs<a name="line.2062"></a>
-<span class="sourceLineNo">2063</span>   */<a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>  List&lt;ReplicationPeerDescription&gt; listReplicationPeers() throws IOException;<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span><a name="line.2065"></a>
-<span class="sourceLineNo">2066</span>  /**<a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>   * Return a list of replication peers.<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>   * @param pattern The compiled regular expression to match peer id<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>   * @return a list of replication peers description<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>   * @throws IOException if a remote or network exception occurs<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>   */<a name="line.2071"></a>
-<span class="sourceLineNo">2072</span>  List&lt;ReplicationPeerDescription&gt; listReplicationPeers(Pattern pattern) throws IOException;<a name="line.2072"></a>
-<span class="sourceLineNo">2073</span><a name="line.2073"></a>
-<span class="sourceLineNo">2074</span>  /**<a name="line.2074"></a>
-<span class="sourceLineNo">2075</span>   * Transit current cluster to a new state in a synchronous replication peer.<a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>   * @param peerId a short name that identifies the peer<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span>   * @param state a new state of current cluster<a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>   * @throws IOException if a remote or network exception occurs<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span>   */<a name="line.2079"></a>
-<span class="sourceLineNo">2080</span>  default void transitReplicationPeerSyncReplicationState(String peerId, SyncReplicationState state)<a name="line.2080"></a>
-<span class="sourceLineNo">2081</span>      throws IOException {<a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>    get(transitReplicationPeerSyncReplicationStateAsync(peerId, state), getSyncWaitTimeout(),<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>      TimeUnit.MILLISECONDS);<a name="line.2083"></a>
-<span class="sourceLineNo">2084</span>  }<a name="line.2084"></a>
-<span class="sourceLineNo">2085</span><a name="line.2085"></a>
-<span class="sourceLineNo">2086</span>  /**<a name="line.2086"></a>
-<span class="sourceLineNo">2087</span>   * Transit current cluster to a new state in a synchronous replication peer. But does not block<a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>   * and wait for it.<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span>   * &lt;p&gt;<a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span>   * @param peerId a short name that identifies the peer<a name="line.2093"></a>
-<span class="sourceLineNo">2094</span>   * @param state a new state of current cluster<a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>   * @throws IOException if a remote or network exception occurs<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span>   */<a name="line.2096"></a>
-<span class="sourceLineNo">2097</span>  Future&lt;Void&gt; transitReplicationPeerSyncReplicationStateAsync(String peerId,<a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>      SyncReplicationState state) throws IOException;<a name="line.2098"></a>
+<span class="sourceLineNo">2024</span>   * Update the peerConfig for the specified peer but does not block and wait for it.<a name="line.2024"></a>
+<span class="sourceLineNo">2025</span>   * &lt;p/&gt;<a name="line.2025"></a>
+<span class="sourceLineNo">2026</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.2026"></a>
+<span class="sourceLineNo">2027</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.2027"></a>
+<span class="sourceLineNo">2028</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.2028"></a>
+<span class="sourceLineNo">2029</span>   * @param peerId a short name that identifies the peer<a name="line.2029"></a>
+<span class="sourceLineNo">2030</span>   * @param peerConfig new config for the replication peer<a name="line.2030"></a>
+<span class="sourceLineNo">2031</span>   * @return the result of the async operation<a name="line.2031"></a>
+<span class="sourceLineNo">2032</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.2032"></a>
+<span class="sourceLineNo">2033</span>   */<a name="line.2033"></a>
+<span class="sourceLineNo">2034</span>  Future&lt;Void&gt; updateReplicationPeerConfigAsync(String peerId, ReplicationPeerConfig peerConfig)<a name="line.2034"></a>
+<span class="sourceLineNo">2035</span>      throws IOException;<a name="line.2035"></a>
+<span class="sourceLineNo">2036</span><a name="line.2036"></a>
+<span class="sourceLineNo">2037</span>  /**<a name="line.2037"></a>
+<span class="sourceLineNo">2038</span>   * Append the replicable table column family config from the specified peer.<a name="line.2038"></a>
+<span class="sourceLineNo">2039</span>   * @param id a short that identifies the cluster<a name="line.2039"></a>
+<span class="sourceLineNo">2040</span>   * @param tableCfs A map from tableName to column family names<a name="line.2040"></a>
+<span class="sourceLineNo">2041</span>   * @throws ReplicationException if tableCfs has conflict with existing config<a name="line.2041"></a>
+<span class="sourceLineNo">2042</span>   * @throws IOException if a remote or network exception occurs<a name="line.2042"></a>
+<span class="sourceLineNo">2043</span>   */<a name="line.2043"></a>
+<span class="sourceLineNo">2044</span>  default void appendReplicationPeerTableCFs(String id, Map&lt;TableName, List&lt;String&gt;&gt; tableCfs)<a name="line.2044"></a>
+<span class="sourceLineNo">2045</span>      throws ReplicationException, IOException {<a name="line.2045"></a>
+<span class="sourceLineNo">2046</span>    if (tableCfs == null) {<a name="line.2046"></a>
+<span class="sourceLineNo">2047</span>      throw new ReplicationException("tableCfs is null");<a name="line.2047"></a>
+<span class="sourceLineNo">2048</span>    }<a name="line.2048"></a>
+<span class="sourceLineNo">2049</span>    ReplicationPeerConfig peerConfig = getReplicationPeerConfig(id);<a name="line.2049"></a>
+<span class="sourceLineNo">2050</span>    ReplicationPeerConfig newPeerConfig =<a name="line.2050"></a>
+<span class="sourceLineNo">2051</span>      ReplicationPeerConfigUtil.appendTableCFsToReplicationPeerConfig(tableCfs, peerConfig);<a name="line.2051"></a>
+<span class="sourceLineNo">2052</span>    updateReplicationPeerConfig(id, newPeerConfig);<a name="line.2052"></a>
+<span class="sourceLineNo">2053</span>  }<a name="line.2053"></a>
+<span class="sourceLineNo">2054</span><a name="line.2054"></a>
+<span class="sourceLineNo">2055</span>  /**<a name="line.2055"></a>
+<span class="sourceLineNo">2056</span>   * Remove some table-cfs from config of the specified peer.<a name="line.2056"></a>
+<span class="sourceLineNo">2057</span>   * @param id a short name that identifies the cluster<a name="line.2057"></a>
+<span class="sourceLineNo">2058</span>   * @param tableCfs A map from tableName to column family names<a name="line.2058"></a>
+<span class="sourceLineNo">2059</span>   * @throws ReplicationException if tableCfs has conflict with existing config<a name="line.2059"></a>
+<span class="sourceLineNo">2060</span>   * @throws IOException if a remote or network exception occurs<a name="line.2060"></a>
+<span class="sourceLineNo">2061</span>   */<a name="line.2061"></a>
+<span class="sourceLineNo">2062</span>  default void removeReplicationPeerTableCFs(String id, Map&lt;TableName, List&lt;String&gt;&gt; tableCfs)<a name="line.2062"></a>
+<span class="sourceLineNo">2063</span>      throws ReplicationException, IOException {<a name="line.2063"></a>
+<span class="sourceLineNo">2064</span>    if (tableCfs == null) {<a name="line.2064"></a>
+<span class="sourceLineNo">2065</span>      throw new ReplicationException("tableCfs is null");<a name="line.2065"></a>
+<span class="sourceLineNo">2066</span>    }<a name="line.2066"></a>
+<span class="sourceLineNo">2067</span>    ReplicationPeerConfig peerConfig = getReplicationPeerConfig(id);<a name="line.2067"></a>
+<span class="sourceLineNo">2068</span>    ReplicationPeerConfig newPeerConfig =<a name="line.2068"></a>
+<span class="sourceLineNo">2069</span>      ReplicationPeerConfigUtil.removeTableCFsFromReplicationPeerConfig(tableCfs, peerConfig, id);<a name="line.2069"></a>
+<span class="sourceLineNo">2070</span>    updateReplicationPeerConfig(id, newPeerConfig);<a name="line.2070"></a>
+<span class="sourceLineNo">2071</span>  }<a name="line.2071"></a>
+<span class="sourceLineNo">2072</span><a name="line.2072"></a>
+<span class="sourceLineNo">2073</span>  /**<a name="line.2073"></a>
+<span class="sourceLineNo">2074</span>   * Return a list of replication peers.<a name="line.2074"></a>
+<span class="sourceLineNo">2075</span>   * @return a list of replication peers description<a name="line.2075"></a>
+<span class="sourceLineNo">2076</span>   * @throws IOException if a remote or network exception occurs<a name="line.2076"></a>
+<span class="sourceLineNo">2077</span>   */<a name="line.2077"></a>
+<span class="sourceLineNo">2078</span>  List&lt;ReplicationPeerDescription&gt; listReplicationPeers() throws IOException;<a name="line.2078"></a>
+<span class="sourceLineNo">2079</span><a name="line.2079"></a>
+<span class="sourceLineNo">2080</span>  /**<a name="line.2080"></a>
+<span class="sourceLineNo">2081</span>   * Return a list of replication peers.<a name="line.2081"></a>
+<span class="sourceLineNo">2082</span>   * @param pattern The compiled regular expression to match peer id<a name="line.2082"></a>
+<span class="sourceLineNo">2083</span>   * @return a list of replication peers description<a name="line.2083"></a>
+<span class="sourceLineNo">2084</span>   * @throws IOException if a remote or network exception occurs<a name="line.2084"></a>
+<span class="sourceLineNo">2085</span>   */<a name="line.2085"></a>
+<span class="sourceLineNo">2086</span>  List&lt;ReplicationPeerDescription&gt; listReplicationPeers(Pattern pattern) throws IOException;<a name="line.2086"></a>
+<span class="sourceLineNo">2087</span><a name="line.2087"></a>
+<span class="sourceLineNo">2088</span>  /**<a name="line.2088"></a>
+<span class="sourceLineNo">2089</span>   * Transit current cluster to a new state in a synchronous replication peer.<a name="line.2089"></a>
+<span class="sourceLineNo">2090</span>   * @param peerId a short name that identifies the peer<a name="line.2090"></a>
+<span class="sourceLineNo">2091</span>   * @param state a new state of current cluster<a name="line.2091"></a>
+<span class="sourceLineNo">2092</span>   * @throws IOException if a remote or network exception occurs<a name="line.2092"></a>
+<span class="sourceLineNo">2093</span>   */<a name="line.2093"></a>
+<span class="sourceLineNo">2094</span>  default void transitReplicationPeerSyncReplicationState(String peerId, SyncReplicationState state)<a name="line.2094"></a>
+<span class="sourceLineNo">2095</span>      throws IOException {<a name="line.2095"></a>
+<span class="sourceLineNo">2096</span>    get(transitReplicationPeerSyncReplicationStateAsync(peerId, state), getSyncWaitTimeout(),<a name="line.2096"></a>
+<span class="sourceLineNo">2097</span>      TimeUnit.MILLISECONDS);<a name="line.2097"></a>
+<span class="sourceLineNo">2098</span>  }<a name="line.2098"></a>
 <span class="sourceLineNo">2099</span><a name="line.2099"></a>
 <span class="sourceLineNo">2100</span>  /**<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>   * Get the current cluster state in a synchronous replication peer.<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>   * @param peerId a short name that identifies the peer<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>   * @return the current cluster state<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span>   * @throws IOException if a remote or network exception occurs<a name="line.2104"></a>
-<span class="sourceLineNo">2105</span>   */<a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>  default SyncReplicationState getReplicationPeerSyncReplicationState(String peerId)<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>      throws IOException {<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>    List&lt;ReplicationPeerDescription&gt; peers = listReplicationPeers(Pattern.compile(peerId));<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>    if (peers.isEmpty() || !peers.get(0).getPeerId().equals(peerId)) {<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span>      throw new IOException("Replication peer " + peerId + " does not exist");<a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>    }<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>    return peers.get(0).getSyncReplicationState();<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>  }<a name="line.2113"></a>
-<span class="sourceLineNo">2114</span><a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>  /**<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>   * Mark region server(s) as decommissioned to prevent additional regions from getting<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>   * assigned to them. Optionally unload the regions on the servers. If there are multiple servers<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>   * to be decommissioned, decommissioning them at the same time can prevent wasteful region<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>   * movements. Region unloading is asynchronous.<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>   * @param servers The list of servers to decommission.<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>   * @param offload True to offload the regions from the decommissioned servers<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span>   * @throws IOException if a remote or network exception occurs<a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>   */<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>  void decommissionRegionServers(List&lt;ServerName&gt; servers, boolean offload) throws IOException;<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span><a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>  /**<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span>   * List region servers marked as decommissioned, which can not be assigned regions.<a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>   * @return List of decommissioned region servers.<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span>   * @throws IOException if a remote or network exception occurs<a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>   */<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>  List&lt;ServerName&gt; listDecommissionedRegionServers() throws IOException;<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span><a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>  /**<a name="line.2133"></a>
-<span class="sourceLineNo">2134</span>   * Remove decommission marker from a region server to allow regions assignments.<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>   * Load regions onto the server if a list of regions is given. Region loading is<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>   * asynchronous.<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>   * @param server The server to recommission.<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>   * @param encodedRegionNames Regions to load onto the server.<a name="line.2138"></a>
-<span class="sourceLineNo">2139</span>   * @throws IOException if a remote or network exception occurs<a name="line.2139"></a>
-<span class="sourceLineNo">2140</span>   */<a name="line.2140"></a>
-<span class="sourceLineNo">2141</span>  void recommissionRegionServer(ServerName server, List&lt;byte[]&gt; encodedRegionNames)<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span>      throws IOException;<a name="line.2142"></a>
-<span class="sourceLineNo">2143</span><a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>  /**<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>   * Find all table and column families that are replicated from this cluster<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span>   * @return the replicated table-cfs list of this cluster.<a name="line.2146"></a>
-<span class="sourceLineNo">2147</span>   * @throws IOException if a remote or network exception occurs<a name="line.2147"></a>
-<span class="sourceLineNo">2148</span>   */<a name="line.2148"></a>
-<span class="sourceLineNo">2149</span>  List&lt;TableCFs&gt; listReplicatedTableCFs() throws IOException;<a name="line.2149"></a>
-<span class="sourceLineNo">2150</span><a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>  /**<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>   * Enable a table's replication switch.<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>   * @param tableName name of the table<a name="line.2153"></a>
-<span class="sourceLineNo">2154</span>   * @throws IOException if a remote or network exception occurs<a name="line.2154"></a>
-<span class="sourceLineNo">2155</span>   */<a name="line.2155"></a>
-<span class="sourceLineNo">2156</span>  void enableTableReplication(TableName tableName) throws IOException;<a name="line.2156"></a>
+<span class="sourceLineNo">2101</span>   * Transit current cluster to a new state in a synchronous replication peer. But does not block<a name="line.2101"></a>
+<span class="sourceLineNo">2102</span>   * and wait for it.<a name="line.2102"></a>
+<span class="sourceLineNo">2103</span>   * &lt;p&gt;<a name="line.2103"></a>
+<span class="sourceLineNo">2104</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.2104"></a>
+<span class="sourceLineNo">2105</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.2105"></a>
+<span class="sourceLineNo">2106</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.2106"></a>
+<span class="sourceLineNo">2107</span>   * @param peerId a short name that identifies the peer<a name="line.2107"></a>
+<span class="sourceLineNo">2108</span>   * @param state a new state of current cluster<a name="line.2108"></a>
+<span class="sourceLineNo">2109</span>   * @throws IOException if a remote or network exception occurs<a name="line.2109"></a>
+<span class="sourceLineNo">2110</span>   */<a name="line.2110"></a>
+<span class="sourceLineNo">2111</span>  Future&lt;Void&gt; transitReplicationPeerSyncReplicationStateAsync(String peerId,<a name="line.2111"></a>
+<span class="sourceLineNo">2112</span>      SyncReplicationState state) throws IOException;<a name="line.2112"></a>
+<span class="sourceLineNo">2113</span><a name="line.2113"></a>
+<span class="sourceLineNo">2114</span>  /**<a name="line.2114"></a>
+<span class="sourceLineNo">2115</span>   * Get the current cluster state in a synchronous replication peer.<a name="line.2115"></a>
+<span class="sourceLineNo">2116</span>   * @param peerId a short name that identifies the peer<a name="line.2116"></a>
+<span class="sourceLineNo">2117</span>   * @return the current cluster state<a name="line.2117"></a>
+<span class="sourceLineNo">2118</span>   * @throws IOException if a remote or network exception occurs<a name="line.2118"></a>
+<span class="sourceLineNo">2119</span>   */<a name="line.2119"></a>
+<span class="sourceLineNo">2120</span>  default SyncReplicationState getReplicationPeerSyncReplicationState(String peerId)<a name="line.2120"></a>
+<span class="sourceLineNo">2121</span>      throws IOException {<a name="line.2121"></a>
+<span class="sourceLineNo">2122</span>    List&lt;ReplicationPeerDescription&gt; peers = listReplicationPeers(Pattern.compile(peerId));<a name="line.2122"></a>
+<span class="sourceLineNo">2123</span>    if (peers.isEmpty() || !peers.get(0).getPeerId().equals(peerId)) {<a name="line.2123"></a>
+<span class="sourceLineNo">2124</span>      throw new IOException("Replication peer " + peerId + " does not exist");<a name="line.2124"></a>
+<span class="sourceLineNo">2125</span>    }<a name="line.2125"></a>
+<span class="sourceLineNo">2126</span>    return peers.get(0).getSyncReplicationState();<a name="line.2126"></a>
+<span class="sourceLineNo">2127</span>  }<a name="line.2127"></a>
+<span class="sourceLineNo">2128</span><a name="line.2128"></a>
+<span class="sourceLineNo">2129</span>  /**<a name="line.2129"></a>
+<span class="sourceLineNo">2130</span>   * Mark region server(s) as decommissioned to prevent additional regions from getting<a name="line.2130"></a>
+<span class="sourceLineNo">2131</span>   * assigned to them. Optionally unload the regions on the servers. If there are multiple servers<a name="line.2131"></a>
+<span class="sourceLineNo">2132</span>   * to be decommissioned, decommissioning them at the same time can prevent wasteful region<a name="line.2132"></a>
+<span class="sourceLineNo">2133</span>   * movements. Region unloading is asynchronous.<a name="line.2133"></a>
+<span class="sourceLineNo">2134</span>   * @param servers The list of servers to decommission.<a name="line.2134"></a>
+<span class="sourceLineNo">2135</span>   * @param offload True to offload the regions from the decommissioned servers<a name="line.2135"></a>
+<span class="sourceLineNo">2136</span>   * @throws IOException if a remote or network exception occurs<a name="line.2136"></a>
+<span class="sourceLineNo">2137</span>   */<a name="line.2137"></a>
+<span class="sourceLineNo">2138</span>  void decommissionRegionServers(List&lt;ServerName&gt; servers, boolean offload) throws IOException;<a name="line.2138"></a>
+<span class="sourceLineNo">2139</span><a name="line.2139"></a>
+<span class="sourceLineNo">2140</span>  /**<a name="line.2140"></a>
+<span class="sourceLineNo">2141</span>   * List region servers marked as decommissioned, which can not be assigned regions.<a name="line.2141"></a>
+<span class="sourceLineNo">2142</span>   * @return List of decommissioned region servers.<a name="line.2142"></a>
+<span class="sourceLineNo">2143</span>   * @throws IOException if a remote or network exception occurs<a name="line.2143"></a>
+<span class="sourceLineNo">2144</span>   */<a name="line.2144"></a>
+<span class="sourceLineNo">2145</span>  List&lt;ServerName&gt; listDecommissionedRegionServers() throws IOException;<a name="line.2145"></a>
+<span class="sourceLineNo">2146</span><a name="line.2146"></a>
+<span class="sourceLineNo">2147</span>  /**<a name="line.2147"></a>
+<span class="sourceLineNo">2148</span>   * Remove decommission marker from a region server to allow regions assignments.<a name="line.2148"></a>
+<span class="sourceLineNo">2149</span>   * Load regions onto the server if a list of regions is given. Region loading is<a name="line.2149"></a>
+<span class="sourceLineNo">2150</span>   * asynchronous.<a name="line.2150"></a>
+<span class="sourceLineNo">2151</span>   * @param server The server to recommission.<a name="line.2151"></a>
+<span class="sourceLineNo">2152</span>   * @param encodedRegionNames Regions to load onto the server.<a name="line.2152"></a>
+<span class="sourceLineNo">2153</span>   * @throws IOException if a remote or network exception occurs<a name="line.2153"></a>
+<span class="sourceLineNo">2154</span>   */<a name="line.2154"></a>
+<span class="sourceLineNo">2155</span>  void recommissionRegionServer(ServerName server, List&lt;byte[]&gt; encodedRegionNames)<a name="line.2155"></a>
+<span class="sourceLineNo">2156</span>      throws IOException;<a name="line.2156"></a>
 <span class="sourceLineNo">2157</span><a name="line.2157"></a>
 <span class="sourceLineNo">2158</span>  /**<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span>   * Disable a table's replication switch.<a name="line.2159"></a>
-<span class="sourceLineNo">2160</span>   * @param tableName name of the table<a name="line.2160"></a>
+<span class="sourceLineNo">2159</span>   * Find all table and column families that are replicated from this cluster<a name="line.2159"></a>
+<span class="sourceLineNo">2160</span>   * @return the replicated table-cfs list of this cluster.<a name="line.2160"></a>
 <span class="sourceLineNo">2161</span>   * @throws IOException if a remote or network exception occurs<a name="line.2161"></a>
 <span class="sourceLineNo">2162</span>   */<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>  void disableTableReplication(TableName tableName) throws IOException;<a name="line.2163"></a>
+<span class="sourceLineNo">2163</span>  List&lt;TableCFs&gt; listReplicatedTableCFs() throws IOException;<a name="line.2163"></a>
 <span class="sourceLineNo">2164</span><a name="line.2164"></a>
 <span class="sourceLineNo">2165</span>  /**<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>   * Clear compacting queues on a regionserver.<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span>   * @param serverName the region server name<a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>   * @param queues the set of queue name<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span>   * @throws IOException if a remote or network exception occurs<a name="line.2169"></a>
-<span class="sourceLineNo">2170</span>   * @throws InterruptedException<a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>   */<a name="line.2171"></a>
-<span class="sourceLineNo">2172</span>  void clearCompactionQueues(ServerName serverName, Set&lt;String&gt; queues)<a name="line.2172"></a>
-<span class="sourceLineNo">2173</span>    throws IOException, InterruptedException;<a name="line.2173"></a>
-<span class="sourceLineNo">2174</span><a name="line.2174"></a>
-<span class="sourceLineNo">2175</span>  /**<a name="line.2175"></a>
-<span class="sourceLineNo">2176</span>   * List dead region servers.<a name="line.2176"></a>
-<span class="sourceLineNo">2177</span>   * @return List of dead region servers.<a name="line.2177"></a>
-<span class="sourceLineNo">2178</span>   */<a name="line.2178"></a>
-<span class="sourceLineNo">2179</span>  default List&lt;ServerName&gt; listDeadServers() throws IOException {<a name="line.2179"></a>
-<span class="sourceLineNo">2180</span>    return getClusterMetrics(EnumSet.of(Option.DEAD_SERVERS)).getDeadServerNames();<a name="line.2180"></a>
-<span class="sourceLineNo">2181</span>  }<a name="line.2181"></a>
-<span class="sourceLineNo">2182</span><a name="line.2182"></a>
-<span class="sourceLineNo">2183</span>  /**<a name="line.2183"></a>
-<span class="sourceLineNo">2184</span>   * Clear dead region servers from master.<a name="line.2184"></a>
-<span class="sourceLineNo">2185</span>   * @param servers list of dead region servers.<a name="line.2185"></a>
-<span class="sourceLineNo">2186</span>   * @throws IOException if a remote or network exception occurs<a name="line.2186"></a>
-<span class="sourceLineNo">2187</span>   * @return List of servers that are not cleared<a name="line.2187"></a>
-<span class="sourceLineNo">2188</span>   */<a name="line.2188"></a>
-<span class="sourceLineNo">2189</span>  List&lt;ServerName&gt; clearDeadServers(List&lt;ServerName&gt; servers) throws IOException;<a name="line.2189"></a>
-<span class="sourceLineNo">2190</span><a name="line.2190"></a>
-<span class="sourceLineNo">2191</span>  /**<a name="line.2191"></a>
-<span class="sourceLineNo">2192</span>   * Create a new table by cloning the existent table schema.<a name="line.2192"></a>
-<span class="sourceLineNo">2193</span>   * @param tableName name of the table to be cloned<a name="line.2193"></a>
-<span class="sourceLineNo">2194</span>   * @param newTableName name of the new table where the table will be created<a name="line.2194"></a>
-<span class="sourceLineNo">2195</span>   * @param preserveSplits True if the splits should be preserved<a name="line.2195"></a>
-<span class="sourceLineNo">2196</span>   * @throws IOException if a remote or network exception occurs<a name="line.2196"></a>
-<span class="sourceLineNo">2197</span>   */<a name="line.2197"></a>
-<span class="sourceLineNo">2198</span>  void cloneTableSchema(TableName tableName, TableName newTableName, boolean preserveSplits)<a name="line.2198"></a>
-<span class="sourceLineNo">2199</span>      throws IOException;<a name="line.2199"></a>
-<span class="sourceLineNo">2200</span><a name="line.2200"></a>
-<span class="sourceLineNo">2201</span>  /**<a name="line.2201"></a>
-<span class="sourceLineNo">2202</span>   * Switch the rpc throttle enable state.<a name="line.2202"></a>
-<span class="sourceLineNo">2203</span>   * @param enable Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.2203"></a>
-<span class="sourceLineNo">2204</span>   * @return Previous rpc throttle enabled value<a name="line.2204"></a>
-<span class="sourceLineNo">2205</span>   * @throws IOException if a remote or network exception occurs<a name="line.2205"></a>
-<span class="sourceLineNo">2206</span>   */<a name="line.2206"></a>
-<span class="sourceLineNo">2207</span>  boolean switchRpcThrottle(boolean enable) throws IOException;<a name="line.2207"></a>
-<span class="sourceLineNo">2208</span><a name="line.2208"></a>
-<span class="sourceLineNo">2209</span>  /**<a name="line.2209"></a>
-<span class="sourceLineNo">2210</span>   * Get if the rpc throttle is enabled.<a name="line.2210"></a>
-<span class="sourceLineNo">2211</span>   * @return True if rpc throttle is enabled<a name="line.2211"></a>
-<span class="sourceLineNo">2212</span>   * @throws IOException if a remote or network exception occurs<a name="line.2212"></a>
-<span class="sourceLineNo">2213</span>   */<a name="line.2213"></a>
-<span class="sourceLineNo">2214</span>  boolean isRpcThrottleEnabled() throws IOException;<a name="line.2214"></a>
-<span class="sourceLineNo">2215</span><a name="line.2215"></a>
-<span class="sourceLineNo">2216</span>  /**<a name="line.2216"></a>
-<span class="sourceLineNo">2217</span>   * Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota<a name="line.2217"></a>
-<span class="sourceLineNo">2218</span>   * can be exceeded if region server has availble quota.<a name="line.2218"></a>
-<span class="sourceLineNo">2219</span>   * @param enable Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.2219"></a>
-<span class="sourceLineNo">2220</span>   * @return Previous exceed throttle enabled value<a name="line.2220"></a>
-<span class="sourceLineNo">2221</span>   * @throws IOException if a remote or network exception occurs<a name="line.2221"></a>
-<span class="sourceLineNo">2222</span>   */<a name="line.2222"></a>
-<span class="sourceLineNo">2223</span>  boolean exceedThrottleQuotaSwitch(final boolean enable) throws IOException;<a name="line.2223"></a>
-<span class="sourceLineNo">2224</span><a name="line.2224"></a>
-<span class="sourceLineNo">2225</span>  /**<a name="line.2225"></a>
-<span class="sourceLineNo">2226</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.2226"></a>
-<span class="sourceLineNo">2227</span>   * @throws IOException if a remote or network exception occurs<a name="line.2227"></a>
-<span class="sourceLineNo">2228</span>   */<a name="line.2228"></a>
-<span class="sourceLineNo">2229</span>  Map&lt;TableName, Long&gt; getSpaceQuotaTableSizes() throws IOException;<a name="line.2229"></a>
-<span class="sourceLineNo">2230</span><a name="line.2230"></a>
-<span class="sourceLineNo">2231</span>  /**<a name="line.2231"></a>
-<span class="sourceLineNo">2232</span>   * Fetches the observed {@link SpaceQuotaSnapshotView}s observed by a RegionServer.<a name="line.2232"></a>
-<span class="sourceLineNo">2233</span>   * @throws IOException if a remote or network exception occurs<a name="line.2233"></a>
-<span class="sourceLineNo">2234</span>   */<a name="line.2234"></a>
-<span class="sourceLineNo">2235</span>  Map&lt;TableName, ? extends SpaceQuotaSnapshotView&gt; getRegionServerSpaceQuotaSnapshots(<a name="line.2235"></a>
-<span class="sourceLineNo">2236</span>      ServerName serverName) throws IOException;<a name="line.2236"></a>
-<span class="sourceLineNo">2237</span><a name="line.2237"></a>
-<span class="sourceLineNo">2238</span>  /**<a name="line.2238"></a>
-<span class="sourceLineNo">2239</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the Master has<a name="line.2239"></a>
-<span class="sourceLineNo">2240</span>   * no quota information on that namespace.<a name="line.2240"></a>
+<span class="sourceLineNo">2166</span>   * Enable a table's replication switch.<a name="line.2166"></a>
+<span class="sourceLineNo">2167</span>   * @param tableName name of the table<a name="line.2167"></a>
+<span class="sourceLineNo">2168</span>   * @throws IOException if a remote or network exception occurs<a name="line.2168"></a>
+<span class="sourceLineNo">2169</span>   */<a name="line.2169"></a>
+<span class="sourceLineNo">2170</span>  void enableTableReplication(TableName tableName) throws IOException;<a name="line.2170"></a>
+<span class="sourceLineNo">2171</span><a name="line.2171"></a>
+<span class="sourceLineNo">2172</span>  /**<a name="line.2172"></a>
+<span class="sourceLineNo">2173</span>   * Disable a table's replication switch.<a name="line.2173"></a>
+<span class="sourceLineNo">2174</span>   * @param tableName name of the table<a name="line.2174"></a>
+<span class="sourceLineNo">2175</span>   * @throws IOException if a remote or network exception occurs<a name="line.2175"></a>
+<span class="sourceLineNo">2176</span>   */<a name="line.2176"></a>
+<span class="sourceLineNo">2177</span>  void disableTableReplication(TableName tableName) throws IOException;<a name="line.2177"></a>
+<span class="sourceLineNo">2178</span><a name="line.2178"></a>
+<span class="sourceLineNo">2179</span>  /**<a name="line.2179"></a>
+<span class="sourceLineNo">2180</span>   * Clear compacting queues on a regionserver.<a name="line.2180"></a>
+<span class="sourceLineNo">2181</span>   * @param serverName the region server name<a name="line.2181"></a>
+<span class="sourceLineNo">2182</span>   * @param queues the set of queue name<a name="line.2182"></a>
+<span class="sourceLineNo">2183</span>   * @throws IOException if a remote or network exception occurs<a name="line.2183"></a>
+<span class="sourceLineNo">2184</span>   * @throws InterruptedException<a name="line.2184"></a>
+<span class="sourceLineNo">2185</span>   */<a name="line.2185"></a>
+<span class="sourceLineNo">2186</span>  void clearCompactionQueues(ServerName serverName, Set&lt;String&gt; queues)<a name="line.2186"></a>
+<span class="sourceLineNo">2187</span>    throws IOException, InterruptedException;<a name="line.2187"></a>
+<span class="sourceLineNo">2188</span><a name="line.2188"></a>
+<span class="sourceLineNo">2189</span>  /**<a name="line.2189"></a>
+<span class="sourceLineNo">2190</span>   * List dead region servers.<a name="line.2190"></a>
+<span class="sourceLineNo">2191</span>   * @return List of dead region servers.<a name="line.2191"></a>
+<span class="sourceLineNo">2192</span>   */<a name="line.2192"></a>
+<span class="sourceLineNo">2193</span>  default List&lt;ServerName&gt; listDeadServers() throws IOException {<a name="line.2193"></a>
+<span class="sourceLineNo">2194</span>    return getClusterMetrics(EnumSet.of(Option.DEAD_SERVERS)).getDeadServerNames();<a name="line.2194"></a>
+<span class="sourceLineNo">2195</span>  }<a name="line.2195"></a>
+<span class="sourceLineNo">2196</span><a name="line.2196"></a>
+<span class="sourceLineNo">2197</span>  /**<a name="line.2197"></a>
+<span class="sourceLineNo">2198</span>   * Clear dead region servers from master.<a name="line.2198"></a>
+<span class="sourceLineNo">2199</span>   * @param servers list of dead region servers.<a name="line.2199"></a>
+<span class="sourceLineNo">2200</span>   * @throws IOException if a remote or network exception occurs<a name="line.2200"></a>
+<span class="sourceLineNo">2201</span>   * @return List of servers that are not cleared<a name="line.2201"></a>
+<span class="sourceLineNo">2202</span>   */<a name="line.2202"></a>
+<span class="sourceLineNo">2203</span>  List&lt;ServerName&gt; clearDeadServers(List&lt;ServerName&gt; servers) throws IOException;<a name="line.2203"></a>
+<span class="sourceLineNo">2204</span><a name="line.2204"></a>
+<span class="sourceLineNo">2205</span>  /**<a name="line.2205"></a>
+<span class="sourceLineNo">2206</span>   * Create a new table by cloning the existent table schema.<a name="line.2206"></a>
+<span class="sourceLineNo">2207</span>   * @param tableName name of the table to be cloned<a name="line.2207"></a>
+<span class="sourceLineNo">2208</span>   * @param newTableName name of the new table where the table will be created<a name="line.2208"></a>
+<span class="sourceLineNo">2209</span>   * @param preserveSplits True if the splits should be preserved<a name="line.2209"></a>
+<span class="sourceLineNo">2210</span>   * @throws IOException if a remote or network exception occurs<a name="line.2210"></a>
+<span class="sourceLineNo">2211</span>   */<a name="line.2211"></a>
+<span class="sourceLineNo">2212</span>  void cloneTableSchema(TableName tableName, TableName newTableName, boolean preserveSplits)<a name="line.2212"></a>
+<span class="sourceLineNo">2213</span>      throws IOException;<a name="line.2213"></a>
+<span class="sourceLineNo">2214</span><a name="line.2214"></a>
+<span class="sourceLineNo">2215</span>  /**<a name="line.2215"></a>
+<span class="sourceLineNo">2216</span>   * Switch the rpc throttle enable state.<a name="line.2216"></a>
+<span class="sourceLineNo">2217</span>   * @param enable Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.2217"></a>
+<span class="sourceLineNo">2218</span>   * @return Previous rpc throttle enabled value<a name="line.2218"></a>
+<span class="sourceLineNo">2219</span>   * @throws IOException if a remote or network exception occurs<a name="line.2219"></a>
+<span class="sourceLineNo">2220</span>   */<a name="line.2220"></a>
+<span class="sourceLineNo">2221</span>  boolean switchRpcThrottle(boolean enable) throws IOException;<a name="line.2221"></a>
+<span class="sourceLineNo">2222</span><a name="line.2222"></a>
+<span class="sourceLineNo">2223</span>  /**<a name="line.2223"></a>
+<span class="sourceLineNo">2224</span>   * Get if the rpc throttle is enabled.<a name="line.2224"></a>
+<span class="sourceLineNo">2225</span>   * @return True if rpc throttle is enabled<a name="line.2225"></a>
+<span class="sourceLineNo">2226</span>   * @throws IOException if a remote or network exception occurs<a name="line.2226"></a>
+<span class="sourceLineNo">2227</span>   */<a name="line.2227"></a>
+<span class="sourceLineNo">2228</span>  boolean isRpcThrottleEnabled() throws IOException;<a name="line.2228"></a>
+<span class="sourceLineNo">2229</span><a name="line.2229"></a>
+<span class="sourceLineNo">2230</span>  /**<a name="line.2230"></a>
+<span class="sourceLineNo">2231</span>   * Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota<a name="line.2231"></a>
+<span class="sourceLineNo">2232</span>   * can be exceeded if region server has availble quota.<a name="line.2232"></a>
+<span class="sourceLineNo">2233</span>   * @param enable Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.2233"></a>
+<span class="sourceLineNo">2234</span>   * @return Previous exceed throttle enabled value<a name="line.2234"></a>
+<span class="sourceLineNo">2235</span>   * @throws IOException if a remote or network exception occurs<a name="line.2235"></a>
+<span class="sourceLineNo">2236</span>   */<a name="line.2236"></a>
+<span class="sourceLineNo">2237</span>  boolean exceedThrottleQuotaSwitch(final boolean enable) throws IOException;<a name="line.2237"></a>
+<span class="sourceLineNo">2238</span><a name="line.2238"></a>
+<span class="sourceLineNo">2239</span>  /**<a name="line.2239"></a>
+<span class="sourceLineNo">2240</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.2240"></a>
 <span class="sourceLineNo">2241</span>   * @throws IOException if a remote or network exception occurs<a name="line.2241"></a>
 <span class="sourceLineNo">2242</span>   */<a name="line.2242"></a>
-<span class="sourceLineNo">2243</span>  SpaceQuotaSnapshotView getCurrentSpaceQuotaSnapshot(String namespace) throws IOException;<a name="line.2243"></a>
+<span class="sourceLineNo">2243</span>  Map&lt;TableName, Long&gt; getSpaceQuotaTableSizes() throws IOException;<a name="line.2243"></a>
 <span class="sourceLineNo">2244</span><a name="line.2244"></a>
 <span class="sourceLineNo">2245</span>  /**<a name="line.2245"></a>
-<span class="sourceLineNo">2246</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the Master has<a name="line.2246"></a>
-<span class="sourceLineNo">2247</span>   * no quota information on that table.<a name="line.2247"></a>
-<span class="sourceLineNo">2248</span>   * @throws IOException if a remote or network exception occurs<a name="line.2248"></a>
-<span class="sourceLineNo">2249</span>   */<a name="line.2249"></a>
-<span class="sourceLineNo">2250</span>  SpaceQuotaSnapshotView getCurrentSpaceQuotaSnapshot(TableName tableName) throws IOException;<a name="line.2250"></a>
+<span class="sourceLineNo">2246</span>   * Fetches the observed {@link SpaceQuotaSnapshotView}s observed by a RegionServer.<a name="line.2246"></a>
+<span class="sourceLineNo">2247</span>   * @throws IOException if a remote or network exception occurs<a name="line.2247"></a>
+<span class="sourceLineNo">2248</span>   */<a name="line.2248"></a>
+<span class="sourceLineNo">2249</span>  Map&lt;TableName, ? extends SpaceQuotaSnapshotView&gt; getRegionServerSpaceQuotaSnapshots(<a name="line.2249"></a>
+<span class="sourceLineNo">2250</span>      ServerName serverName) throws IOException;<a name="line.2250"></a>
 <span class="sourceLineNo">2251</span><a name="line.2251"></a>
 <span class="sourceLineNo">2252</span>  /**<a name="line.2252"></a>
-<span class="sourceLineNo">2253</span>   * Grants user specific permissions<a name="line.2253"></a>
-<span class="sourceLineNo">2254</span>   * @param userPermission user name and the specific permission<a name="line.2254"></a>
-<span class="sourceLineNo">2255</span>   * @param mergeExistingPermissions If set to false, later granted permissions will override<a name="line.2255"></a>
-<span class="sourceLineNo">2256</span>   *          previous granted permissions. otherwise, it'll merge with previous granted<a name="line.2256"></a>
-<span class="sourceLineNo">2257</span>   *          permissions.<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>   * @throws IOException if a remote or network exception occurs<a name="line.2258"></a>
-<span class="sourceLineNo">2259</span>   */<a name="line.2259"></a>
-<span class="sourceLineNo">2260</span>  void grant(UserPermission userPermission, boolean mergeExistingPermissions) throws IOException;<a name="line.2260"></a>
-<span class="sourceLineNo">2261</span><a name="line.2261"></a>
-<span class="sourceLineNo">2262</span>  /**<a name="line.2262"></a>
-<span class="sourceLineNo">2263</span>   * Revokes user specific permissions<a name="line.2263"></a>
-<span class="sourceLineNo">2264</span>   * @param userPermission user name and the specific permission<a name="line.2264"></a>
-<span class="sourceLineNo">2265</span>   * @throws IOException if a remote or network exception occurs<a name="line.2265"></a>
-<span class="sourceLineNo">2266</span>   */<a name="line.2266"></a>
-<span class="sourceLineNo">2267</span>  void revoke(UserPermission userPermission) throws IOException;<a name="line.2267"></a>
-<span class="sourceLineNo">2268</span><a name="line.2268"></a>
-<span class="sourceLineNo">2269</span>  /**<a name="line.2269"></a>
-<span class="sourceLineNo">2270</span>   * Get the global/namespace/table permissions for user<a name="line.2270"></a>
-<span class="sourceLineNo">2271</span>   * @param getUserPermissionsRequest A request contains which user, global, namespace or table<a name="line.2271"></a>
-<span class="sourceLineNo">2272</span>   *          permissions needed<a name="line.2272"></a>
-<span class="sourceLineNo">2273</span>   * @return The user and permission list<a name="line.2273"></a>
-<span class="sourceLineNo">2274</span>   * @throws IOException if a remote or network exception occurs<a name="line.2274"></a>
-<span class="sourceLineNo">2275</span>   */<a name="line.2275"></a>
-<span class="sourceLineNo">2276</span>  List&lt;UserPermission&gt; getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest)<a name="line.2276"></a>
-<span class="sourceLineNo">2277</span>      throws IOException;<a name="line.2277"></a>
-<span class="sourceLineNo">2278</span><a name="line.2278"></a>
-<span class="sourceLineNo">2279</span>  /**<a name="line.2279"></a>
-<span class="sourceLineNo">2280</span>   * Check if the user has specific permissions<a name="line.2280"></a>
-<span class="sourceLineNo">2281</span>   * @param userName the user name<a name="line.2281"></a>
-<span class="sourceLineNo">2282</span>   * @param permissions the specific permission list<a name="line.2282"></a>
-<span class="sourceLineNo">2283</span>   * @return True if user has the specific permissions<a name="line.2283"></a>
-<span class="sourceLineNo">2284</span>   * @throws IOException if a remote or network exception occurs<a name="line.2284"></a>
-<span class="sourceLineNo">2285</span>   */<a name="line.2285"></a>
-<span class="sourceLineNo">2286</span>  List&lt;Boolean&gt; hasUserPermissions(String userName, List&lt;Permission&gt; permissions)<a name="line.2286"></a>
-<span class="sourceLineNo">2287</span>      throws IOException;<a name="line.2287"></a>
-<span class="sourceLineNo">2288</span><a name="line.2288"></a>
-<span class="sourceLineNo">2289</span>  /**<a name="line.2289"></a>
-<span class="sourceLineNo">2290</span>   * Check if call user has specific permissions<a name="line.2290"></a>
-<span class="sourceLineNo">2291</span>   * @param permissions the specific permission list<a name="line.2291"></a>
-<span class="sourceLineNo">2292</span>   * @return True if user has the specific permissions<a name="line.2292"></a>
-<span class="sourceLineNo">2293</span>   * @throws IOException if a remote or network exception occurs<a name="line.2293"></a>
-<span class="sourceLineNo">2294</span>   */<a name="line.2294"></a>
-<span class="sourceLineNo">2295</span>  default List&lt;Boolean&gt; hasUserPermissions(List&lt;Permission&gt; permissions) throws IOException {<a name="line.2295"></a>
-<span class="sourceLineNo">2296</span>    return hasUserPermissions(null, permissions);<a name="line.2296"></a>
-<span class="sourceLineNo">2297</span>  }<a name="line.2297"></a>
-<span class="sourceLineNo">2298</span><a name="line.2298"></a>
-<span class="sourceLineNo">2299</span>  /**<a name="line.2299"></a>
-<span class="sourceLineNo">2300</span>   * Turn on or off the auto snapshot cleanup based on TTL.<a name="line.2300"></a>
-<span class="sourceLineNo">2301</span>   *<a name="line.2301"></a>
-<span class="sourceLineNo">2302</span>   * @param on Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.2302"></a>
-<span class="sourceLineNo">2303</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current snapshot cleanup is completed,<a name="line.2303"></a>
-<span class="sourceLineNo">2304</span>   *   if outstanding.<a name="line.2304"></a>
-<span class="sourceLineNo">2305</span>   * @return Previous auto snapshot cleanup value<a name="line.2305"></a>
-<span class="sourceLineNo">2306</span>   * @throws IOException if a remote or network exception occurs<a name="line.2306"></a>
-<span class="sourceLineNo">2307</span>   */<a name="line.2307"></a>
-<span class="sourceLineNo">2308</span>  boolean snapshotCleanupSwitch(final boolean on, final boolean synchronous)<a name="line.2308"></a>
-<span class="sourceLineNo">2309</span>      throws IOException;<a name="line.2309"></a>
-<span class="sourceLineNo">2310</span><a name="line.2310"></a>
-<span class="sourceLineNo">2311</span>  /**<a name="line.2311"></a>
-<span class="sourceLineNo">2312</span>   * Query the current state of the auto snapshot cleanup based on TTL.<a name="line.2312"></a>
-<span class="sourceLineNo">2313</span>   *<a name="line.2313"></a>
-<span class="sourceLineNo">2314</span>   * @return &lt;code&gt;true&lt;/code&gt; if the auto snapshot cleanup is enabled,<a name="line.2314"></a>
-<span class="sourceLineNo">2315</span>   *   &lt;code&gt;false&lt;/code&gt; otherwise.<a name="line.2315"></a>
-<span class="sourceLineNo">2316</span>   * @throws IOException if a remote or network exception occurs<a name="line.2316"></a>
-<span class="sourceLineNo">2317</span>   */<a name="line.2317"></a>
-<span class="sourceLineNo">2318</span>  boolean isSnapshotCleanupEnabled() throws IOException;<a name="line.2318"></a>
-<span class="sourceLineNo">2319</span><a name="line.2319"></a>
-<span class="sourceLineNo">2320</span>  /**<a name="line.2320"></a>
-<span class="sourceLineNo">2321</span>   * Retrieves online slow/large RPC logs from the provided list of<a name="line.2321"></a>
-<span class="sourceLineNo">2322</span>   * RegionServers<a name="line.2322"></a>
-<span class="sourceLineNo">2323</span>   *<a name="line.2323"></a>
-<span class="sourceLineNo">2324</span>   * @param serverNames Server names to get slowlog responses from<a name="line.2324"></a>
-<span class="sourceLineNo">2325</span>   * @param logQueryFilter filter to be used if provided (determines slow / large RPC logs)<a name="line.2325"></a>
-<span class="sourceLineNo">2326</span>   * @return online slowlog response list<a name="line.2326"></a>
-<span class="sourceLineNo">2327</span>   * @throws IOException if a remote or network exception occurs<a name="line.2327"></a>
-<span class="sourceLineNo">2328</span>   */<a name="line.2328"></a>
-<span class="sourceLineNo">2329</span>  List&lt;OnlineLogRecord&gt; getSlowLogResponses(final Set&lt;ServerName&gt; serverNames,<a name="line.2329"></a>
-<span class="sourceLineNo">2330</span>      final LogQueryFilter logQueryFilter) throws IOException;<a name="line.2330"></a>
-<span class="sourceLineNo">2331</span><a name="line.2331"></a>
-<span class="sourceLineNo">2332</span>  /**<a name="line.2332"></a>
-<span class="sourceLineNo">2333</span>   * Clears online slow/large RPC logs from the provided list of<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>   * RegionServers<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>   *<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>   * @param serverNames Set of Server names to clean slowlog responses from<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>   * @return List of booleans representing if online slowlog response buffer is cleaned<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>   *   from each RegionServer<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>   * @throws IOException if a remote or network exception occurs<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>   */<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>  List&lt;Boolean&gt; clearSlowLogResponses(final Set&lt;ServerName&gt; serverNames)<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      throws IOException;<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span><a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>  /**<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>   * Creates a new RegionServer group with the given name<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>   * @param groupName the name of the group<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>   * @throws IOException if a remote or network exception occurs<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>   */<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>  void addRSGroup(String groupName) throws IOException;<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span><a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>  /**<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>   * Get group info for the given group name<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>   * @param groupName the group name<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>   * @return group info<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>   * @throws IOException if a remote or network exception occurs<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>   */<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>  RSGroupInfo getRSGroup(String groupName) throws IOException;<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span><a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>  /**<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span>   * Get group info for the given hostPort<a name="line.2360"></a>
-<span class="sourceLineNo">2361</span>   * @param hostPort HostPort to get RSGroupInfo for<a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>   * @throws IOException if a remote or network exception occurs<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>   */<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>  RSGroupInfo getRSGroup(Address hostPort) throws IOException;<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span><a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>  /**<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>   * Get group info for the given table<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>   * @param tableName table name to get RSGroupInfo for<a name="line.2368"></a>
+<span class="sourceLineNo">2253</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the Master has<a name="line.2253"></a>
+<span class="sourceLineNo">2254</span>   * no quota information on that namespace.<a name="line.2254"></a>
+<span class="sourceLineNo">2255</span>   * @throws IOException if a remote or network exception occurs<a name="line.2255"></a>
+<span class="sourceLineNo">2256</span>   */<a name="line.2256"></a>
+<span class="sourceLineNo">2257</span>  SpaceQuotaSnapshotView getCurrentSpaceQuotaSnapshot(String namespace) throws IOException;<a name="line.2257"></a>
+<span class="sourceLineNo">2258</span><a name="line.2258"></a>
+<span class="sourceLineNo">2259</span>  /**<a name="line.2259"></a>
+<span class="sourceLineNo">2260</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the Master has<a name="line.2260"></a>
+<span class="sourceLineNo">2261</span>   * no quota information on that table.<a name="line.2261"></a>
+<span class="sourceLineNo">2262</span>   * @throws IOException if a remote or network exception occurs<a name="line.2262"></a>
+<span class="sourceLineNo">2263</span>   */<a name="line.2263"></a>
+<span class="sourceLineNo">2264</span>  SpaceQuotaSnapshotView getCurrentSpaceQuotaSnapshot(TableName tableName) throws IOException;<a name="line.2264"></a>
+<span class="sourceLineNo">2265</span><a name="line.2265"></a>
+<span class="sourceLineNo">2266</span>  /**<a name="line.2266"></a>
+<span class="sourceLineNo">2267</span>   * Grants user specific permissions<a name="line.2267"></a>
+<span class="sourceLineNo">2268</span>   * @param userPermission user name and the specific permission<a name="line.2268"></a>
+<span class="sourceLineNo">2269</span>   * @param mergeExistingPermissions If set to false, later granted permissions will override<a name="line.2269"></a>
+<span class="sourceLineNo">2270</span>   *          previous granted permissions. otherwise, it'll merge with previous granted<a name="line.2270"></a>
+<span class="sourceLineNo">2271</span>   *          permissions.<a name="line.2271"></a>
+<span class="sourceLineNo">2272</span>   * @throws IOException if a remote or network exception occurs<a name="line.2272"></a>
+<span class="sourceLineNo">2273</span>   */<a name="line.2273"></a>
+<span class="sourceLineNo">2274</span>  void grant(UserPermission userPermission, boolean mergeExistingPermissions) throws IOException;<a name="line.2274"></a>
+<span class="sourceLineNo">2275</span><a name="line.2275"></a>
+<span class="sourceLineNo">2276</span>  /**<a name="line.2276"></a>
+<span class="sourceLineNo">2277</span>   * Revokes user specific permissions<a name="line.2277"></a>
+<span class="sourceLineNo">2278</span>   * @param userPermission user name and the specific permission<a name="line.2278"></a>
+<span class="sourceLineNo">2279</span>   * @throws IOException if a remote or network exception occurs<a name="line.2279"></a>
+<span class="sourceLineNo">2280</span>   */<a name="line.2280"></a>
+<span class="sourceLineNo">2281</span>  void revoke(UserPermission userPermission) throws IOException;<a name="line.2281"></a>
+<span class="sourceLineNo">2282</span><a name="line.2282"></a>
+<span class="sourceLineNo">2283</span>  /**<a name="line.2283"></a>
+<span class="sourceLineNo">2284</span>   * Get the global/namespace/table permissions for user<a name="line.2284"></a>
+<span class="sourceLineNo">2285</span>   * @param getUserPermissionsRequest A request contains which user, global, namespace or table<a name="line.2285"></a>
+<span class="sourceLineNo">2286</span>   *          permissions needed<a name="line.2286"></a>
+<span class="sourceLineNo">2287</span>   * @return The user and permission list<a name="line.2287"></a>
+<span class="sourceLineNo">2288</span>   * @throws IOException if a remote or network exception occurs<a name="line.2288"></a>
+<span class="sourceLineNo">2289</span>   */<a name="line.2289"></a>
+<span class="sourceLineNo">2290</span>  List&lt;UserPermission&gt; getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest)<a name="line.2290"></a>
+<span class="sourceLineNo">2291</span>      throws IOException;<a name="line.2291"></a>
+<span class="sourceLineNo">2292</span><a name="line.2292"></a>
+<span class="sourceLineNo">2293</span>  /**<a name="line.2293"></a>
+<span class="sourceLineNo">2294</span>   * Check if the user has specific permissions<a name="line.2294"></a>
+<span class="sourceLineNo">2295</span>   * @param userName the user name<a name="line.2295"></a>
+<span class="sourceLineNo">2296</span>   * @param permissions the specific permission list<a name="line.2296"></a>
+<span class="sourceLineNo">2297</span>   * @return True if user has the specific permissions<a name="line.2297"></a>
+<span class="sourceLineNo">2298</span>   * @throws IOException if a remote or network exception occurs<a name="line.2298"></a>
+<span class="sourceLineNo">2299</span>   */<a name="line.2299"></a>
+<span class="sourceLineNo">2300</span>  List&lt;Boolean&gt; hasUserPermissions(String userName, List&lt;Permission&gt; permissions)<a name="line.2300"></a>
+<span class="sourceLineNo">2301</span>      throws IOException;<a name="line.2301"></a>
+<span class="sourceLineNo">2302</span><a name="line.2302"></a>
+<span class="sourceLineNo">2303</span>  /**<a name="line.2303"></a>
+<span class="sourceLineNo">2304</span>   * Check if call user has specific permissions<a name="line.2304"></a>
+<span class="sourceLineNo">2305</span>   * @param permissions the specific permission list<a name="line.2305"></a>
+<span class="sourceLineNo">2306</span>   * @return True if user has the specific permissions<a name="line.2306"></a>
+<span class="sourceLineNo">2307</span>   * @throws IOException if a remote or network exception occurs<a name="line.2307"></a>
+<span class="sourceLineNo">2308</span>   */<a name="line.2308"></a>
+<span class="sourceLineNo">2309</span>  default List&lt;Boolean&gt; hasUserPermissions(List&lt;Permission&gt; permissions) throws IOException {<a name="line.2309"></a>
+<span class="sourceLineNo">2310</span>    return hasUserPermissions(null, permissions);<a name="line.2310"></a>
+<span class="sourceLineNo">2311</span>  }<a name="line.2311"></a>
+<span class="sourceLineNo">2312</span><a name="line.2312"></a>
+<span class="sourceLineNo">2313</span>  /**<a name="line.2313"></a>
+<span class="sourceLineNo">2314</span>   * Turn on or off the auto snapshot cleanup based on TTL.<a name="line.2314"></a>
+<span class="sourceLineNo">2315</span>   *<a name="line.2315"></a>
+<span class="sourceLineNo">2316</span>   * @param on Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.2316"></a>
+<span class="sourceLineNo">2317</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current snapshot cleanup is completed,<a name="line.2317"></a>
+<span class="sourceLineNo">2318</span>   *   if outstanding.<a name="line.2318"></a>
+<span class="sourceLineNo">2319</span>   * @return Previous auto snapshot cleanup value<a name="line.2319"></a>
+<span class="sourceLineNo">2320</span>   * @throws IOException if a remote or network exception occurs<a name="line.2320"></a>
+<span class="sourceLineNo">2321</span>   */<a name="line.2321"></a>
+<span class="sourceLineNo">2322</span>  boolean snapshotCleanupSwitch(final boolean on, final boolean synchronous)<a name="line.2322"></a>
+<span class="sourceLineNo">2323</span>      throws IOException;<a name="line.2323"></a>
+<span class="sourceLineNo">2324</span><a name="line.2324"></a>
+<span class="sourceLineNo">2325</span>  /**<a name="line.2325"></a>
+<span class="sourceLineNo">2326</span>   * Query the current state of the auto snapshot cleanup based on TTL.<a name="line.2326"></a>
+<span class="sourceLineNo">2327</span>   *<a name="line.2327"></a>
+<span class="sourceLineNo">2328</span>   * @return &lt;code&gt;true&lt;/code&gt; if the auto snapshot cleanup is enabled,<a name="line.2328"></a>
+<span class="sourceLineNo">2329</span>   *   &lt;code&gt;false&lt;/code&gt; otherwise.<a name="line.2329"></a>
+<span class="sourceLineNo">2330</span>   * @throws IOException if a remote or network exception occurs<a name="line.2330"></a>
+<span class="sourceLineNo">2331</span>   */<a name="line.2331"></a>
+<span class="sourceLineNo">2332</span>  boolean isSnapshotCleanupEnabled() throws IOException;<a name="line.2332"></a>
+<span class="sourceLineNo">2333</span><a name="line.2333"></a>
+<span class="sourceLineNo">2334</span>  /**<a name="line.2334"></a>
+<span class="sourceLineNo">2335</span>   * Retrieves online slow/large RPC logs from the provided list of<a name="line.2335"></a>
+<span class="sourceLineNo">2336</span>   * RegionServers<a name="line.2336"></a>
+<span class="sourceLineNo">2337</span>   *<a name="line.2337"></a>
+<span class="sourceLineNo">2338</span>   * @param serverNames Server names to get slowlog responses from<a name="line.2338"></a>
+<span class="sourceLineNo">2339</span>   * @param logQueryFilter filter to be used if provided (determines slow / large RPC logs)<a name="line.2339"></a>
+<span class="sourceLineNo">2340</span>   * @return online slowlog response list<a name="line.2340"></a>
+<span class="sourceLineNo">2341</span>   * @throws IOException if a remote or network exception occurs<a name="line.2341"></a>
+<span class="sourceLineNo">2342</span>   */<a name="line.2342"></a>
+<span class="sourceLineNo">2343</span>  List&lt;OnlineLogRecord&gt; getSlowLogResponses(final Set&lt;ServerName&gt; serverNames,<a name="line.2343"></a>
+<span class="sourceLineNo">2344</span>      final LogQueryFilter logQueryFilter) throws IOException;<a name="line.2344"></a>
+<span class="sourceLineNo">2345</span><a name="line.2345"></a>
+<span class="sourceLineNo">2346</span>  /**<a name="line.2346"></a>
+<span class="sourceLineNo">2347</span>   * Clears online slow/large RPC logs from the provided list of<a name="line.2347"></a>
+<span class="sourceLineNo">2348</span>   * RegionServers<a name="line.2348"></a>
+<span class="sourceLineNo">2349</span>   *<a name="line.2349"></a>
+<span class="sourceLineNo">2350</span>   * @param serverNames Set of Server names to clean slowlog responses from<a name="line.2350"></a>
+<span class="sourceLineNo">2351</span>   * @return List of booleans representing if online slowlog response buffer is cleaned<a name="line.2351"></a>
+<span class="sourceLineNo">2352</span>   *   from each RegionServer<a name="line.2352"></a>
+<span class="sourceLineNo">2353</span>   * @throws IOException if a remote or network exception occurs<a name="line.2353"></a>
+<span class="sourceLineNo">2354</span>   */<a name="line.2354"></a>
+<span class="sourceLineNo">2355</span>  List&lt;Boolean&gt; clearSlowLogResponses(final Set&lt;ServerName&gt; serverNames)<a name="line.2355"></a>
+<span class="sourceLineNo">2356</span>      throws IOException;<a name="line.2356"></a>
+<span class="sourceLineNo">2357</span><a name="line.2357"></a>
+<span class="sourceLineNo">2358</span>  /**<a name="line.2358"></a>
+<span class="sourceLineNo">2359</span>   * Creates a new RegionServer group with the given name<a name="line.2359"></a>
+<span class="sourceLineNo">2360</span>   * @param groupName the name of the group<a name="line.2360"></a>
+<span class="sourceLineNo">2361</span>   * @throws IOException if a remote or network exception occurs<a name="line.2361"></a>
+<span class="sourceLineNo">2362</span>   */<a name="line.2362"></a>
+<span class="sourceLineNo">2363</span>  void addRSGroup(String groupName) throws IOException;<a name="line.2363"></a>
+<span class="sourceLineNo">2364</span><a name="line.2364"></a>
+<span class="sourceLineNo">2365</span>  /**<a name="line.2365"></a>
+<span class="sourceLineNo">2366</span>   * Get group info for the given group name<a name="line.2366"></a>
+<span class="sourceLineNo">2367</span>   * @param groupName the group name<a name="line.2367"></a>
+<span class="sourceLineNo">2368</span>   * @return group info<a name="line.2368"></a>
 <span class="sourceLineNo">2369</span>   * @throws IOException if a remote or network exception occurs<a name="line.2369"></a>
 <span class="sourceLineNo">2370</span>   */<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>  RSGroupInfo getRSGroup(TableName tableName) throws IOException;<a name="line.2371"></a>
+<span class="sourceLineNo">2371</span>  RSGroupInfo getRSGroup(String groupName) throws IOException;<a name="line.2371"></a>
 <span class="sourceLineNo">2372</span><a name="line.2372"></a>
 <span class="sourceLineNo">2373</span>  /**<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>   * Lists current set of RegionServer groups<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>   * @throws IOException if a remote or network exception occurs<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>   */<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>  List&lt;RSGroupInfo&gt; listRSGroups() throws IOException;<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span><a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>  /**<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>   * Get all tables in this RegionServer group.<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>   * @param groupName the group name<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>   * @throws IOException if a remote or network exception occurs<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>   * @see #getConfiguredNamespacesAndTablesInRSGroup(String)<a name="line.2383"></a>
+<span class="sourceLineNo">2374</span>   * Get group info for the given hostPort<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>   * @param hostPort HostPort to get RSGroupInfo for<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>   * @throws IOException if a remote or network exception occurs<a name="line.2376"></a>
+<span class="sourceLineNo">2377</span>   */<a name="line.2377"></a>
+<span class="sourceLineNo">2378</span>  RSGroupInfo getRSGroup(Address hostPort) throws IOException;<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span><a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>  /**<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>   * Get group info for the given table<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>   * @param tableName table name to get RSGroupInfo for<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>   * @throws IOException if a remote or network exception occurs<a name="line.2383"></a>
 <span class="sourceLineNo">2384</span>   */<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>  List&lt;TableName&gt; listTablesInRSGroup(String groupName) throws IOException;<a name="line.2385"></a>
+<span class="sourceLineNo">2385</span>  RSGroupInfo getRSGroup(TableName tableName) throws IOException;<a name="line.2385"></a>
 <span class="sourceLineNo">2386</span><a name="line.2386"></a>
 <span class="sourceLineNo">2387</span>  /**<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>   * Get the namespaces and tables which have this RegionServer group in descriptor.<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>   * &lt;p/&gt;<a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>   * The difference between this method and {@link #listTablesInRSGroup(String)} is that, this<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>   * method will not include the table which is actually in this RegionServr group but without the<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>   * RegionServer group configuration in its {@link TableDescriptor}. For example, we have a group<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>   * 'A', and we make namespace 'nsA' in this group, then all the tables under this namespace will<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>   * in the group 'A', but this method will not return these tables but only the namespace 'nsA',<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>   * while the {@link #listTablesInRSGroup(String)} will return all these tables.<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span>   * @param groupName the group name<a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>   * @throws IOException if a remote or network exception occurs<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span>   * @see #listTablesInRSGroup(String)<a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>   */<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>  Pair&lt;List&lt;String&gt;, List&lt;TableName&gt;&gt; getConfiguredNamespacesAndTablesInRSGroup(String groupName)<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span>    throws IOException;<a name="line.2401"></a>
-<span class="sourceLineNo">2402</span><a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>  /**<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>   * Remove RegionServer group associated with the given name<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span>   * @param groupName the group name<a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>   * @throws IOException if a remote or network exception occurs<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>   */<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>  void removeRSGroup(String groupName) throws IOException;<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span><a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>  /**<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>   * Remove decommissioned servers from group<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>   *  1. Sometimes we may find the server aborted due to some hardware failure and we must offline<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span>   *     the server for repairing. Or we need to move some servers to join other clusters.<a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>   *     So we need to remove these servers from the group.<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>   *  2. Dead/recovering/live servers will be disallowed.<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>   * @param servers set of servers to remove<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>   * @throws IOException if a remote or network exception occurs<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>   */<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span>  void removeServersFromRSGroup(Set&lt;Address&gt; servers) throws IOException;<a name="line.2419"></a>
-<span class="sourceLineNo">2420</span><a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>  /**<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>   * Move given set of servers to the specified target RegionServer group<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>   * @param servers set of servers to move<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>   * @param targetGroup the group to move servers to<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>   * @throws IOException if a remote or network exception occurs<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>   */<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span>  void moveServersToRSGroup(Set&lt;Address&gt; servers, String targetGroup) throws IOException;<a name="line.2427"></a>
-<span class="sourceLineNo">2428</span><a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>  /**<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>   * Set the RegionServer group for tables<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>   * @param tables tables to set group for<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>   * @param groupName group name for tables<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>   * @throws IOException if a remote or network exception occurs<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>   */<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>  void setRSGroup(Set&lt;TableName&gt; tables, String groupName) throws IOException;<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span><a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>  /**<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>   * Balance regions in the given RegionServer group<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>   * @param groupName the group name<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span>   * @return boolean Whether balance ran or not<a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>   * @throws IOException if a remote or network exception occurs<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>   */<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>  boolean balanceRSGroup(String groupName) throws IOException;<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span><a name="line.2444"></a>
-<span class="sourceLineNo">2445</span>  /**<a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>   * Rename rsgroup<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>   * @param oldName old rsgroup name<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>   * @param newName new rsgroup name<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>   * @throws IOException if a remote or network exception occurs<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>   */<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>  void renameRSGroup(String oldName, String newName) throws IOException;<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span><a name="line.2452"></a>
-<span class="sourceLineNo">2453</span>  /**<a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>   * Update RSGroup configuration<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>   * @param groupName the group name<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>   * @param configuration new configuration of the group name to be set<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>   * @throws IOException if a remote or network exception occurs<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span>   */<a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>  void updateRSGroupConfig(String groupName, Map&lt;String, String&gt; configuration) throws IOException;<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span><a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>}<a name="line.2461"></a>
+<span class="sourceLineNo">2388</span>   * Lists current set of RegionServer groups<a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>   * @throws IOException if a remote or network exception occurs<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>   */<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>  List&lt;RSGroupInfo&gt; listRSGroups() throws IOException;<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>  /**<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>   * Get all tables in this RegionServer group.<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>   * @param groupName the group name<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>   * @throws IOException if a remote or network exception occurs<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>   * @see #getConfiguredNamespacesAndTablesInRSGroup(String)<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>   */<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span>  List&lt;TableName&gt; listTablesInRSGroup(String groupName) throws IOException;<a name="line.2399"></a>
+<span class="sourceLineNo">2400</span><a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>  /**<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span>   * Get the namespaces and tables which have this RegionServer group in descriptor.<a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>   * &lt;p/&gt;<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span>   * The difference between this method and {@link #listTablesInRSGroup(String)} is that, this<a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>   * method will not include the table which is actually in this RegionServr group but without the<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>   * RegionServer group configuration in its {@link TableDescriptor}. For example, we have a group<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>   * 'A', and we make namespace 'nsA' in this group, then all the tables under this namespace will<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span>   * in the group 'A', but this method will not return these tables but only the namespace 'nsA',<a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>   * while the {@link #listTablesInRSGroup(String)} will return all these tables.<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>   * @param groupName the group name<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>   * @throws IOException if a remote or network exception occurs<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>   * @see #listTablesInRSGroup(String)<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>   */<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>  Pair&lt;List&lt;String&gt;, List&lt;TableName&gt;&gt; getConfiguredNamespacesAndTablesInRSGroup(String groupName)<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>    throws IOException;<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span><a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>  /**<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>   * Remove RegionServer group associated with the given name<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>   * @param groupName the group name<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>   * @throws IOException if a remote or network exception occurs<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>   */<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  void removeRSGroup(String groupName) throws IOException;<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  /**<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>   * Remove decommissioned servers from group<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>   *  1. Sometimes we may find the server aborted due to some hardware failure and we must offline<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>   *     the server for repairing. Or we need to move some servers to join other clusters.<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>   *     So we need to remove these servers from the group.<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>   *  2. Dead/recovering/live servers will be disallowed.<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span>   * @param servers set of servers to remove<a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>   * @throws IOException if a remote or network exception occurs<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>   */<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>  void removeServersFromRSGroup(Set&lt;Address&gt; servers) throws IOException;<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span><a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>  /**<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>   * Move given set of servers to the specified target RegionServer group<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>   * @param servers set of servers to move<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>   * @param targetGroup the group to move servers to<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>   * @throws IOException if a remote or network exception occurs<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>   */<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>  void moveServersToRSGroup(Set&lt;Address&gt; servers, String targetGroup) throws IOException;<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span><a name="line.2442"></a>
+<span class="sourceLineNo">2443</span>  /**<a name="line.2443"></a>
+<span class="sourceLineNo">2444</span>   * Set the RegionServer group for tables<a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>   * @param tables tables to set group for<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>   * @param groupName group name for tables<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span>   * @throws IOException if a remote or network exception occurs<a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>   */<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span>  void setRSGroup(Set&lt;TableName&gt; tables, String groupName) throws IOException;<a name="line.2449"></a>
+<span class="sourceLineNo">2450</span><a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>  /**<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>   * Balance regions in the given RegionServer group<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>   * @param groupName the group name<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>   * @return boolean Whether balance ran or not<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>   * @throws IOException if a remote or network exception occurs<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span>   */<a name="line.2456"></a>
+<span class="sourceLineNo">2457</span>  boolean balanceRSGroup(String groupName) throws IOException;<a name="line.2457"></a>
+<span class="sourceLineNo">2458</span><a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>  /**<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>   * Rename rsgroup<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>   * @param oldName old rsgroup name<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span>   * @param newName new rsgroup name<a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>   * @throws IOException if a remote or network exception occurs<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>   */<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>  void renameRSGroup(String oldName, String newName) throws IOException;<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span><a name="line.2466"></a>
+<span class="sourceLineNo">2467</span>  /**<a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>   * Update RSGroup configuration<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>   * @param groupName the group name<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>   * @param configuration new configuration of the group name to be set<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>   * @throws IOException if a remote or network exception occurs<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>   */<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>  void updateRSGroupConfig(String groupName, Map&lt;String, String&gt; configuration) throws IOException;<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span><a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>}<a name="line.2475"></a>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
index 80e8bc2..0b0e143 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
@@ -6,7 +6,7 @@
 </head>
 <body>
 <div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
 <span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
 <span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
 <span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
@@ -1287,391 +1287,401 @@
 <span class="sourceLineNo">1279</span>   * @return true if region normalizer ran, false otherwise. The return value will be wrapped by a<a name="line.1279"></a>
 <span class="sourceLineNo">1280</span>   *         {@link CompletableFuture}<a name="line.1280"></a>
 <span class="sourceLineNo">1281</span>   */<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>  CompletableFuture&lt;Boolean&gt; normalize();<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span><a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>  /**<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>   * Turn the cleaner chore on/off.<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>   * @param on<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>   * @return Previous cleaner state wrapped by a {@link CompletableFuture}<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>   */<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>  CompletableFuture&lt;Boolean&gt; cleanerChoreSwitch(boolean on);<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span><a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>  /**<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>   * Query the current state of the cleaner chore.<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>   * @return true if cleaner chore is on, false otherwise. The return value will be wrapped by<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>   *         a {@link CompletableFuture}<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>   */<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>  CompletableFuture&lt;Boolean&gt; isCleanerChoreEnabled();<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span><a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>  /**<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>   * Ask for cleaner chore to run.<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>   * @return true if cleaner chore ran, false otherwise. The return value will be wrapped by a<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>   *         {@link CompletableFuture}<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>   */<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>  CompletableFuture&lt;Boolean&gt; runCleanerChore();<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span><a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>  /**<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>   * Turn the catalog janitor on/off.<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>   * @param on<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>   * @return the previous state wrapped by a {@link CompletableFuture}<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>   */<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>  CompletableFuture&lt;Boolean&gt; catalogJanitorSwitch(boolean on);<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span><a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>  /**<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>   * Query on the catalog janitor state.<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>   * @return true if the catalog janitor is on, false otherwise. The return value will be<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>   *         wrapped by a {@link CompletableFuture}<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>   */<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>  CompletableFuture&lt;Boolean&gt; isCatalogJanitorEnabled();<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span><a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>  /**<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>   * Ask for a scan of the catalog table.<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>   * @return the number of entries cleaned. The return value will be wrapped by a<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>   *         {@link CompletableFuture}<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>   */<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>  CompletableFuture&lt;Integer&gt; runCatalogJanitor();<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span><a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>  /**<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>   * Execute the given coprocessor call on the master.<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>   * &lt;p&gt;<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>   * one line lambda expression, like:<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>   *<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>   * &lt;pre&gt;<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>   * &lt;code&gt;<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>   * channel -&gt; xxxService.newStub(channel)<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>   * &lt;/code&gt;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>   * &lt;/pre&gt;<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>   * @param callable a delegation to the actual protobuf rpc call. See the comment of<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>   *          {@link ServiceCaller} for more details.<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>   * @param &lt;S&gt; the type of the asynchronous stub<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>   * @param &lt;R&gt; the type of the return value<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>   * @see ServiceCaller<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>   */<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>      ServiceCaller&lt;S, R&gt; callable);<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span><a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>  /**<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>   * Execute the given coprocessor call on the given region server.<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>   * &lt;p&gt;<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>   * one line lambda expression, like:<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>   *<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>   * &lt;pre&gt;<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>   * &lt;code&gt;<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>   * channel -&gt; xxxService.newStub(channel)<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>   * &lt;/code&gt;<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>   * &lt;/pre&gt;<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>   * @param callable a delegation to the actual protobuf rpc call. See the comment of<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>   *          {@link ServiceCaller} for more details.<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>   * @param serverName the given region server<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>   * @param &lt;S&gt; the type of the asynchronous stub<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>   * @param &lt;R&gt; the type of the return value<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>   * @see ServiceCaller<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>   */<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>    ServiceCaller&lt;S, R&gt; callable, ServerName serverName);<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span><a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>  /**<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>   * List all the dead region servers.<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>   */<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>  default CompletableFuture&lt;List&lt;ServerName&gt;&gt; listDeadServers() {<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>    return this.getClusterMetrics(EnumSet.of(Option.DEAD_SERVERS))<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>        .thenApply(ClusterMetrics::getDeadServerNames);<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>  }<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span><a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>  /**<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>   * Clear dead region servers from master.<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>   * @param servers list of dead region servers.<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>   * @return - returns a list of servers that not cleared wrapped by a {@link CompletableFuture}.<a name="line.1382"></a>
+<span class="sourceLineNo">1282</span>  default CompletableFuture&lt;Boolean&gt; normalize() {<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>    return normalize(new NormalizeTableFilterParams.Builder().build());<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>  }<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span><a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>  /**<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>   * Invoke region normalizer. Can NOT run for various reasons. Check logs.<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>   * @param ntfp limit to tables matching the specified filter.<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>   * @return true if region normalizer ran, false otherwise. The return value will be wrapped by a<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>   *         {@link CompletableFuture}<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span>   */<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>  CompletableFuture&lt;Boolean&gt; normalize(NormalizeTableFilterParams ntfp);<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span><a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>  /**<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>   * Turn the cleaner chore on/off.<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>   * @param on<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span>   * @return Previous cleaner state wrapped by a {@link CompletableFuture}<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>   */<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>  CompletableFuture&lt;Boolean&gt; cleanerChoreSwitch(boolean on);<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span><a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>  /**<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>   * Query the current state of the cleaner chore.<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>   * @return true if cleaner chore is on, false otherwise. The return value will be wrapped by<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>   *         a {@link CompletableFuture}<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>   */<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>  CompletableFuture&lt;Boolean&gt; isCleanerChoreEnabled();<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span><a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>  /**<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>   * Ask for cleaner chore to run.<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>   * @return true if cleaner chore ran, false otherwise. The return value will be wrapped by a<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>   *         {@link CompletableFuture}<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>   */<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>  CompletableFuture&lt;Boolean&gt; runCleanerChore();<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span><a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>  /**<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>   * Turn the catalog janitor on/off.<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>   * @param on<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>   * @return the previous state wrapped by a {@link CompletableFuture}<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>   */<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>  CompletableFuture&lt;Boolean&gt; catalogJanitorSwitch(boolean on);<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span><a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>  /**<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>   * Query on the catalog janitor state.<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>   * @return true if the catalog janitor is on, false otherwise. The return value will be<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>   *         wrapped by a {@link CompletableFuture}<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>   */<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>  CompletableFuture&lt;Boolean&gt; isCatalogJanitorEnabled();<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span><a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>  /**<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>   * Ask for a scan of the catalog table.<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>   * @return the number of entries cleaned. The return value will be wrapped by a<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>   *         {@link CompletableFuture}<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>   */<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>  CompletableFuture&lt;Integer&gt; runCatalogJanitor();<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span><a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>  /**<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>   * Execute the given coprocessor call on the master.<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>   * &lt;p&gt;<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>   * one line lambda expression, like:<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>   *<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>   * &lt;pre&gt;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>   * &lt;code&gt;<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>   * channel -&gt; xxxService.newStub(channel)<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>   * &lt;/code&gt;<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>   * &lt;/pre&gt;<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>   * @param callable a delegation to the actual protobuf rpc call. See the comment of<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>   *          {@link ServiceCaller} for more details.<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>   * @param &lt;S&gt; the type of the asynchronous stub<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>   * @param &lt;R&gt; the type of the return value<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>   * @see ServiceCaller<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>   */<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>      ServiceCaller&lt;S, R&gt; callable);<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span><a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>  /**<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>   * Execute the given coprocessor call on the given region server.<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>   * &lt;p&gt;<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>   * one line lambda expression, like:<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>   *<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>   * &lt;pre&gt;<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>   * &lt;code&gt;<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>   * channel -&gt; xxxService.newStub(channel)<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>   * &lt;/code&gt;<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>   * &lt;/pre&gt;<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>   * @param callable a delegation to the actual protobuf rpc call. See the comment of<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>   *          {@link ServiceCaller} for more details.<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>   * @param serverName the given region server<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>   * @param &lt;S&gt; the type of the asynchronous stub<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>   * @param &lt;R&gt; the type of the return value<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>   * @see ServiceCaller<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>   */<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>    ServiceCaller&lt;S, R&gt; callable, ServerName serverName);<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span><a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>  /**<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>   * List all the dead region servers.<a name="line.1382"></a>
 <span class="sourceLineNo">1383</span>   */<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>  CompletableFuture&lt;List&lt;ServerName&gt;&gt; clearDeadServers(final List&lt;ServerName&gt; servers);<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span><a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>  /**<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>   * Clear all the blocks corresponding to this table from BlockCache. For expert-admins. Calling<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>   * this API will drop all the cached blocks specific to a table from BlockCache. This can<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>   * significantly impact the query performance as the subsequent queries will have to retrieve the<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>   * blocks from underlying filesystem.<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * @param tableName table to clear block cache<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>   * @return CacheEvictionStats related to the eviction wrapped by a {@link CompletableFuture}.<a name="line.1392"></a>
+<span class="sourceLineNo">1384</span>  default CompletableFuture&lt;List&lt;ServerName&gt;&gt; listDeadServers() {<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>    return this.getClusterMetrics(EnumSet.of(Option.DEAD_SERVERS))<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>        .thenApply(ClusterMetrics::getDeadServerNames);<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>  }<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span><a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>   * Clear dead region servers from master.<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>   * @param servers list of dead region servers.<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>   * @return - returns a list of servers that not cleared wrapped by a {@link CompletableFuture}.<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   */<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>  CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(final TableName tableName);<a name="line.1394"></a>
+<span class="sourceLineNo">1394</span>  CompletableFuture&lt;List&lt;ServerName&gt;&gt; clearDeadServers(final List&lt;ServerName&gt; servers);<a name="line.1394"></a>
 <span class="sourceLineNo">1395</span><a name="line.1395"></a>
 <span class="sourceLineNo">1396</span>  /**<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>   * Create a new table by cloning the existent table schema.<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>   *<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>   * @param tableName name of the table to be cloned<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>   * @param newTableName name of the new table where the table will be created<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>   * @param preserveSplits True if the splits should be preserved<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>   */<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>  CompletableFuture&lt;Void&gt; cloneTableSchema(final TableName tableName,<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>      final TableName newTableName, final boolean preserveSplits);<a name="line.1404"></a>
+<span class="sourceLineNo">1397</span>   * Clear all the blocks corresponding to this table from BlockCache. For expert-admins. Calling<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>   * this API will drop all the cached blocks specific to a table from BlockCache. This can<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>   * significantly impact the query performance as the subsequent queries will have to retrieve the<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>   * blocks from underlying filesystem.<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>   * @param tableName table to clear block cache<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>   * @return CacheEvictionStats related to the eviction wrapped by a {@link CompletableFuture}.<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>   */<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span>  CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(final TableName tableName);<a name="line.1404"></a>
 <span class="sourceLineNo">1405</span><a name="line.1405"></a>
 <span class="sourceLineNo">1406</span>  /**<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>   * Turn the compaction on or off. Disabling compactions will also interrupt any currently ongoing<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>   * compactions. This state is ephemeral. The setting will be lost on restart. Compaction<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>   * can also be enabled/disabled by modifying configuration hbase.regionserver.compaction.enabled<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>   * in hbase-site.xml.<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>   *<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>   * @param switchState     Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>   * @param serverNamesList list of region servers.<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>   * @return Previous compaction states for region servers<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span>   */<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>  CompletableFuture&lt;Map&lt;ServerName, Boolean&gt;&gt; compactionSwitch(boolean switchState,<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>      List&lt;String&gt; serverNamesList);<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span><a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>  /**<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span>   * Switch the rpc throttle enabled state.<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>   * @param enable Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>   * @return Previous rpc throttle enabled value<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>   */<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>  CompletableFuture&lt;Boolean&gt; switchRpcThrottle(boolean enable);<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span><a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>  /**<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>   * Get if the rpc throttle is enabled.<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span>   * @return True if rpc throttle is enabled<a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>   */<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>  CompletableFuture&lt;Boolean&gt; isRpcThrottleEnabled();<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span><a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>  /**<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>   * Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>   * can be exceeded if region server has availble quota.<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>   * @param enable Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>   * @return Previous exceed throttle enabled value<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>   */<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>  CompletableFuture&lt;Boolean&gt; exceedThrottleQuotaSwitch(boolean enable);<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span><a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>  /**<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>   */<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>  CompletableFuture&lt;Map&lt;TableName, Long&gt;&gt; getSpaceQuotaTableSizes();<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span><a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>  /**<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>   * Fetches the observed {@link SpaceQuotaSnapshotView}s observed by a RegionServer.<a name="line.1446"></a>
+<span class="sourceLineNo">1407</span>   * Create a new table by cloning the existent table schema.<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>   *<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>   * @param tableName name of the table to be cloned<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>   * @param newTableName name of the new table where the table will be created<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>   * @param preserveSplits True if the splits should be preserved<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>   */<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>  CompletableFuture&lt;Void&gt; cloneTableSchema(final TableName tableName,<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>      final TableName newTableName, final boolean preserveSplits);<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span><a name="line.1415"></a>
+<span class="sourceLineNo">1416</span>  /**<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>   * Turn the compaction on or off. Disabling compactions will also interrupt any currently ongoing<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>   * compactions. This state is ephemeral. The setting will be lost on restart. Compaction<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>   * can also be enabled/disabled by modifying configuration hbase.regionserver.compaction.enabled<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>   * in hbase-site.xml.<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>   *<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>   * @param switchState     Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>   * @param serverNamesList list of region servers.<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>   * @return Previous compaction states for region servers<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span>   */<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>  CompletableFuture&lt;Map&lt;ServerName, Boolean&gt;&gt; compactionSwitch(boolean switchState,<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>      List&lt;String&gt; serverNamesList);<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span><a name="line.1428"></a>
+<span class="sourceLineNo">1429</span>  /**<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>   * Switch the rpc throttle enabled state.<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>   * @param enable Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span>   * @return Previous rpc throttle enabled value<a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>   */<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>  CompletableFuture&lt;Boolean&gt; switchRpcThrottle(boolean enable);<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span><a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>  /**<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>   * Get if the rpc throttle is enabled.<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span>   * @return True if rpc throttle is enabled<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>   */<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>  CompletableFuture&lt;Boolean&gt; isRpcThrottleEnabled();<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span><a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>  /**<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>   * Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>   * can be exceeded if region server has availble quota.<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>   * @param enable Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span>   * @return Previous exceed throttle enabled value<a name="line.1446"></a>
 <span class="sourceLineNo">1447</span>   */<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>  CompletableFuture&lt;? extends Map&lt;TableName, ? extends SpaceQuotaSnapshotView&gt;&gt;<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>      getRegionServerSpaceQuotaSnapshots(ServerName serverName);<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span><a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>  /**<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the Master has<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>   * no quota information on that namespace.<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>   */<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>  CompletableFuture&lt;? extends SpaceQuotaSnapshotView&gt;<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>      getCurrentSpaceQuotaSnapshot(String namespace);<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span><a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>  /**<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the Master has<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>   * no quota information on that table.<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>   */<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>  CompletableFuture&lt;? extends SpaceQuotaSnapshotView&gt; getCurrentSpaceQuotaSnapshot(<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>      TableName tableName);<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span><a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>  /**<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>   * Grants user specific permissions<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>   * @param userPermission user name and the specific permission<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>   * @param mergeExistingPermissions If set to false, later granted permissions will override<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>   *          previous granted permissions. otherwise, it'll merge with previous granted<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>   *          permissions.<a name="line.1470"></a>
+<span class="sourceLineNo">1448</span>  CompletableFuture&lt;Boolean&gt; exceedThrottleQuotaSwitch(boolean enable);<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span><a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>  /**<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>   */<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>  CompletableFuture&lt;Map&lt;TableName, Long&gt;&gt; getSpaceQuotaTableSizes();<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span><a name="line.1454"></a>
+<span class="sourceLineNo">1455</span>  /**<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>   * Fetches the observed {@link SpaceQuotaSnapshotView}s observed by a RegionServer.<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>   */<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>  CompletableFuture&lt;? extends Map&lt;TableName, ? extends SpaceQuotaSnapshotView&gt;&gt;<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>      getRegionServerSpaceQuotaSnapshots(ServerName serverName);<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span><a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>  /**<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the Master has<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>   * no quota information on that namespace.<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>   */<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>  CompletableFuture&lt;? extends SpaceQuotaSnapshotView&gt;<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>      getCurrentSpaceQuotaSnapshot(String namespace);<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span><a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>  /**<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the Master has<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>   * no quota information on that table.<a name="line.1470"></a>
 <span class="sourceLineNo">1471</span>   */<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>  CompletableFuture&lt;Void&gt; grant(UserPermission userPermission, boolean mergeExistingPermissions);<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span><a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>  /**<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>   * Revokes user specific permissions<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>   * @param userPermission user name and the specific permission<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>   */<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>  CompletableFuture&lt;Void&gt; revoke(UserPermission userPermission);<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>  /**<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>   * Get the global/namespace/table permissions for user<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>   * @param getUserPermissionsRequest A request contains which user, global, namespace or table<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>   *          permissions needed<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>   * @return The user and permission list<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>   */<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>  CompletableFuture&lt;List&lt;UserPermission&gt;&gt;<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>      getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest);<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span><a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>  /**<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>   * Check if the user has specific permissions<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>   * @param userName the user name<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>   * @param permissions the specific permission list<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>   * @return True if user has the specific permissions<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>   */<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>  CompletableFuture&lt;List&lt;Boolean&gt;&gt; hasUserPermissions(String userName,<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>      List&lt;Permission&gt; permissions);<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span><a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>  /**<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>   * Check if call user has specific permissions<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>   * @param permissions the specific permission list<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>   * @return True if user has the specific permissions<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>   */<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span>  default CompletableFuture&lt;List&lt;Boolean&gt;&gt; hasUserPermissions(List&lt;Permission&gt; permissions) {<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>    return hasUserPermissions(null, permissions);<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span>  }<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span><a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>  /**<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>   * Turn on or off the auto snapshot cleanup based on TTL.<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>   * &lt;p/&gt;<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>   * Notice that, the method itself is always non-blocking, which means it will always return<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span>   * immediately. The {@code sync} parameter only effects when will we complete the returned<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>   * {@link CompletableFuture}.<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>   *<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>   * @param on Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>   * @param sync If &lt;code&gt;true&lt;/code&gt;, it waits until current snapshot cleanup is completed,<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>   *   if outstanding.<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>   * @return Previous auto snapshot cleanup value wrapped by a {@link CompletableFuture}.<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>   */<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>  CompletableFuture&lt;Boolean&gt; snapshotCleanupSwitch(boolean on, boolean sync);<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span><a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>  /**<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>   * Query the current state of the auto snapshot cleanup based on TTL.<a name="line.1522"></a>
+<span class="sourceLineNo">1472</span>  CompletableFuture&lt;? extends SpaceQuotaSnapshotView&gt; getCurrentSpaceQuotaSnapshot(<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>      TableName tableName);<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span><a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>  /**<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>   * Grants user specific permissions<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>   * @param userPermission user name and the specific permission<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>   * @param mergeExistingPermissions If set to false, later granted permissions will override<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>   *          previous granted permissions. otherwise, it'll merge with previous granted<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>   *          permissions.<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>   */<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>  CompletableFuture&lt;Void&gt; grant(UserPermission userPermission, boolean mergeExistingPermissions);<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span><a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>  /**<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>   * Revokes user specific permissions<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>   * @param userPermission user name and the specific permission<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>   */<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>  CompletableFuture&lt;Void&gt; revoke(UserPermission userPermission);<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span><a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>  /**<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>   * Get the global/namespace/table permissions for user<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span>   * @param getUserPermissionsRequest A request contains which user, global, namespace or table<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>   *          permissions needed<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span>   * @return The user and permission list<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>   */<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>  CompletableFuture&lt;List&lt;UserPermission&gt;&gt;<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span>      getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest);<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span><a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>  /**<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>   * Check if the user has specific permissions<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span>   * @param userName the user name<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>   * @param permissions the specific permission list<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>   * @return True if user has the specific permissions<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>   */<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>  CompletableFuture&lt;List&lt;Boolean&gt;&gt; hasUserPermissions(String userName,<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>      List&lt;Permission&gt; permissions);<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span><a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>  /**<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span>   * Check if call user has specific permissions<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>   * @param permissions the specific permission list<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>   * @return True if user has the specific permissions<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>   */<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span>  default CompletableFuture&lt;List&lt;Boolean&gt;&gt; hasUserPermissions(List&lt;Permission&gt; permissions) {<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>    return hasUserPermissions(null, permissions);<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>  }<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span><a name="line.1516"></a>
+<span class="sourceLineNo">1517</span>  /**<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>   * Turn on or off the auto snapshot cleanup based on TTL.<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>   * &lt;p/&gt;<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>   * Notice that, the method itself is always non-blocking, which means it will always return<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span>   * immediately. The {@code sync} parameter only effects when will we complete the returned<a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>   * {@link CompletableFuture}.<a name="line.1522"></a>
 <span class="sourceLineNo">1523</span>   *<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>   * @return true if the auto snapshot cleanup is enabled, false otherwise.<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>   *   The return value will be wrapped by a {@link CompletableFuture}.<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>   */<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>  CompletableFuture&lt;Boolean&gt; isSnapshotCleanupEnabled();<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span><a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>  /**<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>   * Retrieves online slow RPC logs from the provided list of<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>   * RegionServers<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>   *<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>   * @param serverNames Server names to get slowlog responses from<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>   * @param logQueryFilter filter to be used if provided<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>   * @return Online slowlog response list. The return value wrapped by a {@link CompletableFuture}<a name="line.1535"></a>
+<span class="sourceLineNo">1524</span>   * @param on Set to &lt;code&gt;true&lt;/code&gt; to enable, &lt;code&gt;false&lt;/code&gt; to disable.<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>   * @param sync If &lt;code&gt;true&lt;/code&gt;, it waits until current snapshot cleanup is completed,<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>   *   if outstanding.<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>   * @return Previous auto snapshot cleanup value wrapped by a {@link CompletableFuture}.<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>   */<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span>  CompletableFuture&lt;Boolean&gt; snapshotCleanupSwitch(boolean on, boolean sync);<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span><a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>  /**<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>   * Query the current state of the auto snapshot cleanup based on TTL.<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>   *<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span>   * @return true if the auto snapshot cleanup is enabled, false otherwise.<a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>   *   The return value will be wrapped by a {@link CompletableFuture}.<a name="line.1535"></a>
 <span class="sourceLineNo">1536</span>   */<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>  CompletableFuture&lt;List&lt;OnlineLogRecord&gt;&gt; getSlowLogResponses(final Set&lt;ServerName&gt; serverNames,<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>      final LogQueryFilter logQueryFilter);<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span><a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>  /**<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>   * Clears online slow RPC logs from the provided list of<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>   * RegionServers<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>   *<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>   * @param serverNames Set of Server names to clean slowlog responses from<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>   * @return List of booleans representing if online slowlog response buffer is cleaned<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>   *   from each RegionServer. The return value wrapped by a {@link CompletableFuture}<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>   */<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>  CompletableFuture&lt;List&lt;Boolean&gt;&gt; clearSlowLogResponses(final Set&lt;ServerName&gt; serverNames);<a name="line.1548"></a>
+<span class="sourceLineNo">1537</span>  CompletableFuture&lt;Boolean&gt; isSnapshotCleanupEnabled();<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span><a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>  /**<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>   * Retrieves online slow RPC logs from the provided list of<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span>   * RegionServers<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span>   *<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span>   * @param serverNames Server names to get slowlog responses from<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>   * @param logQueryFilter filter to be used if provided<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span>   * @return Online slowlog response list. The return value wrapped by a {@link CompletableFuture}<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span>   */<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span>  CompletableFuture&lt;List&lt;OnlineLogRecord&gt;&gt; getSlowLogResponses(final Set&lt;ServerName&gt; serverNames,<a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>      final LogQueryFilter logQueryFilter);<a name="line.1548"></a>
 <span class="sourceLineNo">1549</span><a name="line.1549"></a>
 <span class="sourceLineNo">1550</span>  /**<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>   * Creates a new RegionServer group with the given name<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>   * @param groupName the name of the group<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>   * @throws IOException if a remote or network exception occurs<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>   */<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>  CompletableFuture&lt;Void&gt; addRSGroup(String groupName);<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span><a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>  /**<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>   * Get group info for the given group name<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>   * @param groupName the group name<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>   * @return group info<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>   * @throws IOException if a remote or network exception occurs<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>   */<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>  CompletableFuture&lt;RSGroupInfo&gt; getRSGroup(String groupName);<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span><a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>  /**<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>   * Get group info for the given hostPort<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>   * @param hostPort HostPort to get RSGroupInfo for<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>   * @throws IOException if a remote or network exception occurs<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>   */<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>  CompletableFuture&lt;RSGroupInfo&gt; getRSGroup(Address hostPort);<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span><a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>  /**<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>   * Get group info for the given table<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>   * @param tableName table name to get RSGroupInfo for<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>   * @throws IOException if a remote or network exception occurs<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>   */<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>  CompletableFuture&lt;RSGroupInfo&gt; getRSGroup(TableName tableName);<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span><a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>  /**<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>   * Lists current set of RegionServer groups<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>   * @throws IOException if a remote or network exception occurs<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>   */<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>  CompletableFuture&lt;List&lt;RSGroupInfo&gt;&gt; listRSGroups();<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span><a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>  /**<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>   * Get all tables in this RegionServer group.<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>   * @param groupName the group name<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>   * @throws IOException if a remote or network exception occurs<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>   * @see #getConfiguredNamespacesAndTablesInRSGroup(String)<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>   */<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>  CompletableFuture&lt;List&lt;TableName&gt;&gt; listTablesInRSGroup(String groupName);<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span><a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>  /**<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>   * Get the namespaces and tables which have this RegionServer group in descriptor.<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>   * &lt;p/&gt;<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>   * The difference between this method and {@link #listTablesInRSGroup(String)} is that, this<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>   * method will not include the table which is actually in this RegionServr group but without the<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>   * RegionServer group configuration in its {@link TableDescriptor}. For example, we have a group<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>   * 'A', and we make namespace 'nsA' in this group, then all the tables under this namespace will<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>   * in the group 'A', but this method will not return these tables but only the namespace 'nsA',<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>   * while the {@link #listTablesInRSGroup(String)} will return all these tables.<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>   * @param groupName the group name<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>   * @throws IOException if a remote or network exception occurs<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>   * @see #listTablesInRSGroup(String)<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>   */<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>  CompletableFuture&lt;Pair&lt;List&lt;String&gt;, List&lt;TableName&gt;&gt;&gt;<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    getConfiguredNamespacesAndTablesInRSGroup(String groupName);<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span><a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>  /**<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>   * Remove RegionServer group associated with the given name<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>   * @param groupName the group name<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>   * @throws IOException if a remote or network exception occurs<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>   */<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>  CompletableFuture&lt;Void&gt; removeRSGroup(String groupName);<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span><a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>  /**<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>   * Remove decommissioned servers from group<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>   *  1. Sometimes we may find the server aborted due to some hardware failure and we must offline<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>   *     the server for repairing. Or we need to move some servers to join other clusters.<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>   *     So we need to remove these servers from the group.<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>   *  2. Dead/recovering/live servers will be disallowed.<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>   * @param servers set of servers to remove<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>   * @throws IOException if a remote or network exception occurs<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>   */<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>  CompletableFuture&lt;Void&gt; removeServersFromRSGroup(Set&lt;Address&gt; servers);<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span><a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>  /**<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span>   * Move given set of servers to the specified target RegionServer group<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>   * @param servers set of servers to move<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>   * @param groupName the group to move servers to<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>   * @throws IOException if a remote or network exception occurs<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   */<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>  CompletableFuture&lt;Void&gt; moveServersToRSGroup(Set&lt;Address&gt; servers, String groupName);<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span><a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>  /**<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>   * Set the RegionServer group for tables<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>   * @param tables tables to set group for<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>   * @param groupName group name for tables<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>   * @throws IOException if a remote or network exception occurs<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>   */<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>  CompletableFuture&lt;Void&gt; setRSGroup(Set&lt;TableName&gt; tables, String groupName);<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span><a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>  /**<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>   * Balance regions in the given RegionServer group<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>   * @param groupName the group name<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>   * @return boolean Whether balance ran or not<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>   * @throws IOException if a remote or network exception occurs<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>   */<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>  CompletableFuture&lt;Boolean&gt; balanceRSGroup(String groupName);<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span><a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>  /**<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>   * Rename rsgroup<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>   * @param oldName old rsgroup name<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>   * @param newName new rsgroup name<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>   * @throws IOException if a remote or network exception occurs<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>   */<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>  CompletableFuture&lt;Void&gt; renameRSGroup(String oldName, String newName);<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span><a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>  /**<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>   * Update RSGroup configuration<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>   * @param groupName the group name<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>   * @param configuration new configuration of the group name to be set<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>   * @throws IOException if a remote or network exception occurs<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>   */<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>  CompletableFuture&lt;Void&gt; updateRSGroupConfig(String groupName, Map&lt;String, String&gt; configuration);<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>}<a name="line.1666"></a>
+<span class="sourceLineNo">1551</span>   * Clears online slow RPC logs from the provided list of<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>   * RegionServers<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span>   *<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span>   * @param serverNames Set of Server names to clean slowlog responses from<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>   * @return List of booleans representing if online slowlog response buffer is cleaned<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>   *   from each RegionServer. The return value wrapped by a {@link CompletableFuture}<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>   */<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>  CompletableFuture&lt;List&lt;Boolean&gt;&gt; clearSlowLogResponses(final Set&lt;ServerName&gt; serverNames);<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span><a name="line.1559"></a>
+<span class="sourceLineNo">1560</span>  /**<a name="line.1560"></a>
+<span class="sourceLineNo">1561</span>   * Creates a new RegionServer group with the given name<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>   * @param groupName the name of the group<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span>   * @throws IOException if a remote or network exception occurs<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span>   */<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>  CompletableFuture&lt;Void&gt; addRSGroup(String groupName);<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span><a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>  /**<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>   * Get group info for the given group name<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>   * @param groupName the group name<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>   * @return group info<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span>   * @throws IOException if a remote or network exception occurs<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>   */<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span>  CompletableFuture&lt;RSGroupInfo&gt; getRSGroup(String groupName);<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span><a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>  /**<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>   * Get group info for the given hostPort<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>   * @param hostPort HostPort to get RSGroupInfo for<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>   * @throws IOException if a remote or network exception occurs<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>   */<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>  CompletableFuture&lt;RSGroupInfo&gt; getRSGroup(Address hostPort);<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span><a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>  /**<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>   * Get group info for the given table<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>   * @param tableName table name to get RSGroupInfo for<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>   * @throws IOException if a remote or network exception occurs<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>   */<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>  CompletableFuture&lt;RSGroupInfo&gt; getRSGroup(TableName tableName);<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span><a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>  /**<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>   * Lists current set of RegionServer groups<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>   * @throws IOException if a remote or network exception occurs<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>   */<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>  CompletableFuture&lt;List&lt;RSGroupInfo&gt;&gt; listRSGroups();<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span><a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>  /**<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>   * Get all tables in this RegionServer group.<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>   * @param groupName the group name<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>   * @throws IOException if a remote or network exception occurs<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>   * @see #getConfiguredNamespacesAndTablesInRSGroup(String)<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>   */<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>  CompletableFuture&lt;List&lt;TableName&gt;&gt; listTablesInRSGroup(String groupName);<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span><a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>  /**<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>   * Get the namespaces and tables which have this RegionServer group in descriptor.<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>   * &lt;p/&gt;<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>   * The difference between this method and {@link #listTablesInRSGroup(String)} is that, this<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>   * method will not include the table which is actually in this RegionServr group but without the<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>   * RegionServer group configuration in its {@link TableDescriptor}. For example, we have a group<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>   * 'A', and we make namespace 'nsA' in this group, then all the tables under this namespace will<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>   * in the group 'A', but this method will not return these tables but only the namespace 'nsA',<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>   * while the {@link #listTablesInRSGroup(String)} will return all these tables.<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>   * @param groupName the group name<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>   * @throws IOException if a remote or network exception occurs<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>   * @see #listTablesInRSGroup(String)<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>   */<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>  CompletableFuture&lt;Pair&lt;List&lt;String&gt;, List&lt;TableName&gt;&gt;&gt;<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>    getConfiguredNamespacesAndTablesInRSGroup(String groupName);<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span><a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>  /**<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>   * Remove RegionServer group associated with the given name<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>   * @param groupName the group name<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span>   * @throws IOException if a remote or network exception occurs<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>   */<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>  CompletableFuture&lt;Void&gt; removeRSGroup(String groupName);<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span><a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>  /**<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>   * Remove decommissioned servers from group<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>   *  1. Sometimes we may find the server aborted due to some hardware failure and we must offline<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>   *     the server for repairing. Or we need to move some servers to join other clusters.<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>   *     So we need to remove these servers from the group.<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>   *  2. Dead/recovering/live servers will be disallowed.<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>   * @param servers set of servers to remove<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>   * @throws IOException if a remote or network exception occurs<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>   */<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>  CompletableFuture&lt;Void&gt; removeServersFromRSGroup(Set&lt;Address&gt; servers);<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span><a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>  /**<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>   * Move given set of servers to the specified target RegionServer group<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>   * @param servers set of servers to move<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>   * @param groupName the group to move servers to<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>   * @throws IOException if a remote or network exception occurs<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>   */<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>  CompletableFuture&lt;Void&gt; moveServersToRSGroup(Set&lt;Address&gt; servers, String groupName);<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span><a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>  /**<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>   * Set the RegionServer group for tables<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>   * @param tables tables to set group for<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>   * @param groupName group name for tables<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>   * @throws IOException if a remote or network exception occurs<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>   */<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span>  CompletableFuture&lt;Void&gt; setRSGroup(Set&lt;TableName&gt; tables, String groupName);<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span><a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>  /**<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>   * Balance regions in the given RegionServer group<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>   * @param groupName the group name<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>   * @return boolean Whether balance ran or not<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>   * @throws IOException if a remote or network exception occurs<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>   */<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>  CompletableFuture&lt;Boolean&gt; balanceRSGroup(String groupName);<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span><a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>  /**<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>   * Rename rsgroup<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>   * @param oldName old rsgroup name<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span>   * @param newName new rsgroup name<a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>   * @throws IOException if a remote or network exception occurs<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>   */<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>  CompletableFuture&lt;Void&gt; renameRSGroup(String oldName, String newName);<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span><a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>  /**<a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>   * Update RSGroup configuration<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>   * @param groupName the group name<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>   * @param configuration new configuration of the group name to be set<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>   * @throws IOException if a remote or network exception occurs<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>   */<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>  CompletableFuture&lt;Void&gt; updateRSGroupConfig(String groupName, Map&lt;String, String&gt; configuration);<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>}<a name="line.1676"></a>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html b/apidocs/src-html/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html
new file mode 100644
index 0000000..b3f181c
--- /dev/null
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.client;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.util.List;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.hadoop.hbase.TableName;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>/**<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * A collection of criteria used for table selection. The logic of table selection is as follows:<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * &lt;ul&gt;<a name="line.26"></a>
+<span class="sourceLineNo">027</span> *   &lt;li&gt;<a name="line.27"></a>
+<span class="sourceLineNo">028</span> *     When no parameter values are provided, an unfiltered list of all user tables is returned.<a name="line.28"></a>
+<span class="sourceLineNo">029</span> *   &lt;/li&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *   &lt;li&gt;<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *     When a list of {@link TableName TableNames} are provided, the filter starts with any of<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *     these tables that exist.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *   &lt;/li&gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *   &lt;li&gt;<a name="line.34"></a>
+<span class="sourceLineNo">035</span> *     When a {@code namespace} name is provided, the filter starts with all the tables present in<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *     that namespace.<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *   &lt;/li&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> *   &lt;li&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *     If both a list of {@link TableName TableNames} and a {@code namespace} name are provided,<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *     the {@link TableName} list is honored and the {@code namespace} name is ignored.<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *   &lt;/li&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *   &lt;li&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *     If a {@code regex} is provided, this subset of {@link TableName TableNames} is further<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *     reduced to those that match the provided regular expression.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *   &lt;/li&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;/ul&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@InterfaceAudience.Public<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public final class NormalizeTableFilterParams {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>  private final List&lt;TableName&gt; tableNames;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  private final String regex;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private final String namespace;<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private NormalizeTableFilterParams(final List&lt;TableName&gt; tableNames, final String regex,<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    final String namespace) {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    this.tableNames = tableNames;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    this.regex = regex;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    this.namespace = namespace;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public List&lt;TableName&gt; getTableNames() {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    return tableNames;<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>  public String getRegex() {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    return regex;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public String getNamespace() {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    return namespace;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  /**<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   * Used to instantiate an instance of {@link NormalizeTableFilterParams}.<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   */<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public static class Builder {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    private List&lt;TableName&gt; tableNames;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    private String regex;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    private String namespace;<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>    public Builder tableFilterParams(final NormalizeTableFilterParams ntfp) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      this.tableNames = ntfp.getTableNames();<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      this.regex = ntfp.getRegex();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      this.namespace = ntfp.getNamespace();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>      return this;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    }<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>    public Builder tableNames(final List&lt;TableName&gt; tableNames) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      this.tableNames = tableNames;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      return this;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    }<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>    public Builder regex(final String regex) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      this.regex = regex;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      return this;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>    public Builder namespace(final String namespace) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      this.namespace = namespace;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return this;<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 NormalizeTableFilterParams build() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      return new NormalizeTableFilterParams(tableNames, regex, namespace);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
+<span class="sourceLineNo">107</span>}<a name="line.107"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html b/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
index 38ca923..beb6533 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
@@ -1636,43 +1636,47 @@
 <span class="sourceLineNo">1628</span>    }<a name="line.1628"></a>
 <span class="sourceLineNo">1629</span>  }<a name="line.1629"></a>
 <span class="sourceLineNo">1630</span><a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>  private static Optional&lt;CoprocessorDescriptor&gt; toCoprocessorDescriptor(String spec) {<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>    Matcher matcher = CP_HTD_ATTR_VALUE_PATTERN.matcher(spec);<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>    if (matcher.matches()) {<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>      // jar file path can be empty if the cp class can be loaded<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>      // from class loader.<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>      String path = matcher.group(1).trim().isEmpty() ?<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>        null : matcher.group(1).trim();<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>      String className = matcher.group(2).trim();<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>      if (className.isEmpty()) {<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>        return Optional.empty();<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>      }<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>      String priorityStr = matcher.group(3).trim();<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      int priority = priorityStr.isEmpty() ?<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>        Coprocessor.PRIORITY_USER : Integer.parseInt(priorityStr);<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>      String cfgSpec = null;<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>      try {<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>        cfgSpec = matcher.group(4);<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>      } catch (IndexOutOfBoundsException ex) {<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>        // ignore<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>      }<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>      Map&lt;String, String&gt; ourConf = new TreeMap&lt;&gt;();<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>      if (cfgSpec != null &amp;&amp; !cfgSpec.trim().equals("|")) {<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>        cfgSpec = cfgSpec.substring(cfgSpec.indexOf('|') + 1);<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>        Matcher m = CP_HTD_ATTR_VALUE_PARAM_PATTERN.matcher(cfgSpec);<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>        while (m.find()) {<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>          ourConf.put(m.group(1), m.group(2));<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>        }<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>      }<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>      return Optional.of(CoprocessorDescriptorBuilder.newBuilder(className)<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>        .setJarPath(path)<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        .setPriority(priority)<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>        .setProperties(ourConf)<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>        .build());<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>    }<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    return Optional.empty();<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>  }<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>}<a name="line.1667"></a>
+<span class="sourceLineNo">1631</span>  /**<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>   * This method is mostly intended for internal use. However, it it also relied on by hbase-shell<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>   * for backwards compatibility.<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>   */<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>  private static Optional&lt;CoprocessorDescriptor&gt; toCoprocessorDescriptor(String spec) {<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>    Matcher matcher = CP_HTD_ATTR_VALUE_PATTERN.matcher(spec);<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>    if (matcher.matches()) {<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>      // jar file path can be empty if the cp class can be loaded<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>      // from class loader.<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>      String path = matcher.group(1).trim().isEmpty() ?<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>        null : matcher.group(1).trim();<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      String className = matcher.group(2).trim();<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>      if (className.isEmpty()) {<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>        return Optional.empty();<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>      }<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>      String priorityStr = matcher.group(3).trim();<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>      int priority = priorityStr.isEmpty() ?<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>        Coprocessor.PRIORITY_USER : Integer.parseInt(priorityStr);<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>      String cfgSpec = null;<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>      try {<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span>        cfgSpec = matcher.group(4);<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>      } catch (IndexOutOfBoundsException ex) {<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>        // ignore<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>      }<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>      Map&lt;String, String&gt; ourConf = new TreeMap&lt;&gt;();<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>      if (cfgSpec != null &amp;&amp; !cfgSpec.trim().equals("|")) {<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>        cfgSpec = cfgSpec.substring(cfgSpec.indexOf('|') + 1);<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>        Matcher m = CP_HTD_ATTR_VALUE_PARAM_PATTERN.matcher(cfgSpec);<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>        while (m.find()) {<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>          ourConf.put(m.group(1), m.group(2));<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>        }<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>      }<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>      return Optional.of(CoprocessorDescriptorBuilder.newBuilder(className)<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span>        .setJarPath(path)<a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>        .setPriority(priority)<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>        .setProperties(ourConf)<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>        .build());<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>    }<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>    return Optional.empty();<a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>  }<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>}<a name="line.1671"></a>
 
 
 
diff --git a/book.html b/book.html
index cc7a363..67fae50 100644
--- a/book.html
+++ b/book.html
@@ -45993,7 +45993,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 2020-08-17 20:04:10 UTC
+Last updated 2020-08-19 00:56:59 UTC
 </div>
 </div>
 <script type="text/x-mathjax-config">
diff --git a/bulk-loads.html b/bulk-loads.html
index b59832f..1781d78 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -172,7 +172,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2020
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2020-08-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2020-08-19</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 219348b..82543cb 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -166,10 +166,10 @@
 <th><img src="images/icon_warning_sml.gif" alt="" />&#160;Warnings</th>
 <th><img src="images/icon_error_sml.gif" alt="" />&#160;Errors</th></tr>
 <tr class="b">
-<td>4290</td>
+<td>4291</td>
 <td>0</td>
 <td>0</td>
-<td>9327</td></tr></table></div>
+<td>9324</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -3182,7 +3182,7 @@
 <td><a href="#org.apache.hadoop.hbase.master.HMaster.java">org/apache/hadoop/hbase/master/HMaster.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>102</td></tr>
+<td>100</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.HMasterCommandLine.java">org/apache/hadoop/hbase/master/HMasterCommandLine.java</a></td>
 <td>0</td>
@@ -6992,7 +6992,7 @@
 <td><a href="#org.apache.hadoop.hbase.util.PoolMap.java">org/apache/hadoop/hbase/util/PoolMap.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>7</td></tr>
+<td>6</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.PositionedByteRange.java">org/apache/hadoop/hbase/util/PositionedByteRange.java</a></td>
 <td>0</td>
@@ -7455,7 +7455,7 @@
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#UnusedImports">UnusedImports</a>
 <ul>
 <li>processJavadoc: <tt>&quot;true&quot;</tt></li></ul></td>
-<td>25</td>
+<td>23</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td>indentation</td>
@@ -7478,7 +7478,7 @@
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>2333</td>
+<td>2332</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>misc</td>
@@ -13984,73 +13984,73 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1201</td></tr>
+<td>1215</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
-<td>1289</td></tr>
+<td>1303</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1321</td></tr>
+<td>1335</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>1518</td></tr>
+<td>1532</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>1522</td></tr>
+<td>1536</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>1640</td></tr>
+<td>1654</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>1642</td></tr>
+<td>1656</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>1653</td></tr>
+<td>1667</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>1655</td></tr>
+<td>1669</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 125).</td>
-<td>1671</td></tr>
+<td>1685</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1832</td></tr>
+<td>1846</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2170</td></tr></table></div>
+<td>2184</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Append.java">org/apache/hadoop/hbase/client/Append.java</h3>
 <table border="0" class="table table-striped">
@@ -14134,13 +14134,13 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1286</td></tr>
+<td>1296</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1307</td></tr></table></div>
+<td>1317</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncBatchRpcRetryingCaller.java">org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.java</h3>
 <table border="0" class="table table-striped">
@@ -15307,7 +15307,7 @@
 <td>indentation</td>
 <td>Indentation</td>
 <td>'lambda arguments' has incorrect indentation level 10, expected level should be 8.</td>
-<td>4182</td></tr></table></div>
+<td>4186</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionInfo.java">org/apache/hadoop/hbase/client/RegionInfo.java</h3>
 <table border="0" class="table table-striped">
@@ -37999,478 +37999,466 @@
 <th>Line</th></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>UnusedImports</td>
-<td>Unused import - org.apache.hadoop.hbase.client.Admin.</td>
-<td>83</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>484</td></tr>
-<tr class="b">
+<td>483</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'ctor def' child has incorrect indentation level 7, expected level should be 6.</td>
-<td>487</td></tr>
-<tr class="a">
+<td>486</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'ctor def' child has incorrect indentation level 7, expected level should be 6.</td>
-<td>488</td></tr>
-<tr class="b">
+<td>487</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>498</td></tr>
-<tr class="a">
+<td>497</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
+<td>499</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>sizes</td>
+<td>LineLength</td>
+<td>Line is longer than 100 characters (found 109).</td>
 <td>500</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
-<td>Line is longer than 100 characters (found 109).</td>
-<td>501</td></tr>
+<td>Line is longer than 100 characters (found 103).</td>
+<td>502</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
-<td>Line is longer than 100 characters (found 103).</td>
+<td>Line is longer than 100 characters (found 118).</td>
 <td>503</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
-<td>Line is longer than 100 characters (found 118).</td>
+<td>Line is longer than 100 characters (found 120).</td>
 <td>504</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
-<td>Line is longer than 100 characters (found 120).</td>
+<td>Line is longer than 100 characters (found 103).</td>
 <td>505</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
-<td>Line is longer than 100 characters (found 103).</td>
-<td>506</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>sizes</td>
-<td>LineLength</td>
 <td>Line is longer than 100 characters (found 115).</td>
-<td>510</td></tr>
-<tr class="b">
+<td>509</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 114).</td>
-<td>699</td></tr>
-<tr class="a">
+<td>698</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>854</td></tr>
-<tr class="b">
+<td>853</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 306 lines (max allowed is 150).</td>
-<td>913</td></tr>
-<tr class="a">
+<td>912</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
-<td>1572</td></tr>
-<tr class="b">
+<td>1571</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1744</td></tr>
-<tr class="a">
+<td>1743</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1797</td></tr>
-<tr class="b">
+<td>1796</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>2041</td></tr>
-<tr class="a">
+<td>2051</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2052</td></tr>
-<tr class="b">
+<td>2062</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2054</td></tr>
-<tr class="a">
+<td>2064</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2055</td></tr>
-<tr class="b">
+<td>2065</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2058</td></tr>
-<tr class="a">
+<td>2068</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2059</td></tr>
-<tr class="b">
+<td>2069</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2061</td></tr>
-<tr class="a">
+<td>2071</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2063</td></tr>
-<tr class="b">
+<td>2073</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2064</td></tr>
-<tr class="a">
+<td>2074</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2065</td></tr>
-<tr class="b">
+<td>2075</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 116).</td>
-<td>2093</td></tr>
-<tr class="a">
+<td>2103</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>2095</td></tr>
-<tr class="b">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>indentation</td>
-<td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2304</td></tr>
+<td>2105</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2306</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2314</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2308</td></tr>
+<td>2316</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2314</td></tr>
+<td>2318</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2315</td></tr>
+<td>2324</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2317</td></tr>
+<td>2325</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2319</td></tr>
+<td>2327</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2320</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2329</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2322</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2330</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2324</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2332</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2325</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2334</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2326</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2335</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2339</td></tr>
+<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
+<td>2336</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2341</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2349</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2343</td></tr>
+<td>2351</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2344</td></tr>
+<td>2353</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2345</td></tr>
+<td>2354</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2347</td></tr>
+<td>2355</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2349</td></tr>
+<td>2357</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2350</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2359</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2352</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2360</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2354</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2362</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2355</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2364</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2356</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2365</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2439</td></tr>
+<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
+<td>2366</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2441</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2449</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2447</td></tr>
+<td>2451</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2448</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2457</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if' has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>2449</td></tr>
+<td>'if' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2458</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if' child has incorrect indentation level 16, expected level should be one of the following: 18, 20.</td>
-<td>2456</td></tr>
+<td>'if' has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
+<td>2459</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if rcurly' has incorrect indentation level 14, expected level should be one of the following: 16, 18.</td>
-<td>2458</td></tr>
+<td>'if' child has incorrect indentation level 16, expected level should be one of the following: 18, 20.</td>
+<td>2466</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if rcurly' has incorrect indentation level 12, expected level should be one of the following: 14, 16.</td>
-<td>2459</td></tr>
+<td>'if rcurly' has incorrect indentation level 14, expected level should be one of the following: 16, 18.</td>
+<td>2468</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if rcurly' has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>2460</td></tr>
+<td>'if rcurly' has incorrect indentation level 12, expected level should be one of the following: 14, 16.</td>
+<td>2469</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if' child has incorrect indentation level 12, expected level should be one of the following: 14, 16.</td>
-<td>2461</td></tr>
+<td>'if rcurly' has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
+<td>2470</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if rcurly' has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>2462</td></tr>
+<td>'if' child has incorrect indentation level 12, expected level should be one of the following: 14, 16.</td>
+<td>2471</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'if rcurly' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2463</td></tr>
+<td>'if rcurly' has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
+<td>2472</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2465</td></tr>
+<td>'if rcurly' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2473</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2472</td></tr>
+<td>2475</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2473</td></tr>
+<td>2482</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2475</td></tr>
+<td>2483</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2477</td></tr>
+<td>2485</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2478</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2487</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2480</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2488</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2482</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2490</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2483</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2492</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2484</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2493</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
 <td>2494</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2496</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2504</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2498</td></tr>
+<td>2506</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
@@ -38482,133 +38470,133 @@
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2509</td></tr>
+<td>2518</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2511</td></tr>
+<td>2519</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2513</td></tr>
+<td>2521</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2514</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2523</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2516</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2524</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2518</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2526</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2519</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2528</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2520</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2529</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2583</td></tr>
+<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
+<td>2530</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2587</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2593</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2589</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2597</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2591</td></tr>
+<td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2599</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2592</td></tr>
+<td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2601</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2593</td></tr>
+<td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
+<td>2602</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
+<td>2603</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>3077</td></tr>
-<tr class="a">
+<td>3087</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3253</td></tr>
-<tr class="b">
+<td>3263</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3255</td></tr>
-<tr class="a">
+<td>3265</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>3367</td></tr>
-<tr class="b">
+<td>3377</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'for' construct must use '{}'s.</td>
-<td>3397</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
-<td>At-clause should have a non-empty description.</td>
-<td>3404</td></tr>
+<td>3407</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>3409</td></tr>
+<td>3419</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3438</td></tr></table></div>
+<td>3448</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.master.HMasterCommandLine.java">org/apache/hadoop/hbase/master/HMasterCommandLine.java</h3>
 <table border="0" class="table table-striped">
@@ -38833,25 +38821,25 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1088</td></tr>
+<td>1089</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1117</td></tr>
+<td>1118</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1156</td></tr>
+<td>1157</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1793</td></tr></table></div>
+<td>1794</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.master.MasterServices.java">org/apache/hadoop/hbase/master/MasterServices.java</h3>
 <table border="0" class="table table-striped">
@@ -62542,7 +62530,7 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.client.LogQueryFilter' import.</td>
-<td>56</td></tr></table></div>
+<td>57</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.security.AbstractHBaseSaslRpcClient.java">org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.java</h3>
 <table border="0" class="table table-striped">
@@ -66196,343 +66184,343 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2317</td></tr>
+<td>2324</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2321</td></tr>
+<td>2328</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2328</td></tr>
+<td>2335</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2330</td></tr>
+<td>2337</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2333</td></tr>
+<td>2340</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2348</td></tr>
+<td>2355</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2360</td></tr>
+<td>2367</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2364</td></tr>
+<td>2371</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2371</td></tr>
+<td>2378</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2373</td></tr>
+<td>2380</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2376</td></tr>
+<td>2383</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2391</td></tr>
+<td>2398</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2405</td></tr>
+<td>2412</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2424</td></tr>
+<td>2431</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2443</td></tr>
+<td>2450</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2474</td></tr>
+<td>2481</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2505</td></tr>
+<td>2512</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2519</td></tr>
+<td>2526</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2533</td></tr>
+<td>2540</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2547</td></tr>
+<td>2554</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2678</td></tr>
+<td>2685</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2701</td></tr>
+<td>2708</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2716</td></tr>
+<td>2723</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2731</td></tr>
+<td>2738</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2745</td></tr>
+<td>2752</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2759</td></tr>
+<td>2766</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2760</td></tr>
+<td>2767</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2761</td></tr>
+<td>2768</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 116).</td>
-<td>2892</td></tr>
+<td>2899</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 112).</td>
-<td>2938</td></tr>
+<td>2945</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
-<td>2958</td></tr>
+<td>2965</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
-<td>2970</td></tr>
+<td>2977</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
-<td>2982</td></tr>
+<td>2989</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>2998</td></tr>
+<td>3005</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>3045</td></tr>
+<td>3052</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>3058</td></tr>
+<td>3065</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 3, expected level should be 2.</td>
-<td>3075</td></tr>
+<td>3082</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 5, expected level should be 4.</td>
-<td>3077</td></tr>
+<td>3084</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 5, expected level should be 4.</td>
-<td>3078</td></tr>
+<td>3085</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 5, expected level should be 4.</td>
-<td>3080</td></tr>
+<td>3087</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 5, expected level should be 4.</td>
-<td>3081</td></tr>
+<td>3088</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 5, expected level should be 4.</td>
-<td>3082</td></tr>
+<td>3089</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 3, expected level should be 2.</td>
-<td>3083</td></tr>
+<td>3090</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>3167</td></tr>
+<td>3174</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>3168</td></tr>
+<td>3175</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>3169</td></tr>
+<td>3176</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>3171</td></tr>
+<td>3178</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>3172</td></tr>
+<td>3179</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3175</td></tr>
+<td>3182</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>3229</td></tr>
+<td>3236</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 107).</td>
-<td>3244</td></tr>
+<td>3251</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 108).</td>
-<td>3269</td></tr>
+<td>3276</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>3293</td></tr>
+<td>3300</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>3294</td></tr>
+<td>3301</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>3295</td></tr>
+<td>3302</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>3296</td></tr>
+<td>3303</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>3297</td></tr></table></div>
+<td>3304</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.shaded.protobuf.RequestConverter.java">org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java</h3>
 <table border="0" class="table table-striped">
@@ -66547,415 +66535,415 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>201</td></tr>
+<td>202</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>223</td></tr>
+<td>224</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>257</td></tr>
+<td>258</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>258</td></tr>
+<td>259</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>260</td></tr>
+<td>261</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>275</td></tr>
+<td>276</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>276</td></tr>
+<td>277</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>278</td></tr>
+<td>279</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>297</td></tr>
+<td>298</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>298</td></tr>
+<td>299</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>318</td></tr>
+<td>319</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>319</td></tr>
+<td>320</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>321</td></tr>
+<td>322</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>338</td></tr>
+<td>339</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>339</td></tr>
+<td>340</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>341</td></tr>
+<td>342</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>345</td></tr>
+<td>346</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>379</td></tr>
+<td>380</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>380</td></tr>
+<td>381</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>381</td></tr>
+<td>382</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>382</td></tr>
+<td>383</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>384</td></tr>
+<td>385</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>405</td></tr>
+<td>406</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>406</td></tr>
+<td>407</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>407</td></tr>
+<td>408</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>424</td></tr>
+<td>425</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>425</td></tr>
+<td>426</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>426</td></tr>
+<td>427</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>427</td></tr>
+<td>428</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>450</td></tr>
+<td>451</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>451</td></tr>
+<td>452</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>452</td></tr>
+<td>453</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>453</td></tr>
+<td>454</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>454</td></tr>
+<td>455</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>455</td></tr>
+<td>456</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
-<td>475</td></tr>
+<td>476</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>525</td></tr>
+<td>526</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'org' has incorrect indentation level 9, expected level should be 10.</td>
-<td>570</td></tr>
+<td>571</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>857</td></tr>
+<td>858</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>932</td></tr>
+<td>933</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>956</td></tr>
+<td>957</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>957</td></tr>
+<td>958</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>976</td></tr>
+<td>977</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>977</td></tr>
+<td>978</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>996</td></tr>
+<td>997</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>997</td></tr>
+<td>998</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1015</td></tr>
+<td>1016</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1016</td></tr>
+<td>1017</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1062</td></tr>
+<td>1063</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1074</td></tr>
+<td>1075</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1075</td></tr>
+<td>1076</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1089</td></tr>
+<td>1090</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1101</td></tr>
+<td>1102</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1138</td></tr>
+<td>1139</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1155</td></tr>
+<td>1156</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1172</td></tr>
+<td>1173</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1173</td></tr>
+<td>1174</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1196</td></tr>
+<td>1197</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1197</td></tr>
+<td>1198</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1216</td></tr>
+<td>1217</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1330</td></tr>
+<td>1331</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1331</td></tr>
+<td>1332</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1449</td></tr>
+<td>1450</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1495</td></tr>
+<td>1506</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1607</td></tr>
+<td>1618</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1619</td></tr>
+<td>1630</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1631</td></tr>
+<td>1642</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1642</td></tr>
+<td>1653</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>1645</td></tr></table></div>
+<td>1656</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter.java">org/apache/hadoop/hbase/shaded/protobuf/ResponseConverter.java</h3>
 <table border="0" class="table table-striped">
@@ -73705,56 +73693,50 @@
 <th>Line</th></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>UnusedImports</td>
-<td>Unused import - java.util.concurrent.ConcurrentLinkedQueue.</td>
-<td>30</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>81</td></tr>
-<tr class="b">
+<td>80</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>273</td></tr>
-<tr class="a">
+<td>253</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>274</td></tr>
-<tr class="b">
+<td>254</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>275</td></tr>
-<tr class="a">
+<td>255</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>276</td></tr>
-<tr class="b">
+<td>256</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>356</td></tr></table></div>
+<td>336</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.util.PositionedByteRange.java">org/apache/hadoop/hbase/util/PositionedByteRange.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -73763,31 +73745,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.util.PrettyPrinter.java">org/apache/hadoop/hbase/util/PrettyPrinter.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>HideUtilityClassConstructor</td>
 <td>Utility classes should not have a public or default constructor.</td>
 <td>34</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>75</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>76</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -73796,13 +73778,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.util.ProcessBasedLocalHBaseCluster.java">org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -73811,19 +73793,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.util.ReflectionUtils.java">org/apache/hadoop/hbase/util/ReflectionUtils.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'edu.umd.cs.findbugs.annotations.NonNull' import.</td>
 <td>35</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>HideUtilityClassConstructor</td>
@@ -73832,25 +73814,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.util.RegionMover.java">org/apache/hadoop/hbase/util/RegionMover.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>FinalClass</td>
 <td>Class RegionMover should be declared as final.</td>
 <td>82</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>183</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -73859,43 +73841,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.util.RegionSplitCalculator.java">org/apache/hadoop/hbase/util/RegionSplitCalculator.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes.ByteArrayComparator' import.</td>
... 120188 lines suppressed ...