You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2019/06/05 14:52:20 UTC

[hbase-site] branch asf-site updated: Published site at 5bc996e1de4a670bf18b6f4393d080cd93149d07.

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 8347232  Published site at 5bc996e1de4a670bf18b6f4393d080cd93149d07.
8347232 is described below

commit 83472327b0dcd40efe2f714601a69595ac217f13
Author: jenkins <bu...@apache.org>
AuthorDate: Wed Jun 5 14:52:03 2019 +0000

    Published site at 5bc996e1de4a670bf18b6f4393d080cd93149d07.
---
 acid-semantics.html                                |     2 +-
 apache_hbase_reference_guide.pdf                   |     4 +-
 apidocs/index-all.html                             |     3 +-
 apidocs/org/apache/hadoop/hbase/client/Admin.html  |   181 +-
 .../org/apache/hadoop/hbase/client/AsyncAdmin.html |   183 +-
 .../client/class-use/SnapshotDescription.html      |     3 +-
 .../class-use/SnapshotCreationException.html       |     3 +-
 .../org/apache/hadoop/hbase/client/Admin.html      |  1690 +-
 .../org/apache/hadoop/hbase/client/AsyncAdmin.html |  1475 +-
 book.html                                          |     2 +-
 bulk-loads.html                                    |     2 +-
 checkstyle-aggregate.html                          | 32050 +++++++++----------
 checkstyle.rss                                     |     4 +-
 coc.html                                           |     2 +-
 dependencies.html                                  |     2 +-
 dependency-convergence.html                        |     2 +-
 dependency-info.html                               |     2 +-
 dependency-management.html                         |     2 +-
 devapidocs/constant-values.html                    |     2 +-
 devapidocs/index-all.html                          |     3 +-
 .../org/apache/hadoop/hbase/client/Admin.html      |   181 +-
 .../org/apache/hadoop/hbase/client/AsyncAdmin.html |   183 +-
 .../hadoop/hbase/client/AsyncHBaseAdmin.html       |     7 +-
 .../org/apache/hadoop/hbase/client/HBaseAdmin.html |    21 +-
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.html    |     7 +-
 .../client/class-use/SnapshotDescription.html      |     3 +-
 .../hadoop/hbase/rsgroup/RSGroupAdminClient.html   |     2 +-
 .../hbase/rsgroup/class-use/RSGroupAdmin.html      |     2 +-
 .../class-use/SnapshotCreationException.html       |     3 +-
 .../hadoop/hbase/thrift2/client/ThriftAdmin.html   |    31 +-
 .../src-html/org/apache/hadoop/hbase/Version.html  |     2 +-
 .../org/apache/hadoop/hbase/client/Admin.html      |  1690 +-
 .../org/apache/hadoop/hbase/client/AsyncAdmin.html |  1475 +-
 .../hadoop/hbase/rsgroup/RSGroupAdminClient.html   |     2 +-
 .../hbase/tmpl/regionserver/RSStatusTmplImpl.html  |     2 +-
 .../tmpl/regionserver/RegionListTmplImpl.html      |   224 +-
 downloads.html                                     |    18 +-
 export_control.html                                |     2 +-
 index.html                                         |     2 +-
 issue-management.html                              |     2 +-
 licenses.html                                      |     2 +-
 mailing-lists.html                                 |     2 +-
 metrics.html                                       |     2 +-
 old_news.html                                      |     2 +-
 plugin-management.html                             |     2 +-
 plugins.html                                       |     2 +-
 poweredbyhbase.html                                |     2 +-
 project-info.html                                  |     2 +-
 project-reports.html                               |     2 +-
 pseudo-distributed.html                            |     2 +-
 replication.html                                   |     2 +-
 resources.html                                     |     2 +-
 scm.html                                           |     2 +-
 sponsors.html                                      |     2 +-
 summary.html                                       |     2 +-
 supportingprojects.html                            |     2 +-
 team.html                                          |     2 +-
 testdevapidocs/index-all.html                      |     6 +
 .../hadoop/hbase/TestCellUtil.CellForMockito.html  |   278 +
 .../hadoop/hbase/TestCellUtil.NonExtendedCell.html |    50 +-
 .../org/apache/hadoop/hbase/TestCellUtil.html      |    16 +-
 .../class-use/TestCellUtil.CellForMockito.html     |   125 +
 .../TestForeignExceptionSerialization.html         |    33 +-
 .../apache/hadoop/hbase/io/hfile/package-tree.html |     2 +-
 .../org/apache/hadoop/hbase/package-summary.html   |   186 +-
 .../org/apache/hadoop/hbase/package-tree.html      |    13 +-
 .../hadoop/hbase/procedure2/package-tree.html      |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html    |     4 +-
 .../org/apache/hadoop/hbase/test/package-tree.html |     2 +-
 .../org/apache/hadoop/hbase/wal/package-tree.html  |     4 +-
 testdevapidocs/overview-tree.html                  |     1 +
 ...nable.html => TestCellUtil.CellForMockito.html} |   153 +-
 .../hadoop/hbase/TestCellUtil.NonExtendedCell.html |   153 +-
 .../apache/hadoop/hbase/TestCellUtil.TestCell.html |   153 +-
 .../hbase/TestCellUtil.TestCellScannable.html      |   153 +-
 .../hadoop/hbase/TestCellUtil.TestCellScanner.html |   153 +-
 .../org/apache/hadoop/hbase/TestCellUtil.html      |   153 +-
 .../TestForeignExceptionSerialization.html         |   149 +-
 78 files changed, 20878 insertions(+), 20421 deletions(-)

diff --git a/acid-semantics.html b/acid-semantics.html
index 0855f5c..5252fda 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -449,7 +449,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-06-04</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-06-05</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 2c08cb5..852a1f2 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20190604144854+00'00')
-/CreationDate (D:20190604144854+00'00')
+/ModDate (D:20190605144754+00'00')
+/CreationDate (D:20190605144754+00'00')
 >>
 endobj
 2 0 obj
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 2a2eef2..cee526b 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -17403,8 +17403,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#snapshotAsync-org.apache.hadoop.hbase.client.SnapshotDescription-">snapshotAsync(SnapshotDescription)</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">Take a snapshot without waiting for the server to complete that snapshot (asynchronous) Only a
- single snapshot should be taken at a time, or results may be undefined.</div>
+<div class="block">Take a snapshot without waiting for the server to complete that snapshot (asynchronous).</div>
 </dd>
 <dt><a href="org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot"><span class="typeNameLink">SnapshotCreationException</span></a> - Exception in <a href="org/apache/hadoop/hbase/snapshot/package-summary.html">org.apache.hadoop.hbase.snapshot</a></dt>
 <dd>
diff --git a/apidocs/org/apache/hadoop/hbase/client/Admin.html b/apidocs/org/apache/hadoop/hbase/client/Admin.html
index 802b054..e683b8b 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Admin.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Admin.html
@@ -1262,8 +1262,7 @@ extends org.apache.hadoop.hbase.Abortable, <a href="https://docs.oracle.com/java
 <tr id="i175" 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#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) Only a
- single snapshot should be taken at a time, or results may be undefined.</div>
+<div class="block">Take a snapshot without waiting for the server to complete that snapshot (asynchronous).</div>
 </td>
 </tr>
 <tr id="i176" class="altColor">
@@ -3794,15 +3793,16 @@ 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.1348">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.1349">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>,
                       <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>
 <div class="block">Take a snapshot for the given table. If the table is enabled, a FLUSH-type snapshot will be
- taken. If the table is disabled, an offline snapshot is taken. Snapshots are considered unique
- based on <b>the name of the snapshot</b>. Attempts to take a snapshot with the same name (even
- a different type or with different parameters) will fail with a
+ taken. If the table is disabled, an offline snapshot is taken. Snapshots are taken
+ sequentially even when requested concurrently, across all tables. Snapshots are considered
+ unique based on <b>the name of the snapshot</b>. Attempts to take a snapshot with the same
+ name (even a different type or with different parameters) will fail with a
  <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot"><code>SnapshotCreationException</code></a> indicating the duplicate
  naming. Snapshot names follow the same naming constraints as tables in HBase. See
  <a href="../../../../../org/apache/hadoop/hbase/TableName.html#isLegalFullyQualifiedTableName-byte:A-"><code>TableName.isLegalFullyQualifiedTableName(byte[])</code></a>.</div>
@@ -3823,14 +3823,15 @@ 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.1367">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.1369">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>,
                       <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>
 <div class="block">Create typed snapshot of the table. Snapshots are considered unique based on <b>the name of the
- snapshot</b>. Attempts to take a snapshot with the same name (even a different type or with
+ snapshot</b>. Snapshots are taken sequentially even when requested concurrently, across
+ all tables. Attempts to take a snapshot with the same name (even a different type or with
  different parameters) will fail with a <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot"><code>SnapshotCreationException</code></a> indicating the
  duplicate naming. Snapshot names follow the same naming constraints as tables in HBase. See
  <a href="../../../../../org/apache/hadoop/hbase/TableName.html#isLegalFullyQualifiedTableName-byte:A-"><code>TableName.isLegalFullyQualifiedTableName(byte[])</code></a>.</div>
@@ -3853,17 +3854,16 @@ 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.1388">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.1389">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>
-<div class="block">Take a snapshot and wait for the server to complete that snapshot (blocking). Only a single
- snapshot should be taken at a time for an instance of HBase, or results may be undefined (you
- can tell multiple HBase clusters to snapshot at the same time, but only one at a time for a
- single cluster). Snapshots are considered unique based on <b>the name of the snapshot</b>.
- Attempts to take a snapshot with the same name (even a different type or with different
- parameters) will fail with a <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot"><code>SnapshotCreationException</code></a> indicating the duplicate naming.
- Snapshot names follow the same naming constraints as tables in HBase. See
+<div class="block">Take a snapshot and wait for the server to complete that snapshot (blocking). Snapshots are
+ considered unique based on <b>the name of the snapshot</b>. Snapshots are taken sequentially
+ even when requested concurrently, across all tables. Attempts to take a snapshot with the same
+ name (even a different type or with different parameters) will fail with a
+ <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot"><code>SnapshotCreationException</code></a> indicating the duplicate naming. Snapshot names follow the
+ same naming constraints as tables in HBase. See
  <a href="../../../../../org/apache/hadoop/hbase/TableName.html#isLegalFullyQualifiedTableName-byte:A-"><code>TableName.isLegalFullyQualifiedTableName(byte[])</code></a>. You should
  probably use <a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#snapshot-java.lang.String-org.apache.hadoop.hbase.TableName-"><code>snapshot(String, org.apache.hadoop.hbase.TableName)</code></a> unless you are sure
  about the type of snapshot that you want to take.</div>
@@ -3883,11 +3883,12 @@ 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.1400">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.1402">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) Only a
- single snapshot should be taken at a time, or results may be undefined.</div>
+<div class="block">Take a snapshot without waiting for the server to complete that snapshot (asynchronous).
+ Snapshots are considered unique based on <b>the name of the snapshot</b>. Snapshots are taken
+ sequentially even when requested concurrently, across all tables.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>snapshot</code> - snapshot to take</dd>
@@ -3904,7 +3905,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.1419">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.1421">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>
@@ -3933,7 +3934,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.1433">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.1435">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
@@ -3957,7 +3958,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.1448">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.1450">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>
@@ -3984,7 +3985,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.1467">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.1469">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>,
@@ -4013,7 +4014,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.1479">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.1481">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>,
@@ -4037,7 +4038,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.1494">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.1496">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>,
@@ -4063,7 +4064,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.1513">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.1515">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>
@@ -4091,7 +4092,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.1528">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.1530">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>,
@@ -4117,7 +4118,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.1541">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.1543">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>
@@ -4140,7 +4141,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.1555">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.1557">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>
@@ -4165,7 +4166,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.1569">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.1571">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>
@@ -4190,7 +4191,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.1578">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.1580">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>
@@ -4207,7 +4208,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.1587">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.1589">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>
@@ -4226,7 +4227,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.1597">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.1599">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
@@ -4248,7 +4249,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.1606">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.1608">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>
@@ -4265,7 +4266,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.1614">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.1616">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>
@@ -4282,7 +4283,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.1623">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.1625">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
@@ -4302,7 +4303,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.1632">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.1634">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>
@@ -4319,7 +4320,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.1640">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.1642">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>
@@ -4338,7 +4339,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorService</h4>
-<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.1658">coprocessorService</a>()</pre>
+<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.1660">coprocessorService</a>()</pre>
 <div class="block">Creates and returns a <code>RpcChannel</code> instance connected to the active
  master. <p> The obtained <code>RpcChannel</code> instance can be used to access
  a published coprocessor <code>Service</code> using standard protobuf service
@@ -4363,7 +4364,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorService</h4>
-<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.1683">coprocessorService</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<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.1685">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">Creates and returns a <code>RpcChannel</code> instance
  connected to the passed region server.
 
@@ -4395,7 +4396,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.1692">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.1694">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>
@@ -4413,7 +4414,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.1699">updateConfiguration</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1701">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>
@@ -4429,7 +4430,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.1706">getMasterInfoPort</a>()
+<pre>default&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1708">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>
@@ -4446,7 +4447,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.1715">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.1717">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>
@@ -4462,7 +4463,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.1725">splitSwitch</a>(boolean&nbsp;enabled,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1727">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>
@@ -4484,7 +4485,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.1735">mergeSwitch</a>(boolean&nbsp;enabled,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1737">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>
@@ -4506,7 +4507,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.1742">isSplitEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1744">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>
@@ -4523,7 +4524,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.1749">isMergeEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.1751">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>
@@ -4540,7 +4541,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.1757">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.1759">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>
@@ -4559,7 +4560,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.1769">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.1771">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>
@@ -4580,7 +4581,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.1786">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.1788">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.
@@ -4605,7 +4606,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.1803">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.1805">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>
@@ -4632,7 +4633,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.1811">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.1813">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>
@@ -4649,7 +4650,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.1826">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.1828">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>
@@ -4672,7 +4673,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.1833">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.1835">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>
@@ -4689,7 +4690,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.1847">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.1849">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>
@@ -4712,7 +4713,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.1854">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.1856">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>
@@ -4729,7 +4730,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.1868">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.1870">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/>
@@ -4752,7 +4753,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.1876">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.1878">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>
@@ -4771,7 +4772,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.1884">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.1886">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>
@@ -4790,7 +4791,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.1901">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.1903">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.
@@ -4815,7 +4816,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.1911">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.1913">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>
@@ -4836,7 +4837,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.1929">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.1931">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>
@@ -4857,7 +4858,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.1945">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.1947">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>
@@ -4874,7 +4875,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.1953">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.1955">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>
@@ -4893,7 +4894,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.1961">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.1963">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>
@@ -4912,7 +4913,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.1978">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.1980">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
@@ -4936,7 +4937,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.1987">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.1989">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>
@@ -4955,7 +4956,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.2005">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.2007">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
@@ -4977,7 +4978,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.2012">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.2014">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>
@@ -4994,7 +4995,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.2022">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.2024">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.
@@ -5015,7 +5016,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.2030">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.2032">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>
@@ -5032,7 +5033,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.2037">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.2039">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>
@@ -5049,7 +5050,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.2044">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.2046">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>
@@ -5066,7 +5067,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.2053">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.2055">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>
@@ -5087,7 +5088,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.2060">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.2062">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>
@@ -5104,7 +5105,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.2070">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.2072">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>
@@ -5123,7 +5124,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.2079">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.2081">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>
@@ -5144,7 +5145,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.2088">switchRpcThrottle</a>(boolean&nbsp;enable)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2090">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>
@@ -5163,7 +5164,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.2095">isRpcThrottleEnabled</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2097">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>
@@ -5180,7 +5181,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.2104">exceedThrottleQuotaSwitch</a>(boolean&nbsp;enable)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Admin.html#line.2106">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>
@@ -5200,7 +5201,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.21 [...]
+<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.21 [...]
                                      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>
@@ -5215,7 +5216,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>
@@ -5230,7 +5231,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.2124">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.2126">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>
@@ -5246,7 +5247,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.2131">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.2133">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>
@@ -5262,7 +5263,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.2141">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.2143">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>
@@ -5283,7 +5284,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.2148">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.2150">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>
@@ -5300,7 +5301,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.2157">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.2159">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>
@@ -5320,7 +5321,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.2167">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.2169">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>
@@ -5341,7 +5342,7 @@ default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hba
 <ul class="blockListLast">
 <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.2176">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.2178">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>
diff --git a/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html b/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
index f6a5b6a..1431903 100644
--- a/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
+++ b/apidocs/org/apache/hadoop/hbase/client/AsyncAdmin.html
@@ -2578,12 +2578,13 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshot</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/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.758">snapshot</a>(<a href="https://docs.oracle.com/ja [...]
+<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/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.759">snapshot</a>(<a href="https://docs.oracle.com/ja [...]
                                          <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Take a snapshot for the given table. If the table is enabled, a FLUSH-type snapshot will be
- taken. If the table is disabled, an offline snapshot is taken. Snapshots are considered unique
- based on <b>the name of the snapshot</b>. Attempts to take a snapshot with the same name (even
- a different type or with different parameters) will fail with a
+ taken. If the table is disabled, an offline snapshot is taken. Snapshots are taken
+ sequentially even when requested concurrently, across all tables. Snapshots are considered
+ unique based on <b>the name of the snapshot</b>. Attempts to take a snapshot with the same
+ name (even a different type or with different parameters) will fail with a
  <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot"><code>SnapshotCreationException</code></a> indicating the duplicate
  naming. Snapshot names follow the same naming constraints as tables in HBase. See
  <a href="../../../../../org/apache/hadoop/hbase/TableName.html#isLegalFullyQualifiedTableName-byte:A-"><code>TableName.isLegalFullyQualifiedTableName(byte[])</code></a>.</div>
@@ -2600,11 +2601,12 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshot</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/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.774">snapshot</a>(<a href="https://docs.oracle.com/ja [...]
+<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/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.776">snapshot</a>(<a href="https://docs.oracle.com/ja [...]
                                          <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)</pre>
 <div class="block">Create typed snapshot of the table. Snapshots are considered unique based on <b>the name of the
- snapshot</b>. Attempts to take a snapshot with the same name (even a different type or with
+ snapshot</b>. Snapshots are taken sequentially even when requested concurrently, across all
+ tables. Attempts to take a snapshot with the same name (even a different type or with
  different parameters) will fail with a
  <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot"><code>SnapshotCreationException</code></a> indicating the duplicate
  naming. Snapshot names follow the same naming constraints as tables in HBase. See
@@ -2624,11 +2626,10 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshot</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.792">snapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/ [...]
-<div class="block">Take a snapshot and wait for the server to complete that snapshot asynchronously. Only a single
- snapshot should be taken at a time for an instance of HBase, or results may be undefined (you
- can tell multiple HBase clusters to snapshot at the same time, but only one at a time for a
- single cluster). Snapshots are considered unique based on <b>the name of the snapshot</b>.
+<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.793">snapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/ [...]
+<div class="block">Take a snapshot and wait for the server to complete that snapshot asynchronously. Snapshots
+ are taken sequentially even when requested concurrently, across all tables. Snapshots are
+ considered unique based on <b>the name of the snapshot</b>.
  Attempts to take a snapshot with the same name (even a different type or with different
  parameters) will fail with a <a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotCreationException.html" title="class in org.apache.hadoop.hbase.snapshot"><code>SnapshotCreationException</code></a>
  indicating the duplicate naming. Snapshot names follow the same naming constraints as tables in
@@ -2647,7 +2648,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isSnapshotFinished</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.808">isSnapshotFinished</a>(<a href="../../../../../org/apac [...]
+<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.809">isSnapshotFinished</a>(<a href="../../../../../org/apac [...]
 <div class="block">Check the current state of the passed snapshot. There are three possible states:
  <ol>
  <li>running - returns <tt>false</tt></li>
@@ -2672,7 +2673,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</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.818">restoreSnapshot</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.819">restoreSnapshot</a>(<a href="https://docs.oracle.com/javase/8 [...]
 <div class="block">Restore the specified snapshot on the original table. (The table must be disabled) If the
  "hbase.snapshot.restore.take.failsafe.snapshot" configuration property is set to true, a
  snapshot of the current table is taken before executing the restore operation. In case of
@@ -2690,7 +2691,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</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/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.830">restoreSnapshot</a>(<a href="https://docs.oracle [...]
+<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/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.831">restoreSnapshot</a>(<a href="https://docs.oracle [...]
                                                 boolean&nbsp;takeFailSafeSnapshot)</pre>
 <div class="block">Restore the specified snapshot on the original table. (The table must be disabled) If
  'takeFailSafeSnapshot' is set to true, a snapshot of the current table is taken before
@@ -2711,7 +2712,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</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.846">restoreSnapshot</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.847">restoreSnapshot</a>(<a href="https://docs.oracle.com/javase/8 [...]
                                         boolean&nbsp;takeFailSafeSnapshot,
                                         boolean&nbsp;restoreAcl)</pre>
 <div class="block">Restore the specified snapshot on the original table. (The table must be disabled) If
@@ -2734,7 +2735,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneSnapshot</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/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.854">cloneSnapshot</a>(<a href="https://docs.oracle.c [...]
+<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/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.855">cloneSnapshot</a>(<a href="https://docs.oracle.c [...]
                                               <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Create a new table by cloning the snapshot content.</div>
 <dl>
@@ -2750,7 +2751,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneSnapshot</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.864">cloneSnapshot</a>(<a href="https://docs.oracle.com/javase/8/d [...]
+<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.865">cloneSnapshot</a>(<a href="https://docs.oracle.com/javase/8/d [...]
                                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                       boolean&nbsp;restoreAcl)</pre>
 <div class="block">Create a new table by cloning the snapshot content.</div>
@@ -2768,7 +2769,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listSnapshots</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/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;& [...]
+<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/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;& [...]
 <div class="block">List completed snapshots.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -2783,7 +2784,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listSnapshots</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/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;& [...]
+<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/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;& [...]
 <div class="block">List all the completed snapshots matching the given pattern.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2799,7 +2800,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableSnapshots</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/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;& [...]
+<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/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;& [...]
 <div class="block">List all the completed snapshots matching the given table name pattern.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2816,7 +2817,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableSnapshots</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/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;& [...]
+<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/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&gt;& [...]
                                                                 <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)</pre>
 <div class="block">List all the completed snapshots matching the given table name regular expression and snapshot
  name regular expression.</div>
@@ -2836,7 +2837,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteSnapshot</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.904">deleteSnapshot</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.905">deleteSnapshot</a>(<a href="https://docs.oracle.com/javase/8/ [...]
 <div class="block">Delete an existing snapshot.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2850,7 +2851,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteSnapshots</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.909">deleteSnapshots</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/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.910">deleteSnapshots</a>()</pre>
 <div class="block">Delete all existing snapshots.</div>
 </li>
 </ul>
@@ -2860,7 +2861,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteSnapshots</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.915">deleteSnapshots</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.916">deleteSnapshots</a>(<a href="https://docs.oracle.com/javase/8 [...]
 <div class="block">Delete existing snapshots whose names match the pattern passed.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2874,7 +2875,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTableSnapshots</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.921">deleteTableSnapshots</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.922">deleteTableSnapshots</a>(<a href="https://docs.oracle.com/jav [...]
 <div class="block">Delete all existing snapshots matching the given table name pattern.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2888,7 +2889,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTableSnapshots</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.929">deleteTableSnapshots</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.930">deleteTableSnapshots</a>(<a href="https://docs.oracle.com/jav [...]
                                              <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)</pre>
 <div class="block">Delete all existing snapshots matching the given table name regular expression and snapshot
  name regular expression.</div>
@@ -2905,7 +2906,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>execProcedure</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.940">execProcedure</a>(<a href="https://docs.oracle.com/javase/8/d [...]
+<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.941">execProcedure</a>(<a href="https://docs.oracle.com/javase/8/d [...]
                                       <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)</pre>
 <div class="block">Execute a distributed procedure on a cluster.</div>
@@ -2925,7 +2926,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>execProcedureWithReturn</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;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.952">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><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;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.953">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)</pre>
 <div class="block">Execute a distributed procedure on a cluster.</div>
@@ -2947,7 +2948,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isProcedureFinished</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.968">isProcedureFinished</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/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.969">isProcedureFinished</a>(<a href="https://docs.oracle.co [...]
                                                <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)</pre>
 <div class="block">Check the current state of the specified procedure. There are three possible states:
@@ -2974,7 +2975,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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>
-<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.981">abortProcedure</a>(long&nbsp;procId,
+<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.982">abortProcedure</a>(long&nbsp;procId,
                                                       boolean&nbsp;mayInterruptIfRunning)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.1.1 -- to be removed.</span></div>
 <div class="block">Abort a procedure
@@ -2995,7 +2996,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedures</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/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/AsyncAdmin.html#line.987">getProcedures</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/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/AsyncAdmin.html#line.988">getProcedures</a>()</pre>
 <div class="block">List procedures</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3009,7 +3010,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocks</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/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/AsyncAdmin.html#line.993">getLocks</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/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/AsyncAdmin.html#line.994">getLocks</a>()</pre>
 <div class="block">List locks.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3023,7 +3024,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>decommissionRegionServers</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.1003">decommissionRegionServers</a>(<a href="https://docs.oracle.c [...]
+<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.1004">decommissionRegionServers</a>(<a href="https://docs.oracle.c [...]
                                                   boolean&nbsp;offload)</pre>
 <div class="block">Mark region server(s) as decommissioned to prevent additional regions from getting
  assigned to them. Optionally unload the regions on the servers. If there are multiple servers
@@ -3042,7 +3043,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>listDecommissionedRegionServers</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">List region servers marked as decommissioned, which can not be assigned regions.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3056,7 +3057,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>recommissionRegionServer</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.1017">recommissionRegionServer</a>(<a href="../../../../../org/apa [...]
+<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.1018">recommissionRegionServer</a>(<a href="../../../../../org/apa [...]
                                                  <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)</pre>
 <div class="block">Remove decommission marker from a region server to allow regions assignments. Load regions onto
  the server if a list of regions is given. Region loading is asynchronous.</div>
@@ -3073,7 +3074,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</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/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1023">getClusterMetrics</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="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1024">getClusterMetrics</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>cluster status wrapped by <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>
@@ -3086,7 +3087,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</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/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1028">getClusterMetrics</a>(<a href="https://docs.oracle.com/javase/8/d [...]
+<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/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1029">getClusterMetrics</a>(<a href="https://docs.oracle.com/javase/8/d [...]
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>cluster status wrapped by <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>
@@ -3099,7 +3100,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaster</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="../../../../../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/AsyncAdmin.html#line.1033">getMaster</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="../../../../../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/AsyncAdmin.html#line.1034">getMaster</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>current master server name wrapped by <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>
@@ -3112,7 +3113,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getBackupMasters</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/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;&gt;&nbs [...]
+<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/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;&gt;&nbs [...]
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>current backup master list wrapped by <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>
@@ -3125,7 +3126,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServers</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/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;&gt;&nbs [...]
+<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/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;&gt;&nbs [...]
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>current live region servers list wrapped by <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>
@@ -3138,7 +3139,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterCoprocessorNames</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/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt [...]
+<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/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt [...]
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a list of master coprocessors wrapped by <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>
@@ -3151,7 +3152,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterInfoPort</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/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.1065">getMasterInfoPort</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/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.1066">getMasterInfoPort</a>()</pre>
 <div class="block">Get the info port of the current master if one is available.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3165,7 +3166,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</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.1073">shutdown</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/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.1074">shutdown</a>()</pre>
 <div class="block">Shuts down the HBase cluster.</div>
 </li>
 </ul>
@@ -3175,7 +3176,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>stopMaster</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.1078">stopMaster</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/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.1079">stopMaster</a>()</pre>
 <div class="block">Shuts down the current HBase master only.</div>
 </li>
 </ul>
@@ -3185,7 +3186,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>stopRegionServer</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.1084">stopRegionServer</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.1085">stopRegionServer</a>(<a href="../../../../../org/apache/hado [...]
 <div class="block">Stop the designated regionserver.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3199,7 +3200,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>updateConfiguration</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.1090">updateConfiguration</a>(<a href="../../../../../org/apache/h [...]
+<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.1091">updateConfiguration</a>(<a href="../../../../../org/apache/h [...]
 <div class="block">Update the configuration and trigger an online config change on the regionserver.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3213,7 +3214,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>updateConfiguration</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.1096">updateConfiguration</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/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.1097">updateConfiguration</a>()</pre>
 <div class="block">Update the configuration and trigger an online config change on all the masters and
  regionservers.</div>
 </li>
@@ -3224,7 +3225,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>rollWALWriter</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.1107">rollWALWriter</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="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.1108">rollWALWriter</a>(<a href="../../../../../org/apache/hadoop/ [...]
 <div class="block">Roll the log writer. I.e. for filesystem based write ahead logs, start writing to a new file.
  <p>
  When the returned CompletableFuture is done, it only means the rollWALWriter request was sent
@@ -3243,7 +3244,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>clearCompactionQueues</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.1114">clearCompactionQueues</a>(<a href="../../../../../org/apache [...]
+<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.1115">clearCompactionQueues</a>(<a href="../../../../../org/apache [...]
                                               <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)</pre>
 <div class="block">Clear compacting queues on a region server.</div>
 <dl>
@@ -3259,7 +3260,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionMetrics</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/RegionMetrics.html" title="interface in org.apache.hadoop.hbase">RegionMetrics</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/RegionMetrics.html" title="interface in org.apache.hadoop.hbase">RegionMetrics</a>&gt;&gt;&nbsp;<a href="../. [...]
 <div class="block">Get a list of <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 region seerver.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3275,7 +3276,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionMetrics</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/RegionMetrics.html" title="interface in org.apache.hadoop.hbase">RegionMetrics</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/RegionMetrics.html" title="interface in org.apache.hadoop.hbase">RegionMetrics</a>&gt;&gt;&nbsp;<a href="../. [...]
                                                         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Get a list of <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 region seerver for a table.</div>
 <dl>
@@ -3293,7 +3294,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isMasterInMaintenanceMode</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.1137">isMasterInMaintenanceMode</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.1138">isMasterInMaintenanceMode</a>()</pre>
 <div class="block">Check whether master is in maintenance mode</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3308,7 +3309,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionState</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="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1145">getCompactionState</a>(<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="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1146">getCompactionState</a>(<a href="../../../ [...]
 <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>
 <dl>
@@ -3325,7 +3326,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionState</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/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1156">getCompactionState</a>(<a href="../../../../../org/apa [...]
+<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/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1157">getCompactionState</a>(<a href="../../../../../org/apa [...]
                                                       <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a>&nbsp;compactType)</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>
@@ -3344,7 +3345,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionStateForRegion</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/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1165">getCompactionStateForRegion</a>(byte[]&nbsp;regionName)</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="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.1166">getCompactionStateForRegion</a>(byte[]&nbsp;regionName)</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>
 <dl>
@@ -3361,7 +3362,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestamp</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/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<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;&gt;&nbs [...]
+<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/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<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;&gt;&nbs [...]
 <div class="block">Get the timestamp of the last major compaction for the passed table.
  <p>
  The timestamp of the oldest HFile resulting from a major compaction of that table, or not
@@ -3380,7 +3381,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestampForRegion</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/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<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;&gt;&nbs [...]
+<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/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<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;&gt;&nbs [...]
 <div class="block">Get the timestamp of the last major compaction for the passed region.
  <p>
  The timestamp of the oldest HFile resulting from a major compaction of that region, or not
@@ -3399,7 +3400,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getSecurityCapabilities</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/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security">SecurityCapa [...]
+<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/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security">SecurityCapa [...]
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the list of supported security capabilities. The return value will be wrapped by a
@@ -3413,7 +3414,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>balancerSwitch</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/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.1198">balancerSwitch</a>(boolean&nbsp;on)</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.1199">balancerSwitch</a>(boolean&nbsp;on)</pre>
 <div class="block">Turn the load balancer on or off.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3429,7 +3430,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>balancerSwitch</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.1213">balancerSwitch</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.1214">balancerSwitch</a>(boolean&nbsp;on,
                                           boolean&nbsp;drainRITs)</pre>
 <div class="block">Turn the load balancer on or off.
  <p/>
@@ -3452,7 +3453,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>balance</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/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.1221">balance</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.1222">balance</a>()</pre>
 <div class="block">Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the
  reassignments. Can NOT run for various reasons. Check logs.</div>
 <dl>
@@ -3468,7 +3469,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>balance</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.1233">balance</a>(boolean&nbsp;forcible)</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.1234">balance</a>(boolean&nbsp;forcible)</pre>
 <div class="block">Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the
  reassignments. If there is region in transition, force parameter of true would still run
  balancer. Can *not* run for other reasons. Check logs.</div>
@@ -3487,7 +3488,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isBalancerEnabled</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.1240">isBalancerEnabled</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.1241">isBalancerEnabled</a>()</pre>
 <div class="block">Query the current state of the balancer.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3502,7 +3503,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>normalizerSwitch</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.1247">normalizerSwitch</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.1248">normalizerSwitch</a>(boolean&nbsp;on)</pre>
 <div class="block">Set region normalizer on/off.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3518,7 +3519,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isNormalizerEnabled</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.1254">isNormalizerEnabled</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.1255">isNormalizerEnabled</a>()</pre>
 <div class="block">Query the current state of the region normalizer</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3533,7 +3534,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1261">normalize</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.1262">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>
@@ -3548,7 +3549,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1268">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.1269">cleanerChoreSwitch</a>(boolean&nbsp;on)</pre>
 <div class="block">Turn the cleaner chore on/off.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3564,7 +3565,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1275">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.1276">isCleanerChoreEnabled</a>()</pre>
 <div class="block">Query the current state of the cleaner chore.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3579,7 +3580,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1282">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.1283">runCleanerChore</a>()</pre>
 <div class="block">Ask for cleaner chore to run.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3594,7 +3595,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1289">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.1290">catalogJanitorSwitch</a>(boolean&nbsp;on)</pre>
 <div class="block">Turn the catalog janitor on/off.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3610,7 +3611,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1296">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.1297">isCatalogJanitorEnabled</a>()</pre>
 <div class="block">Query on the catalog janitor state.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3625,7 +3626,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1303">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.1304">runCatalogJanitor</a>()</pre>
 <div class="block">Ask for a scan of the catalog table.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3640,7 +3641,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1324">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.1325">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>
@@ -3673,7 +3674,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1347">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.1348">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.
@@ -3708,7 +3709,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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>
@@ -3718,7 +3719,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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>
@@ -3734,7 +3735,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1373">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.1374">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
@@ -3753,7 +3754,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1382">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.1383">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>
@@ -3771,7 +3772,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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
@@ -3792,7 +3793,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1403">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.1404">switchRpcThrottle</a>(boolean&nbsp;enable)</pre>
 <div class="block">Switch the rpc throttle enabled state.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3808,7 +3809,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1409">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.1410">isRpcThrottleEnabled</a>()</pre>
 <div class="block">Get if the rpc throttle is enabled.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3822,7 +3823,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1417">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.1418">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>
@@ -3839,7 +3840,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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>
@@ -3849,7 +3850,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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>
@@ -3859,7 +3860,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1435">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.1436">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>
@@ -3870,7 +3871,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1441">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.1442">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>
@@ -3881,7 +3882,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1451">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.1452">grant</a>(org.apache.hadoop.hbase.security.access.UserPermis [...]
                               boolean&nbsp;mergeExistingPermissions)</pre>
 <div class="block">Grants user specific permissions</div>
 <dl>
@@ -3899,7 +3900,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1457">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.1458">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>
@@ -3913,7 +3914,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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.1466 [...]
+<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.1467 [...]
 <div class="block">Get the global/namespace/table permissions for user</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -3930,7 +3931,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <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>
@@ -3948,7 +3949,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockListLast">
 <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>
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/SnapshotDescription.html b/apidocs/org/apache/hadoop/hbase/client/class-use/SnapshotDescription.html
index fbc9c20..12f87ba 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/SnapshotDescription.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/SnapshotDescription.html
@@ -190,8 +190,7 @@
 <tr 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"><span class="typeNameLabel">Admin.</span><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) Only a
- single snapshot should be taken at a time, or results may be undefined.</div>
+<div class="block">Take a snapshot without waiting for the server to complete that snapshot (asynchronous).</div>
 </td>
 </tr>
 </tbody>
diff --git a/apidocs/org/apache/hadoop/hbase/snapshot/class-use/SnapshotCreationException.html b/apidocs/org/apache/hadoop/hbase/snapshot/class-use/SnapshotCreationException.html
index 85c3274..3fe65ac 100644
--- a/apidocs/org/apache/hadoop/hbase/snapshot/class-use/SnapshotCreationException.html
+++ b/apidocs/org/apache/hadoop/hbase/snapshot/class-use/SnapshotCreationException.html
@@ -128,8 +128,7 @@
 <tr 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"><span class="typeNameLabel">Admin.</span><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) Only a
- single snapshot should be taken at a time, or results may be undefined.</div>
+<div class="block">Take a snapshot without waiting for the server to complete that snapshot (asynchronous).</div>
 </td>
 </tr>
 </tbody>
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 c6432ac..b73a1fd 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
@@ -1341,850 +1341,852 @@
 <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>   * Take a snapshot for the given table. If the table is enabled, a FLUSH-type snapshot will be<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>   * taken. If the table is disabled, an offline snapshot is taken. Snapshots are considered unique<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>   * based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Attempts to take a snapshot with the same name (even<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>   * a different type or with different parameters) will fail with a<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>   * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>   * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>   * @param snapshotName name of the snapshot to be created<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>   * @param tableName name of the table for which snapshot is created<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>   * @throws IOException if a remote or network exception occurs<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>   * @throws org.apache.hadoop.hbase.snapshot.SnapshotCreationException if snapshot creation failed<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>   */<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>  default void snapshot(String snapshotName, TableName tableName)<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>      throws IOException, SnapshotCreationException, IllegalArgumentException {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>    snapshot(snapshotName, tableName, SnapshotType.FLUSH);<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>  }<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span><a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  /**<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>   * snapshot&lt;/b&gt;. Attempts to take a snapshot with the same name (even a different type or with<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>   * different parameters) will fail with a {@link SnapshotCreationException} indicating the<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>   * duplicate naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>   * @param snapshotName name to give the snapshot on the filesystem. Must be unique from all other<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>   *          snapshots stored on the cluster<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>   * @param tableName name of the table to snapshot<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>   * @param type type of snapshot to take<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>   * @throws IOException we fail to reach the master<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>   */<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>  default void snapshot(String snapshotName, TableName tableName, SnapshotType type)<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      throws IOException, SnapshotCreationException, IllegalArgumentException {<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>    snapshot(new SnapshotDescription(snapshotName, tableName, type));<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>  /**<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>   * Take a snapshot and wait for the server to complete that snapshot (blocking). Only a single<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>   * snapshot should be taken at a time for an instance of HBase, or results may be undefined (you<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>   * can tell multiple HBase clusters to snapshot at the same time, but only one at a time for a<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>   * single cluster). Snapshots are considered unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;.<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>   * Attempts to take a snapshot with the same name (even a different type or with different<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>   * parameters) will fail with a {@link SnapshotCreationException} indicating the duplicate naming.<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>   * Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}. You should<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>   * probably use {@link #snapshot(String, org.apache.hadoop.hbase.TableName)} unless you are sure<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>   * about the type of snapshot that you want to take.<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>   * @param snapshot snapshot to take<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>   * @throws IOException or we lose contact with the master.<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>   * @throws SnapshotCreationException if snapshot failed to be taken<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>   */<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>  void snapshot(SnapshotDescription snapshot)<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>      throws IOException, SnapshotCreationException, IllegalArgumentException;<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span><a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>  /**<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>   * Take a snapshot without waiting for the server to complete that snapshot (asynchronous) Only a<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>   * single snapshot should be taken at a time, or results may be undefined.<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>   *<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>   * @param snapshot snapshot to take<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>   * @throws IOException if the snapshot did not succeed or we lose contact with the master.<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>   */<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>  Future&lt;Void&gt; snapshotAsync(SnapshotDescription snapshot)<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>      throws IOException, SnapshotCreationException;<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span><a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>  /**<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>   * Check the current state of the passed snapshot. There are three possible states: &lt;ol&gt;<a name="line.1404"></a>
-<span class="sourceLineNo">1405</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.1405"></a>
-<span class="sourceLineNo">1406</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.1406"></a>
-<span class="sourceLineNo">1407</span>   * cluster only knows about the most recent snapshot. Therefore, if another snapshot has been<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>   * run/started since the snapshot you are checking, you will receive an {@link<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>   * org.apache.hadoop.hbase.snapshot.UnknownSnapshotException}.<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>   *<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>   * @param snapshot description of the snapshot to check<a name="line.1411"></a>
-<span class="sourceLineNo">1412</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.1412"></a>
-<span class="sourceLineNo">1413</span>   * running<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>   * @throws IOException if we have a network issue<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span>   * @throws org.apache.hadoop.hbase.snapshot.HBaseSnapshotException if the snapshot failed<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>   * @throws org.apache.hadoop.hbase.snapshot.UnknownSnapshotException if the requested snapshot is<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>   * unknown<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span>   */<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>  boolean isSnapshotFinished(SnapshotDescription snapshot)<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span>      throws IOException, HBaseSnapshotException, UnknownSnapshotException;<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>  /**<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If the<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>   * "hbase.snapshot.restore.take.failsafe.snapshot" configuration property is set to<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>   * &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken before executing the restore<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>   * operation. In case of restore failure, the failsafe snapshot will be restored. If the restore<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>   * completes without problem the failsafe snapshot is deleted.<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span>   * @param snapshotName name of the snapshot to restore<a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>   * @throws IOException if a remote or network exception occurs<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>   */<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>  void restoreSnapshot(String snapshotName) throws IOException, RestoreSnapshotException;<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span><a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>  /**<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>   * 'takeFailSafeSnapshot' is set to &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>   * before executing the restore operation. In case of restore failure, the failsafe snapshot will<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>   * be restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>   * failsafe snapshot name is configurable by using the property<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>   * @param snapshotName name of the snapshot to restore<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>   * @param takeFailSafeSnapshot &lt;code&gt;true&lt;/code&gt; if the failsafe snapshot should be taken<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span>   * @throws IOException if a remote or network exception occurs<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>   * @throws IllegalArgumentException if the restore 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 restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot)<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>      throws IOException, RestoreSnapshotException {<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>    restoreSnapshot(snapshotName, takeFailSafeSnapshot, false);<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>  }<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>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>   * 'takeFailSafeSnapshot' is set to &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>   * before executing the restore operation. In case of restore failure, the failsafe snapshot will<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>   * be restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>   * failsafe snapshot name is configurable by using the property<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>   * @param snapshotName name of the snapshot to restore<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>   * @param takeFailSafeSnapshot &lt;code&gt;true&lt;/code&gt; if the failsafe snapshot should be taken<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to restore acl of snapshot<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>   * @throws IOException if a remote or network exception occurs<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>   */<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>  void restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot, boolean restoreAcl)<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>      throws IOException, RestoreSnapshotException;<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span><a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>  /**<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>   * Create a new table by cloning the snapshot content.<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>   * @throws IOException if a remote or network exception occurs<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>   * @throws TableExistsException if table to be created already exists<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>   */<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span>  default void cloneSnapshot(String snapshotName, TableName tableName)<a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>      throws IOException, TableExistsException, RestoreSnapshotException {<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>    cloneSnapshot(snapshotName, tableName, false);<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>  }<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>   * Create a new table by cloning the snapshot content.<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to clone acl into newly created table<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>   * @throws IOException if a remote or network exception occurs<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>   * @throws TableExistsException if table to be created already exists<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>   */<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>  default void cloneSnapshot(String snapshotName, TableName tableName, boolean restoreAcl)<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>      throws IOException, TableExistsException, RestoreSnapshotException {<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>    get(cloneSnapshotAsync(snapshotName, tableName, restoreAcl), getSyncWaitTimeout(),<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span>      TimeUnit.MILLISECONDS);<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>  /**<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>   * Create a new table by cloning the snapshot content, but does not block and wait for it to be<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>   * completely cloned. You can use Future.get(long, TimeUnit) to wait on the operation to complete.<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span>   * It may throw ExecutionException if there was an error while executing the operation or<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>   * TimeoutException in case the wait timeout was not long enough to allow the operation to<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span>   * complete.<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>   * @throws IOException if a remote or network exception occurs<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>   * @throws TableExistsException if table to be cloned already exists<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>   * @return the result of the async clone snapshot. You can use Future.get(long, TimeUnit) to wait<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span>   *         on the operation to complete.<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>   */<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>  default Future&lt;Void&gt; cloneSnapshotAsync(String snapshotName, TableName tableName)<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>      throws IOException, TableExistsException {<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>    return cloneSnapshotAsync(snapshotName, tableName, false);<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>  /**<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>   * Create a new table by cloning the snapshot content.<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to clone acl into newly created table<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>   * @throws IOException if a remote or network exception occurs<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>   * @throws TableExistsException if table to be created already exists<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>   */<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>  Future&lt;Void&gt; cloneSnapshotAsync(String snapshotName, TableName tableName, boolean restoreAcl)<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>      throws IOException, TableExistsException, RestoreSnapshotException;<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>   * Execute a distributed procedure on a cluster.<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>   *<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>   * root ZK node name of the procedure).<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>   * optional.<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span>   * @throws IOException if a remote or network exception occurs<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>   */<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>  void execProcedure(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>      throws IOException;<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span><a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>  /**<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>   * Execute a distributed procedure on a cluster.<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>   *<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>   * root ZK node name of the procedure).<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>   * optional.<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>   * @return data returned after procedure execution. null if no return data.<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>  byte[] execProcedureWithReturn(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>      throws IOException;<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>   * Check the current state of the specified procedure. There are three possible states: &lt;ol&gt;<a name="line.1559"></a>
-<span class="sourceLineNo">1560</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.1560"></a>
-<span class="sourceLineNo">1561</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.1561"></a>
-<span class="sourceLineNo">1562</span>   *<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>   * @param signature The signature that uniquely identifies a procedure<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>   * @param instance The instance name of the procedure<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1565"></a>
-<span class="sourceLineNo">1566</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.1566"></a>
-<span class="sourceLineNo">1567</span>   * @throws IOException if the specified procedure finished with error<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>   */<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>  boolean isProcedureFinished(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>      throws IOException;<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>   * List completed snapshots.<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>   *<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>   * @return a list of snapshot descriptors for completed snapshots<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>   * @throws IOException if a network error occurs<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>   */<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>  List&lt;SnapshotDescription&gt; listSnapshots() throws IOException;<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span><a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>  /**<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>   * List all the completed snapshots matching the given pattern.<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>   *<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>   * @param pattern The compiled regular expression to match against<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>   * @return list of SnapshotDescription<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>  List&lt;SnapshotDescription&gt; listSnapshots(Pattern pattern) throws IOException;<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>   * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>   * name regular expression.<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>   * @return list of completed SnapshotDescription<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>   * @throws IOException if a remote or network exception occurs<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>   */<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>  List&lt;SnapshotDescription&gt; listTableSnapshots(Pattern tableNamePattern,<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>      Pattern snapshotNamePattern) throws IOException;<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span><a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>  /**<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>   * Delete an existing snapshot.<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>   *<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>   * @param snapshotName name of the snapshot<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>   * @throws IOException if a remote or network exception occurs<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>   */<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>  void deleteSnapshot(String snapshotName) throws IOException;<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span><a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>  /**<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>   * Delete existing snapshots whose names match the pattern passed.<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>   *<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>   * @param pattern pattern for names of the snapshot to match<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>  void deleteSnapshots(Pattern pattern) throws IOException;<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>   * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>   * name regular expression.<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>   * @throws IOException if a remote or network exception occurs<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>   */<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>  void deleteTableSnapshots(Pattern tableNamePattern, Pattern snapshotNamePattern)<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>      throws IOException;<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>   * Apply the new quota settings.<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span>   *<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>   * @param quota the quota settings<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>   * @throws IOException if a remote or network exception occurs<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>   */<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>  void setQuota(QuotaSettings quota) throws IOException;<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span><a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>  /**<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>   * List the quotas based on the filter.<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>   * @param filter the quota settings filter<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>   * @return the QuotaSetting list<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>   * @throws IOException if a remote or network exception occurs<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>   */<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  List&lt;QuotaSettings&gt; getQuota(QuotaFilter filter) throws IOException;<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span><a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>  /**<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>   * Creates and returns a {@link com.google.protobuf.RpcChannel} instance connected to the active<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>   * master. &lt;p&gt; The obtained {@link com.google.protobuf.RpcChannel} instance can be used to access<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>   * a published coprocessor {@link com.google.protobuf.Service} using standard protobuf service<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>   * invocations: &lt;/p&gt; &lt;div style="background-color: #cccccc; padding: 2px"&gt;<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>   * &lt;blockquote&gt;&lt;pre&gt;<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>   * CoprocessorRpcChannel channel = myAdmin.coprocessorService();<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>   * MyService.BlockingInterface service = MyService.newBlockingStub(channel);<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>   * MyCallRequest request = MyCallRequest.newBuilder()<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>   *     ...<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>   *     .build();<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>   * MyCallResponse response = service.myCall(null, request);<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>   * &lt;/pre&gt;&lt;/blockquote&gt;&lt;/div&gt;<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>   *<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>   * @return A MasterCoprocessorRpcChannel instance<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>   */<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>  CoprocessorRpcChannel coprocessorService();<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span><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>   * Creates and returns a {@link com.google.protobuf.RpcChannel} instance<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>   * connected to the passed region server.<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>   *<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>   * &lt;p&gt;<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>   * The obtained {@link com.google.protobuf.RpcChannel} instance can be used to access a published<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>   * coprocessor {@link com.google.protobuf.Service} using standard protobuf service invocations:<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>   * &lt;/p&gt;<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>   *<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>   * &lt;div style="background-color: #cccccc; padding: 2px"&gt;<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>   * &lt;blockquote&gt;&lt;pre&gt;<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>   * CoprocessorRpcChannel channel = myAdmin.coprocessorService(serverName);<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>   * MyService.BlockingInterface service = MyService.newBlockingStub(channel);<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>   * MyCallRequest request = MyCallRequest.newBuilder()<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>   *     ...<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>   *     .build();<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>   * MyCallResponse response = service.myCall(null, request);<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>   * &lt;/pre&gt;&lt;/blockquote&gt;&lt;/div&gt;<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>   *<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>   * @param serverName the server name to which the endpoint call is made<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>   * @return A RegionServerCoprocessorRpcChannel instance<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>   */<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>  CoprocessorRpcChannel coprocessorService(ServerName serverName);<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>  /**<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>   * Update the configuration and trigger an online config change<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>   * on the regionserver.<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>   * @param server : The server whose config needs to be updated.<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>  void updateConfiguration(ServerName server) 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>   * Update the configuration and trigger an online config change<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>   * on all the regionservers.<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>   * @throws IOException if a remote or network exception occurs<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>   */<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>  void updateConfiguration() throws IOException;<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span><a name="line.1700"></a>
-<span class="sourceLineNo">1701</span>  /**<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>   * Get the info port of the current master if one is available.<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>   * @return master info port<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>  default int getMasterInfoPort() throws IOException {<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_INFO_PORT)).getMasterInfoPort();<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>  }<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span><a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>  /**<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>   * Return the set of supported security capabilities.<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span>   * @throws IOException if a remote or network exception occurs<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>   * @throws UnsupportedOperationException<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>   */<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>  List&lt;SecurityCapability&gt; getSecurityCapabilities() throws IOException;<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span><a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>  /**<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>   * Turn the split switch on or off.<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>   * @param enabled enabled or not<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current split() call, if outstanding,<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>   *          to return.<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>   * @return Previous switch value<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>  boolean splitSwitch(boolean enabled, boolean synchronous) 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>   * Turn the merge switch on or off.<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>   * @param enabled enabled or not<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current merge() call, if outstanding,<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>   *          to return.<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>   * @return Previous switch value<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>   * @throws IOException if a remote or network exception occurs<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>   */<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>  boolean mergeSwitch(boolean enabled, boolean synchronous) throws IOException;<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span><a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>  /**<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>   * Query the current state of the split switch.<a name="line.1738"></a>
-<span class="sourceLineNo">1739</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.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>  boolean isSplitEnabled() throws IOException;<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span><a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>  /**<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>   * Query the current state of the merge switch.<a name="line.1745"></a>
-<span class="sourceLineNo">1746</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.1746"></a>
-<span class="sourceLineNo">1747</span>   * @throws IOException if a remote or network exception occurs<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>   */<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span>  boolean isMergeEnabled() throws IOException;<a name="line.1749"></a>
-<span class="sourceLineNo">1750</span><a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>  /**<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>   * Add a new replication peer for replicating data to slave cluster.<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span>   * @param peerId a short name that identifies the peer<a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>   * @param peerConfig configuration for the replication peer<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>   * @throws IOException if a remote or network exception occurs<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>   */<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>  default void addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>      throws IOException {<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>    addReplicationPeer(peerId, peerConfig, true);<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>  /**<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>   * Add a new replication peer for replicating data to slave cluster.<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>   * @param peerId a short name that identifies the peer<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span>   * @param peerConfig configuration for the replication peer<a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>   * @param enabled peer state, true if ENABLED and false if DISABLED<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>   * @throws IOException if a remote or network exception occurs<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>   */<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>  default void addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig, boolean enabled)<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>      throws IOException {<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>    get(addReplicationPeerAsync(peerId, peerConfig, enabled), getSyncWaitTimeout(),<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>      TimeUnit.MILLISECONDS);<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>  }<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>   * Add a new replication peer but does not block and wait for it.<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span>   * &lt;p/&gt;<a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>   * @param peerId a short name that identifies the peer<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>   * @param peerConfig configuration for the replication peer<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>   * @return the result of the async operation<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>   */<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>  default Future&lt;Void&gt; addReplicationPeerAsync(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>      throws IOException {<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>    return addReplicationPeerAsync(peerId, peerConfig, true);<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>  /**<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>   * Add a new replication peer but does not block and wait for it.<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>   * &lt;p&gt;<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>   * @param peerId a short name that identifies the peer<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>   * @param peerConfig configuration for the replication peer<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>   * @param enabled peer state, true if ENABLED and false if DISABLED<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>   * @return the result of the async operation<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>   */<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>  Future&lt;Void&gt; addReplicationPeerAsync(String peerId, ReplicationPeerConfig peerConfig,<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>      boolean enabled) throws IOException;<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span><a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>  /**<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>   * Remove a peer and stop the replication.<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>   * @param peerId a short name that identifies the peer<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>  default void removeReplicationPeer(String peerId) throws IOException {<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>    get(removeReplicationPeerAsync(peerId), getSyncWaitTimeout(),<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>      TimeUnit.MILLISECONDS);<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>  }<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span><a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>  /**<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>   * Remove a replication peer but does not block and wait for it.<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>   * &lt;p&gt;<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>   * @param peerId a short name that identifies the peer<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span>   * @return the result of the async operation<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>   */<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>  Future&lt;Void&gt; removeReplicationPeerAsync(String peerId) throws IOException;<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>   * Restart the replication stream to the specified peer.<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>   * @param peerId a short name that identifies the peer<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>   */<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>  default void enableReplicationPeer(String peerId) throws IOException {<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>    get(enableReplicationPeerAsync(peerId), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<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>  /**<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>   * Enable a replication peer but does not block and wait for it.<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>   * &lt;p&gt;<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>   * @param peerId a short name that identifies the peer<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>   * @return the result of the async operation<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>   */<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span>  Future&lt;Void&gt; enableReplicationPeerAsync(String peerId) throws IOException;<a name="line.1847"></a>
-<span class="sourceLineNo">1848</span><a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>  /**<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>   * Stop the replication stream to the specified peer.<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>   * @param peerId a short name that identifies the peer<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>  default void disableReplicationPeer(String peerId) throws IOException {<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>    get(disableReplicationPeerAsync(peerId), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>  }<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span><a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>  /**<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>   * Disable a replication peer but does not block and wait for it.<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>   * &lt;p/&gt;<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>   * @param peerId a short name that identifies the peer<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>   * @return the result of the async operation<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>   * @throws IOException 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>  Future&lt;Void&gt; disableReplicationPeerAsync(String peerId) 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>   * Returns the configured ReplicationPeerConfig for the specified peer.<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>   * @return ReplicationPeerConfig for the 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>  ReplicationPeerConfig getReplicationPeerConfig(String peerId) throws IOException;<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span><a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>  /**<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>   * Update the peerConfig for the specified peer.<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>   * @param peerId a short name that identifies the peer<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>   * @param peerConfig new config for the replication peer<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>   * @throws IOException if a remote or network exception occurs<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>   */<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>  default void updateReplicationPeerConfig(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>      throws IOException {<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>    get(updateReplicationPeerConfigAsync(peerId, peerConfig), getSyncWaitTimeout(),<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>      TimeUnit.MILLISECONDS);<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>  }<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span><a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>  /**<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>   * Update the peerConfig for the specified peer but does not block and wait for it.<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span>   * &lt;p/&gt;<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1895"></a>
-<span class="sourceLineNo">1896</span>   * @param peerId a short name that identifies the peer<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span>   * @param peerConfig new config for the replication peer<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span>   * @return the result of the async operation<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>   */<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>  Future&lt;Void&gt; updateReplicationPeerConfigAsync(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>      throws IOException;<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span><a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>  /**<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>   * Append the replicable table column family config from the specified peer.<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>   * @param id a short that identifies the cluster<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>   * @param tableCfs A map from tableName to column family names<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>   * @throws ReplicationException if tableCfs has conflict with existing config<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>   * @throws IOException if a remote or network exception occurs<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>   */<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>  default void appendReplicationPeerTableCFs(String id, Map&lt;TableName, List&lt;String&gt;&gt; tableCfs)<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>      throws ReplicationException, IOException {<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>    if (tableCfs == null) {<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>      throw new ReplicationException("tableCfs is null");<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>    }<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>    ReplicationPeerConfig peerConfig = getReplicationPeerConfig(id);<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>    ReplicationPeerConfig newPeerConfig =<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>      ReplicationPeerConfigUtil.appendTableCFsToReplicationPeerConfig(tableCfs, peerConfig);<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>    updateReplicationPeerConfig(id, newPeerConfig);<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>  }<a name="line.1920"></a>
-<span class="sourceLineNo">1921</span><a name="line.1921"></a>
-<span class="sourceLineNo">1922</span>  /**<a name="line.1922"></a>
-<span class="sourceLineNo">1923</span>   * Remove some table-cfs from config of the specified peer.<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span>   * @param id a short name that identifies the cluster<a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>   * @param tableCfs A map from tableName to column family names<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>   * @throws ReplicationException if tableCfs has conflict with existing config<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>   * @throws IOException if a remote or network exception occurs<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>   */<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>  default void removeReplicationPeerTableCFs(String id, Map&lt;TableName, List&lt;String&gt;&gt; tableCfs)<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>      throws ReplicationException, IOException {<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>    if (tableCfs == null) {<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>      throw new ReplicationException("tableCfs is null");<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>    }<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>    ReplicationPeerConfig peerConfig = getReplicationPeerConfig(id);<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>    ReplicationPeerConfig newPeerConfig =<a name="line.1935"></a>
-<span class="sourceLineNo">1936</span>      ReplicationPeerConfigUtil.removeTableCFsFromReplicationPeerConfig(tableCfs, peerConfig, id);<a name="line.1936"></a>
-<span class="sourceLineNo">1937</span>    updateReplicationPeerConfig(id, newPeerConfig);<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>  /**<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>   * Return a list of replication peers.<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span>   * @return a list of replication peers description<a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>   * @throws 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>  List&lt;ReplicationPeerDescription&gt; listReplicationPeers() 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>   * Return a list of replication peers.<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>   * @param pattern The compiled regular expression to match peer id<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>   * @return a list of replication peers description<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>   * @throws IOException if a remote or network exception occurs<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>   */<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>  List&lt;ReplicationPeerDescription&gt; listReplicationPeers(Pattern pattern) throws IOException;<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>   * Transit current cluster to a new state in a synchronous replication peer.<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>   * @param peerId a short name that identifies the peer<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>   * @param state a new state of current cluster<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>   * @throws IOException if a remote or network exception occurs<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>   */<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>  default void transitReplicationPeerSyncReplicationState(String peerId, SyncReplicationState state)<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>      throws IOException {<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>    get(transitReplicationPeerSyncReplicationStateAsync(peerId, state), getSyncWaitTimeout(),<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span>      TimeUnit.MILLISECONDS);<a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>  }<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span><a name="line.1966"></a>
-<span class="sourceLineNo">1967</span>  /**<a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>   * Transit current cluster to a new state in a synchronous replication peer. But does not block<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>   * and wait for it.<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>   * &lt;p&gt;<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1972"></a>
-<span class="sourceLineNo">1973</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1973"></a>
-<span class="sourceLineNo">1974</span>   * @param peerId a short name that identifies the peer<a name="line.1974"></a>
-<span class="sourceLineNo">1975</span>   * @param state a new state of current cluster<a name="line.1975"></a>
-<span class="sourceLineNo">1976</span>   * @throws IOException if a remote or network exception occurs<a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>   */<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>  Future&lt;Void&gt; transitReplicationPeerSyncReplicationStateAsync(String peerId,<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span>      SyncReplicationState state) throws IOException;<a name="line.1979"></a>
-<span class="sourceLineNo">1980</span><a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>  /**<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>   * Get the current cluster state in a synchronous replication peer.<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 current cluster state<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>  default SyncReplicationState getReplicationPeerSyncReplicationState(String peerId)<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>      throws IOException {<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>    List&lt;ReplicationPeerDescription&gt; peers = listReplicationPeers(Pattern.compile(peerId));<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>    if (peers.isEmpty() || !peers.get(0).getPeerId().equals(peerId)) {<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span>      throw new IOException("Replication peer " + peerId + " does not exist");<a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>    }<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>    return peers.get(0).getSyncReplicationState();<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>  }<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span><a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>  /**<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>   * Mark region server(s) as decommissioned to prevent additional regions from getting<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span>   * assigned to them. Optionally unload the regions on the servers. If there are multiple servers<a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>   * to be decommissioned, decommissioning them at the same time can prevent wasteful region<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>   * movements. Region unloading is asynchronous.<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>   * @param servers The list of servers to decommission.<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>   * @param offload True to offload the regions from the decommissioned servers<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>   * @throws IOException if a remote or network exception occurs<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>   */<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>  void decommissionRegionServers(List&lt;ServerName&gt; servers, boolean offload) throws IOException;<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span><a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>  /**<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>   * List region servers marked as decommissioned, which can not be assigned regions.<a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>   * @return List of decommissioned region servers.<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>   * @throws IOException if a remote or network exception occurs<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>   */<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>  List&lt;ServerName&gt; listDecommissionedRegionServers() throws IOException;<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span><a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>  /**<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>   * Remove decommission marker from a region server to allow regions assignments.<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span>   * Load regions onto the server if a list of regions is given. Region loading is<a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>   * asynchronous.<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>   * @param server The server to recommission.<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>   * @param encodedRegionNames Regions to load onto the server.<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>   * @throws IOException if a remote or network exception occurs<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>   */<a name="line.2021"></a>
-<span class="sourceLineNo">2022</span>  void recommissionRegionServer(ServerName server, List&lt;byte[]&gt; encodedRegionNames)<a name="line.2022"></a>
-<span class="sourceLineNo">2023</span>      throws IOException;<a name="line.2023"></a>
-<span class="sourceLineNo">2024</span><a name="line.2024"></a>
-<span class="sourceLineNo">2025</span>  /**<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span>   * Find all table and column families that are replicated from this cluster<a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>   * @return the replicated table-cfs list of this cluster.<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>  List&lt;TableCFs&gt; listReplicatedTableCFs() throws IOException;<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span><a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>  /**<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>   * Enable a table's replication switch.<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>   * @param tableName name of the table<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>   * @throws IOException if a remote or network exception occurs<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>   */<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>  void enableTableReplication(TableName tableName) throws IOException;<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span><a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>  /**<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>   * Disable a table's replication switch.<a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>   * @param tableName name of the table<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>  void disableTableReplication(TableName tableName) throws IOException;<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span><a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>  /**<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>   * Clear compacting queues on a regionserver.<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>   * @param serverName the region server name<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>   * @param queues the set of queue name<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>   * @throws IOException if a remote or network exception occurs<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span>   * @throws InterruptedException<a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>   */<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span>  void clearCompactionQueues(ServerName serverName, Set&lt;String&gt; queues)<a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>    throws IOException, InterruptedException;<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span><a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>  /**<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>   * List dead region servers.<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span>   * @return List of dead region servers.<a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>   */<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>  default List&lt;ServerName&gt; listDeadServers() throws IOException {<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>    return getClusterMetrics(EnumSet.of(Option.DEAD_SERVERS)).getDeadServerNames();<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>  }<a name="line.2062"></a>
-<span class="sourceLineNo">2063</span><a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>  /**<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>   * Clear dead region servers from master.<a name="line.2065"></a>
-<span class="sourceLineNo">2066</span>   * @param servers list of dead region servers.<a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>   * @throws IOException if a remote or network exception occurs<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>   * @return List of servers that are not cleared<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>   */<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>  List&lt;ServerName&gt; clearDeadServers(List&lt;ServerName&gt; servers) throws IOException;<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>   * Create a new table by cloning the existent table schema.<a name="line.2073"></a>
-<span class="sourceLineNo">2074</span>   * @param tableName name of the table to be cloned<a name="line.2074"></a>
-<span class="sourceLineNo">2075</span>   * @param newTableName name of the new table where the table will be created<a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>   * @param preserveSplits True if the splits should be preserved<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span>   * @throws IOException if a remote or network exception occurs<a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>   */<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span>  void cloneTableSchema(TableName tableName, TableName newTableName, boolean preserveSplits)<a name="line.2079"></a>
-<span class="sourceLineNo">2080</span>      throws IOException;<a name="line.2080"></a>
-<span class="sourceLineNo">2081</span><a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>  /**<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>   * Switch the rpc throttle enable state.<a name="line.2083"></a>
-<span class="sourceLineNo">2084</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.2084"></a>
-<span class="sourceLineNo">2085</span>   * @return Previous rpc throttle enabled value<a name="line.2085"></a>
-<span class="sourceLineNo">2086</span>   * @throws IOException if a remote or network exception occurs<a name="line.2086"></a>
-<span class="sourceLineNo">2087</span>   */<a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>  boolean switchRpcThrottle(boolean enable) throws IOException;<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span><a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>  /**<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span>   * Get if the rpc throttle is enabled.<a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>   * @return True if rpc throttle is enabled<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span>   * @throws IOException if a remote or network exception occurs<a name="line.2093"></a>
-<span class="sourceLineNo">2094</span>   */<a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>  boolean isRpcThrottleEnabled() throws IOException;<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span><a name="line.2096"></a>
-<span class="sourceLineNo">2097</span>  /**<a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>   * Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span>   * can be exceeded if region server has availble quota.<a name="line.2099"></a>
-<span class="sourceLineNo">2100</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.2100"></a>
-<span class="sourceLineNo">2101</span>   * @return Previous exceed throttle enabled value<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>   * @throws IOException if a remote or network exception occurs<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>   */<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span>  boolean exceedThrottleQuotaSwitch(final boolean enable) throws IOException;<a name="line.2104"></a>
-<span class="sourceLineNo">2105</span><a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>  /**<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>   * @throws IOException if a remote or network exception occurs<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>   */<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span>  Map&lt;TableName, Long&gt; getSpaceQuotaTableSizes() throws IOException;<a name="line.2110"></a>
-<span class="sourceLineNo">2111</span><a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>  /**<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>   * Fetches the observed {@link SpaceQuotaSnapshotView}s observed by a RegionServer.<a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>   * @throws IOException if a remote or network exception occurs<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>   */<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>  Map&lt;TableName, ? extends SpaceQuotaSnapshotView&gt; getRegionServerSpaceQuotaSnapshots(<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>      ServerName serverName) throws IOException;<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span><a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>  /**<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the Master has<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>   * no quota information on that namespace.<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>  SpaceQuotaSnapshotView getCurrentSpaceQuotaSnapshot(String namespace) 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>   * Returns the Master's view of a quota on the given {@code tableName} or null if the Master has<a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>   * no quota information on that table.<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>  SpaceQuotaSnapshotView getCurrentSpaceQuotaSnapshot(TableName tableName) 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>   * Grants user specific permissions<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>   * @param userPermission user name and the specific permission<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>   * @param mergeExistingPermissions If set to false, later granted permissions will override<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>   *          previous granted permissions. otherwise, it'll merge with previous granted<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>   *          permissions.<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 grant(UserPermission userPermission, boolean mergeExistingPermissions) throws IOException;<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span><a name="line.2142"></a>
-<span class="sourceLineNo">2143</span>  /**<a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>   * Revokes user specific permissions<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>   * @param userPermission user name and the specific permission<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span>   * @throws IOException if a remote or network exception occurs<a name="line.2146"></a>
-<span class="sourceLineNo">2147</span>   */<a name="line.2147"></a>
-<span class="sourceLineNo">2148</span>  void revoke(UserPermission userPermission) throws IOException;<a name="line.2148"></a>
-<span class="sourceLineNo">2149</span><a name="line.2149"></a>
-<span class="sourceLineNo">2150</span>  /**<a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>   * Get the global/namespace/table permissions for user<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>   * @param getUserPermissionsRequest A request contains which user, global, namespace or table<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>   *          permissions needed<a name="line.2153"></a>
-<span class="sourceLineNo">2154</span>   * @return The user and permission list<a name="line.2154"></a>
-<span class="sourceLineNo">2155</span>   * @throws IOException if a remote or network exception occurs<a name="line.2155"></a>
-<span class="sourceLineNo">2156</span>   */<a name="line.2156"></a>
-<span class="sourceLineNo">2157</span>  List&lt;UserPermission&gt; getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest)<a name="line.2157"></a>
-<span class="sourceLineNo">2158</span>      throws IOException;<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span><a name="line.2159"></a>
-<span class="sourceLineNo">2160</span>  /**<a name="line.2160"></a>
-<span class="sourceLineNo">2161</span>   * Check if the user has specific permissions<a name="line.2161"></a>
-<span class="sourceLineNo">2162</span>   * @param userName the user name<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>   * @param permissions the specific permission list<a name="line.2163"></a>
-<span class="sourceLineNo">2164</span>   * @return True if user has the specific permissions<a name="line.2164"></a>
-<span class="sourceLineNo">2165</span>   * @throws IOException if a remote or network exception occurs<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>   */<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span>  List&lt;Boolean&gt; hasUserPermissions(String userName, List&lt;Permission&gt; permissions)<a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>      throws IOException;<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span><a name="line.2169"></a>
-<span class="sourceLineNo">2170</span>  /**<a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>   * Check if call user has specific permissions<a name="line.2171"></a>
-<span class="sourceLineNo">2172</span>   * @param permissions the specific permission list<a name="line.2172"></a>
-<span class="sourceLineNo">2173</span>   * @return True if user has the specific permissions<a name="line.2173"></a>
-<span class="sourceLineNo">2174</span>   * @throws IOException if a remote or network exception occurs<a name="line.2174"></a>
-<span class="sourceLineNo">2175</span>   */<a name="line.2175"></a>
-<span class="sourceLineNo">2176</span>  default List&lt;Boolean&gt; hasUserPermissions(List&lt;Permission&gt; permissions) throws IOException {<a name="line.2176"></a>
-<span class="sourceLineNo">2177</span>    return hasUserPermissions(null, permissions);<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">1336</span>   * taken. If the table is disabled, an offline snapshot is taken. Snapshots are taken<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>   * sequentially even when requested concurrently, across all tables. Snapshots are considered<a name="line.1337"></a>
+<span class="sourceLineNo">1338</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.1338"></a>
+<span class="sourceLineNo">1339</span>   * name (even a different type or with different parameters) will fail with a<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>   * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>   * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>   * @param snapshotName name of the snapshot to be created<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>   * @param tableName name of the table for which snapshot is created<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>   * @throws IOException if a remote or network exception occurs<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>   * @throws org.apache.hadoop.hbase.snapshot.SnapshotCreationException if snapshot creation failed<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>   */<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>  default void snapshot(String snapshotName, TableName tableName)<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>      throws IOException, SnapshotCreationException, IllegalArgumentException {<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>    snapshot(snapshotName, tableName, SnapshotType.FLUSH);<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>  }<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span><a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>  /**<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>   * snapshot&lt;/b&gt;. Snapshots are taken sequentially even when requested concurrently, across<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>   * all tables. Attempts to take a snapshot with the same name (even a different type or with<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>   * different parameters) will fail with a {@link SnapshotCreationException} indicating the<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>   * duplicate naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>   * @param snapshotName name to give the snapshot on the filesystem. Must be unique from all other<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>   *          snapshots stored on the cluster<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>   * @param tableName name of the table to snapshot<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>   * @param type type of snapshot to take<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>   * @throws IOException we fail to reach the master<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>   */<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>  default void snapshot(String snapshotName, TableName tableName, SnapshotType type)<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>      throws IOException, SnapshotCreationException, IllegalArgumentException {<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>    snapshot(new SnapshotDescription(snapshotName, tableName, type));<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>  }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span><a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>  /**<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>   * Take a snapshot and wait for the server to complete that snapshot (blocking). Snapshots are<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>   * considered unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Snapshots are taken sequentially<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>   * even when requested concurrently, across all tables. Attempts to take a snapshot with the same<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>   * name (even a different type or with different parameters) will fail with a<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>   * {@link SnapshotCreationException} indicating the duplicate naming. Snapshot names follow the<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>   * same naming constraints as tables in HBase. See<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}. You should<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>   * probably use {@link #snapshot(String, org.apache.hadoop.hbase.TableName)} unless you are sure<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>   * about the type of snapshot that you want to take.<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>   * @param snapshot snapshot to take<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>   * @throws IOException or we lose contact with the master.<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>   * @throws SnapshotCreationException if snapshot failed to be taken<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>   */<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>  void snapshot(SnapshotDescription snapshot)<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>      throws IOException, SnapshotCreationException, IllegalArgumentException;<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>   * Take a snapshot without waiting for the server to complete that snapshot (asynchronous).<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>   * Snapshots are considered unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Snapshots are taken<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>   * sequentially even when requested concurrently, across all tables.<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>   *<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>   * @param snapshot snapshot to take<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>   * @throws IOException if the snapshot did not succeed or we lose contact with the master.<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>   * @throws SnapshotCreationException if snapshot creation failed<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>   * @throws IllegalArgumentException if the snapshot request is formatted incorrectly<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>   */<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>  Future&lt;Void&gt; snapshotAsync(SnapshotDescription snapshot)<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>      throws IOException, SnapshotCreationException;<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span><a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>  /**<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>   * Check the current state of the passed snapshot. There are three possible states: &lt;ol&gt;<a name="line.1406"></a>
+<span class="sourceLineNo">1407</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.1407"></a>
+<span class="sourceLineNo">1408</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.1408"></a>
+<span class="sourceLineNo">1409</span>   * cluster only knows about the most recent snapshot. Therefore, if another snapshot has been<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>   * run/started since the snapshot you are checking, you will receive an {@link<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>   * org.apache.hadoop.hbase.snapshot.UnknownSnapshotException}.<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>   *<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>   * @param snapshot description of the snapshot to check<a name="line.1413"></a>
+<span class="sourceLineNo">1414</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.1414"></a>
+<span class="sourceLineNo">1415</span>   * running<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span>   * @throws IOException if we have a network issue<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>   * @throws org.apache.hadoop.hbase.snapshot.HBaseSnapshotException if the snapshot failed<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>   * @throws org.apache.hadoop.hbase.snapshot.UnknownSnapshotException if the requested snapshot is<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>   * unknown<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>   */<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>  boolean isSnapshotFinished(SnapshotDescription snapshot)<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>      throws IOException, HBaseSnapshotException, UnknownSnapshotException;<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>   * Restore the specified snapshot on the original table. (The table must be disabled) If the<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>   * "hbase.snapshot.restore.take.failsafe.snapshot" configuration property is set to<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>   * &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken before executing the restore<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span>   * operation. In case of restore failure, the failsafe snapshot will be restored. If the restore<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span>   * completes without problem the failsafe snapshot is deleted.<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>   * @param snapshotName name of the snapshot to restore<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>   * @throws IOException if a remote or network exception occurs<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>   */<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>  void restoreSnapshot(String snapshotName) throws IOException, RestoreSnapshotException;<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span><a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>  /**<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>   * 'takeFailSafeSnapshot' is set to &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>   * before executing the restore operation. In case of restore failure, the failsafe snapshot will<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>   * be restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>   * failsafe snapshot name is configurable by using the property<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>   * @param snapshotName name of the snapshot to restore<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>   * @param takeFailSafeSnapshot &lt;code&gt;true&lt;/code&gt; if the failsafe snapshot should be taken<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span>   * @throws IOException if a remote or network exception occurs<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>   */<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>  default void restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot)<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>      throws IOException, RestoreSnapshotException {<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>    restoreSnapshot(snapshotName, takeFailSafeSnapshot, false);<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>  /**<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>   * 'takeFailSafeSnapshot' is set to &lt;code&gt;true&lt;/code&gt;, a snapshot of the current table is taken<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>   * before executing the restore operation. In case of restore failure, the failsafe snapshot will<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>   * be restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>   * failsafe snapshot name is configurable by using the property<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>   * @param snapshotName name of the snapshot to restore<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>   * @param takeFailSafeSnapshot &lt;code&gt;true&lt;/code&gt; if the failsafe snapshot should be taken<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to restore acl of snapshot<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>   * @throws IOException if a remote or network exception occurs<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>   * @throws RestoreSnapshotException if snapshot failed to be restored<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>   * @throws IllegalArgumentException if the restore request is formatted incorrectly<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>   */<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>  void restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot, boolean restoreAcl)<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>      throws IOException, RestoreSnapshotException;<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span><a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>  /**<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>   * Create a new table by cloning the snapshot content.<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>   * @throws IOException if a remote or network exception occurs<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>   * @throws TableExistsException if table to be created already exists<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>   */<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>  default void cloneSnapshot(String snapshotName, TableName tableName)<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>      throws IOException, TableExistsException, RestoreSnapshotException {<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span>    cloneSnapshot(snapshotName, tableName, false);<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>  }<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span><a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>  /**<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>   * Create a new table by cloning the snapshot content.<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to clone acl into newly created table<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>   * @throws IOException if a remote or network exception occurs<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span>   * @throws TableExistsException if table to be created already exists<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>   */<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>  default void cloneSnapshot(String snapshotName, TableName tableName, boolean restoreAcl)<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span>      throws IOException, TableExistsException, RestoreSnapshotException {<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span>    get(cloneSnapshotAsync(snapshotName, tableName, restoreAcl), getSyncWaitTimeout(),<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>      TimeUnit.MILLISECONDS);<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>  }<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span><a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>  /**<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>   * Create a new table by cloning the snapshot content, but does not block and wait for it to be<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>   * completely cloned. You can use Future.get(long, TimeUnit) to wait on the operation to complete.<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>   * It may throw ExecutionException if there was an error while executing the operation or<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>   * TimeoutException in case the wait timeout was not long enough to allow the operation to<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span>   * complete.<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>   * @throws IOException if a remote or network exception occurs<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>   * @throws TableExistsException if table to be cloned already exists<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>   * @return the result of the async clone snapshot. You can use Future.get(long, TimeUnit) to wait<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span>   *         on the operation to complete.<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>   */<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>  default Future&lt;Void&gt; cloneSnapshotAsync(String snapshotName, TableName tableName)<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span>      throws IOException, TableExistsException {<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span>    return cloneSnapshotAsync(snapshotName, tableName, false);<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>  }<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span><a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>  /**<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span>   * Create a new table by cloning the snapshot content.<a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to clone acl into newly created table<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>   * @throws IOException if a remote or network exception occurs<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>   * @throws TableExistsException if table to be created already exists<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>   * @throws RestoreSnapshotException if snapshot failed to be cloned<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>   * @throws IllegalArgumentException if the specified table has not a valid name<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span>   */<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span>  Future&lt;Void&gt; cloneSnapshotAsync(String snapshotName, TableName tableName, boolean restoreAcl)<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>      throws IOException, TableExistsException, RestoreSnapshotException;<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span><a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>  /**<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span>   * Execute a distributed procedure on a cluster.<a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>   *<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span>   * root ZK node name of the procedure).<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>   * optional.<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span>   * @throws IOException if a remote or network exception occurs<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span>   */<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span>  void execProcedure(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>      throws IOException;<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span><a name="line.1545"></a>
+<span class="sourceLineNo">1546</span>  /**<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span>   * Execute a distributed procedure on a cluster.<a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>   *<a name="line.1548"></a>
+<span class="sourceLineNo">1549</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span>   * root ZK node name of the procedure).<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>   * optional.<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span>   * @return data returned after procedure execution. null if no return data.<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>   * @throws IOException if a remote or network exception occurs<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>   */<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>  byte[] execProcedureWithReturn(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>      throws IOException;<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>   * Check the current state of the specified procedure. There are three possible states: &lt;ol&gt;<a name="line.1561"></a>
+<span class="sourceLineNo">1562</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.1562"></a>
+<span class="sourceLineNo">1563</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.1563"></a>
+<span class="sourceLineNo">1564</span>   *<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>   * @param signature The signature that uniquely identifies a procedure<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>   * @param instance The instance name of the procedure<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.1567"></a>
+<span class="sourceLineNo">1568</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.1568"></a>
+<span class="sourceLineNo">1569</span>   * @throws IOException if the specified procedure finished with error<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>   */<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span>  boolean isProcedureFinished(String signature, String instance, Map&lt;String, String&gt; props)<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>      throws IOException;<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span><a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>  /**<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>   * List completed snapshots.<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>   *<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>   * @return a list of snapshot descriptors for completed snapshots<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>   * @throws IOException if a network error occurs<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>   */<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>  List&lt;SnapshotDescription&gt; listSnapshots() throws IOException;<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>   * List all the completed snapshots matching the given pattern.<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>   *<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>   * @param pattern The compiled regular expression to match against<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>   * @return list of SnapshotDescription<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>   * @throws IOException if a remote or network exception occurs<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>   */<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>  List&lt;SnapshotDescription&gt; listSnapshots(Pattern pattern) throws IOException;<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span><a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>  /**<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>   * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>   * name regular expression.<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>   * @return list of completed SnapshotDescription<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>   * @throws IOException if a remote or network exception occurs<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>   */<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>  List&lt;SnapshotDescription&gt; listTableSnapshots(Pattern tableNamePattern,<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>      Pattern snapshotNamePattern) throws IOException;<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>   * Delete an existing snapshot.<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>   *<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>   * @param snapshotName name of the snapshot<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>   * @throws IOException if a remote or network exception occurs<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>   */<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>  void deleteSnapshot(String snapshotName) throws IOException;<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span><a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>  /**<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>   * Delete existing snapshots whose names match the pattern passed.<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>   *<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>   * @param pattern pattern for names of the snapshot to match<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>   * @throws IOException if a remote or network exception occurs<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>   */<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>  void deleteSnapshots(Pattern pattern) throws IOException;<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>   * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>   * name regular expression.<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<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>  void deleteTableSnapshots(Pattern tableNamePattern, Pattern snapshotNamePattern)<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>      throws IOException;<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span><a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>  /**<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>   * Apply the new quota settings.<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>   *<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>   * @param quota the quota settings<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>   * @throws IOException if a remote or network exception occurs<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>   */<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>  void setQuota(QuotaSettings quota) throws IOException;<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>   * List the quotas based on the filter.<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>   * @param filter the quota settings filter<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>   * @return the QuotaSetting list<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>   * @throws IOException if a remote or network exception occurs<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>   */<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>  List&lt;QuotaSettings&gt; getQuota(QuotaFilter filter) throws IOException;<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span><a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>  /**<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>   * Creates and returns a {@link com.google.protobuf.RpcChannel} instance connected to the active<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>   * master. &lt;p&gt; The obtained {@link com.google.protobuf.RpcChannel} instance can be used to access<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>   * a published coprocessor {@link com.google.protobuf.Service} using standard protobuf service<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>   * invocations: &lt;/p&gt; &lt;div style="background-color: #cccccc; padding: 2px"&gt;<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>   * &lt;blockquote&gt;&lt;pre&gt;<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>   * CoprocessorRpcChannel channel = myAdmin.coprocessorService();<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span>   * MyService.BlockingInterface service = MyService.newBlockingStub(channel);<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>   * MyCallRequest request = MyCallRequest.newBuilder()<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>   *     ...<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>   *     .build();<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>   * MyCallResponse response = service.myCall(null, request);<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>   * &lt;/pre&gt;&lt;/blockquote&gt;&lt;/div&gt;<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>   *<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>   * @return A MasterCoprocessorRpcChannel instance<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>   */<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>  CoprocessorRpcChannel coprocessorService();<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>  /**<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span>   * Creates and returns a {@link com.google.protobuf.RpcChannel} instance<a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>   * connected to the passed region server.<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>   *<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>   * &lt;p&gt;<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>   * The obtained {@link com.google.protobuf.RpcChannel} instance can be used to access a published<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>   * coprocessor {@link com.google.protobuf.Service} using standard protobuf service invocations:<a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>   * &lt;/p&gt;<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>   *<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>   * &lt;div style="background-color: #cccccc; padding: 2px"&gt;<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>   * &lt;blockquote&gt;&lt;pre&gt;<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>   * CoprocessorRpcChannel channel = myAdmin.coprocessorService(serverName);<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>   * MyService.BlockingInterface service = MyService.newBlockingStub(channel);<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>   * MyCallRequest request = MyCallRequest.newBuilder()<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span>   *     ...<a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>   *     .build();<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>   * MyCallResponse response = service.myCall(null, request);<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>   * &lt;/pre&gt;&lt;/blockquote&gt;&lt;/div&gt;<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>   *<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span>   * @param serverName the server name to which the endpoint call is made<a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>   * @return A RegionServerCoprocessorRpcChannel instance<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>   */<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>  CoprocessorRpcChannel coprocessorService(ServerName serverName);<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span><a name="line.1686"></a>
+<span class="sourceLineNo">1687</span><a name="line.1687"></a>
+<span class="sourceLineNo">1688</span>  /**<a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>   * Update the configuration and trigger an online config change<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>   * on the regionserver.<a name="line.1690"></a>
+<span class="sourceLineNo">1691</span>   * @param server : The server whose config needs to be updated.<a name="line.1691"></a>
+<span class="sourceLineNo">1692</span>   * @throws IOException if a remote or network exception occurs<a name="line.1692"></a>
+<span class="sourceLineNo">1693</span>   */<a name="line.1693"></a>
+<span class="sourceLineNo">1694</span>  void updateConfiguration(ServerName server) throws IOException;<a name="line.1694"></a>
+<span class="sourceLineNo">1695</span><a name="line.1695"></a>
+<span class="sourceLineNo">1696</span>  /**<a name="line.1696"></a>
+<span class="sourceLineNo">1697</span>   * Update the configuration and trigger an online config change<a name="line.1697"></a>
+<span class="sourceLineNo">1698</span>   * on all the regionservers.<a name="line.1698"></a>
+<span class="sourceLineNo">1699</span>   * @throws IOException if a remote or network exception occurs<a name="line.1699"></a>
+<span class="sourceLineNo">1700</span>   */<a name="line.1700"></a>
+<span class="sourceLineNo">1701</span>  void updateConfiguration() throws IOException;<a name="line.1701"></a>
+<span class="sourceLineNo">1702</span><a name="line.1702"></a>
+<span class="sourceLineNo">1703</span>  /**<a name="line.1703"></a>
+<span class="sourceLineNo">1704</span>   * Get the info port of the current master if one is available.<a name="line.1704"></a>
+<span class="sourceLineNo">1705</span>   * @return master info port<a name="line.1705"></a>
+<span class="sourceLineNo">1706</span>   * @throws IOException if a remote or network exception occurs<a name="line.1706"></a>
+<span class="sourceLineNo">1707</span>   */<a name="line.1707"></a>
+<span class="sourceLineNo">1708</span>  default int getMasterInfoPort() throws IOException {<a name="line.1708"></a>
+<span class="sourceLineNo">1709</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_INFO_PORT)).getMasterInfoPort();<a name="line.1709"></a>
+<span class="sourceLineNo">1710</span>  }<a name="line.1710"></a>
+<span class="sourceLineNo">1711</span><a name="line.1711"></a>
+<span class="sourceLineNo">1712</span>  /**<a name="line.1712"></a>
+<span class="sourceLineNo">1713</span>   * Return the set of supported security capabilities.<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>   * @throws UnsupportedOperationException<a name="line.1715"></a>
+<span class="sourceLineNo">1716</span>   */<a name="line.1716"></a>
+<span class="sourceLineNo">1717</span>  List&lt;SecurityCapability&gt; getSecurityCapabilities() 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>   * Turn the split switch on or off.<a name="line.1720"></a>
+<span class="sourceLineNo">1721</span>   * @param enabled enabled or not<a name="line.1721"></a>
+<span class="sourceLineNo">1722</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current split() call, if outstanding,<a name="line.1722"></a>
+<span class="sourceLineNo">1723</span>   *          to return.<a name="line.1723"></a>
+<span class="sourceLineNo">1724</span>   * @return Previous switch value<a name="line.1724"></a>
+<span class="sourceLineNo">1725</span>   * @throws IOException if a remote or network exception occurs<a name="line.1725"></a>
+<span class="sourceLineNo">1726</span>   */<a name="line.1726"></a>
+<span class="sourceLineNo">1727</span>  boolean splitSwitch(boolean enabled, boolean synchronous) throws IOException;<a name="line.1727"></a>
+<span class="sourceLineNo">1728</span><a name="line.1728"></a>
+<span class="sourceLineNo">1729</span>  /**<a name="line.1729"></a>
+<span class="sourceLineNo">1730</span>   * Turn the merge switch on or off.<a name="line.1730"></a>
+<span class="sourceLineNo">1731</span>   * @param enabled enabled or not<a name="line.1731"></a>
+<span class="sourceLineNo">1732</span>   * @param synchronous If &lt;code&gt;true&lt;/code&gt;, it waits until current merge() call, if outstanding,<a name="line.1732"></a>
+<span class="sourceLineNo">1733</span>   *          to return.<a name="line.1733"></a>
+<span class="sourceLineNo">1734</span>   * @return Previous switch value<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>  boolean mergeSwitch(boolean enabled, boolean synchronous) 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>   * Query the current state of the split switch.<a name="line.1740"></a>
+<span class="sourceLineNo">1741</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.1741"></a>
+<span class="sourceLineNo">1742</span>   * @throws IOException if a remote or network exception occurs<a name="line.1742"></a>
+<span class="sourceLineNo">1743</span>   */<a name="line.1743"></a>
+<span class="sourceLineNo">1744</span>  boolean isSplitEnabled() throws IOException;<a name="line.1744"></a>
+<span class="sourceLineNo">1745</span><a name="line.1745"></a>
+<span class="sourceLineNo">1746</span>  /**<a name="line.1746"></a>
+<span class="sourceLineNo">1747</span>   * Query the current state of the merge switch.<a name="line.1747"></a>
+<span class="sourceLineNo">1748</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.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>  boolean isMergeEnabled() 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>   * Add a new replication peer for replicating data to slave cluster.<a name="line.1754"></a>
+<span class="sourceLineNo">1755</span>   * @param peerId a short name that identifies the peer<a name="line.1755"></a>
+<span class="sourceLineNo">1756</span>   * @param peerConfig configuration for the replication peer<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>  default void addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1759"></a>
+<span class="sourceLineNo">1760</span>      throws IOException {<a name="line.1760"></a>
+<span class="sourceLineNo">1761</span>    addReplicationPeer(peerId, peerConfig, true);<a name="line.1761"></a>
+<span class="sourceLineNo">1762</span>  }<a name="line.1762"></a>
+<span class="sourceLineNo">1763</span><a name="line.1763"></a>
+<span class="sourceLineNo">1764</span>  /**<a name="line.1764"></a>
+<span class="sourceLineNo">1765</span>   * Add a new replication peer for replicating data to slave cluster.<a name="line.1765"></a>
+<span class="sourceLineNo">1766</span>   * @param peerId a short name that identifies the peer<a name="line.1766"></a>
+<span class="sourceLineNo">1767</span>   * @param peerConfig configuration for the replication peer<a name="line.1767"></a>
+<span class="sourceLineNo">1768</span>   * @param enabled peer state, true if ENABLED and false if DISABLED<a name="line.1768"></a>
+<span class="sourceLineNo">1769</span>   * @throws IOException if a remote or network exception occurs<a name="line.1769"></a>
+<span class="sourceLineNo">1770</span>   */<a name="line.1770"></a>
+<span class="sourceLineNo">1771</span>  default void addReplicationPeer(String peerId, ReplicationPeerConfig peerConfig, boolean enabled)<a name="line.1771"></a>
+<span class="sourceLineNo">1772</span>      throws IOException {<a name="line.1772"></a>
+<span class="sourceLineNo">1773</span>    get(addReplicationPeerAsync(peerId, peerConfig, enabled), getSyncWaitTimeout(),<a name="line.1773"></a>
+<span class="sourceLineNo">1774</span>      TimeUnit.MILLISECONDS);<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>  /**<a name="line.1777"></a>
+<span class="sourceLineNo">1778</span>   * Add a new replication peer but does not block and wait for it.<a name="line.1778"></a>
+<span class="sourceLineNo">1779</span>   * &lt;p/&gt;<a name="line.1779"></a>
+<span class="sourceLineNo">1780</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1780"></a>
+<span class="sourceLineNo">1781</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1781"></a>
+<span class="sourceLineNo">1782</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1782"></a>
+<span class="sourceLineNo">1783</span>   * @param peerId a short name that identifies the peer<a name="line.1783"></a>
+<span class="sourceLineNo">1784</span>   * @param peerConfig configuration for the replication peer<a name="line.1784"></a>
+<span class="sourceLineNo">1785</span>   * @return the result of the async operation<a name="line.1785"></a>
+<span class="sourceLineNo">1786</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1786"></a>
+<span class="sourceLineNo">1787</span>   */<a name="line.1787"></a>
+<span class="sourceLineNo">1788</span>  default Future&lt;Void&gt; addReplicationPeerAsync(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1788"></a>
+<span class="sourceLineNo">1789</span>      throws IOException {<a name="line.1789"></a>
+<span class="sourceLineNo">1790</span>    return addReplicationPeerAsync(peerId, peerConfig, true);<a name="line.1790"></a>
+<span class="sourceLineNo">1791</span>  }<a name="line.1791"></a>
+<span class="sourceLineNo">1792</span><a name="line.1792"></a>
+<span class="sourceLineNo">1793</span>  /**<a name="line.1793"></a>
+<span class="sourceLineNo">1794</span>   * Add a new replication peer but does not block and wait for it.<a name="line.1794"></a>
+<span class="sourceLineNo">1795</span>   * &lt;p&gt;<a name="line.1795"></a>
+<span class="sourceLineNo">1796</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1796"></a>
+<span class="sourceLineNo">1797</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1797"></a>
+<span class="sourceLineNo">1798</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1798"></a>
+<span class="sourceLineNo">1799</span>   * @param peerId a short name that identifies the peer<a name="line.1799"></a>
+<span class="sourceLineNo">1800</span>   * @param peerConfig configuration for the replication peer<a name="line.1800"></a>
+<span class="sourceLineNo">1801</span>   * @param enabled peer state, true if ENABLED and false if DISABLED<a name="line.1801"></a>
+<span class="sourceLineNo">1802</span>   * @return the result of the async operation<a name="line.1802"></a>
+<span class="sourceLineNo">1803</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1803"></a>
+<span class="sourceLineNo">1804</span>   */<a name="line.1804"></a>
+<span class="sourceLineNo">1805</span>  Future&lt;Void&gt; addReplicationPeerAsync(String peerId, ReplicationPeerConfig peerConfig,<a name="line.1805"></a>
+<span class="sourceLineNo">1806</span>      boolean enabled) throws IOException;<a name="line.1806"></a>
+<span class="sourceLineNo">1807</span><a name="line.1807"></a>
+<span class="sourceLineNo">1808</span>  /**<a name="line.1808"></a>
+<span class="sourceLineNo">1809</span>   * Remove a peer and stop the replication.<a name="line.1809"></a>
+<span class="sourceLineNo">1810</span>   * @param peerId a short name that identifies the peer<a name="line.1810"></a>
+<span class="sourceLineNo">1811</span>   * @throws IOException if a remote or network exception occurs<a name="line.1811"></a>
+<span class="sourceLineNo">1812</span>   */<a name="line.1812"></a>
+<span class="sourceLineNo">1813</span>  default void removeReplicationPeer(String peerId) throws IOException {<a name="line.1813"></a>
+<span class="sourceLineNo">1814</span>    get(removeReplicationPeerAsync(peerId), getSyncWaitTimeout(),<a name="line.1814"></a>
+<span class="sourceLineNo">1815</span>      TimeUnit.MILLISECONDS);<a name="line.1815"></a>
+<span class="sourceLineNo">1816</span>  }<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>   * Remove a replication peer but does not block and wait for it.<a name="line.1819"></a>
+<span class="sourceLineNo">1820</span>   * &lt;p&gt;<a name="line.1820"></a>
+<span class="sourceLineNo">1821</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1821"></a>
+<span class="sourceLineNo">1822</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1822"></a>
+<span class="sourceLineNo">1823</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1823"></a>
+<span class="sourceLineNo">1824</span>   * @param peerId a short name that identifies the peer<a name="line.1824"></a>
+<span class="sourceLineNo">1825</span>   * @return the result of the async operation<a name="line.1825"></a>
+<span class="sourceLineNo">1826</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1826"></a>
+<span class="sourceLineNo">1827</span>   */<a name="line.1827"></a>
+<span class="sourceLineNo">1828</span>  Future&lt;Void&gt; removeReplicationPeerAsync(String peerId) throws IOException;<a name="line.1828"></a>
+<span class="sourceLineNo">1829</span><a name="line.1829"></a>
+<span class="sourceLineNo">1830</span>  /**<a name="line.1830"></a>
+<span class="sourceLineNo">1831</span>   * Restart the replication stream to the specified peer.<a name="line.1831"></a>
+<span class="sourceLineNo">1832</span>   * @param peerId a short name that identifies the peer<a name="line.1832"></a>
+<span class="sourceLineNo">1833</span>   * @throws IOException if a remote or network exception occurs<a name="line.1833"></a>
+<span class="sourceLineNo">1834</span>   */<a name="line.1834"></a>
+<span class="sourceLineNo">1835</span>  default void enableReplicationPeer(String peerId) throws IOException {<a name="line.1835"></a>
+<span class="sourceLineNo">1836</span>    get(enableReplicationPeerAsync(peerId), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1836"></a>
+<span class="sourceLineNo">1837</span>  }<a name="line.1837"></a>
+<span class="sourceLineNo">1838</span><a name="line.1838"></a>
+<span class="sourceLineNo">1839</span>  /**<a name="line.1839"></a>
+<span class="sourceLineNo">1840</span>   * Enable a replication peer but does not block and wait for it.<a name="line.1840"></a>
+<span class="sourceLineNo">1841</span>   * &lt;p&gt;<a name="line.1841"></a>
+<span class="sourceLineNo">1842</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1842"></a>
+<span class="sourceLineNo">1843</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1843"></a>
+<span class="sourceLineNo">1844</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1844"></a>
+<span class="sourceLineNo">1845</span>   * @param peerId a short name that identifies the peer<a name="line.1845"></a>
+<span class="sourceLineNo">1846</span>   * @return the result of the async operation<a name="line.1846"></a>
+<span class="sourceLineNo">1847</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1847"></a>
+<span class="sourceLineNo">1848</span>   */<a name="line.1848"></a>
+<span class="sourceLineNo">1849</span>  Future&lt;Void&gt; enableReplicationPeerAsync(String peerId) throws IOException;<a name="line.1849"></a>
+<span class="sourceLineNo">1850</span><a name="line.1850"></a>
+<span class="sourceLineNo">1851</span>  /**<a name="line.1851"></a>
+<span class="sourceLineNo">1852</span>   * Stop the replication stream to the specified peer.<a name="line.1852"></a>
+<span class="sourceLineNo">1853</span>   * @param peerId a short name that identifies the peer<a name="line.1853"></a>
+<span class="sourceLineNo">1854</span>   * @throws IOException if a remote or network exception occurs<a name="line.1854"></a>
+<span class="sourceLineNo">1855</span>   */<a name="line.1855"></a>
+<span class="sourceLineNo">1856</span>  default void disableReplicationPeer(String peerId) throws IOException {<a name="line.1856"></a>
+<span class="sourceLineNo">1857</span>    get(disableReplicationPeerAsync(peerId), getSyncWaitTimeout(), TimeUnit.MILLISECONDS);<a name="line.1857"></a>
+<span class="sourceLineNo">1858</span>  }<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>   * Disable a replication peer but does not block and wait for it.<a name="line.1861"></a>
+<span class="sourceLineNo">1862</span>   * &lt;p/&gt;<a name="line.1862"></a>
+<span class="sourceLineNo">1863</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1863"></a>
+<span class="sourceLineNo">1864</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1864"></a>
+<span class="sourceLineNo">1865</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1865"></a>
+<span class="sourceLineNo">1866</span>   * @param peerId a short name that identifies the peer<a name="line.1866"></a>
+<span class="sourceLineNo">1867</span>   * @return the result of the async operation<a name="line.1867"></a>
+<span class="sourceLineNo">1868</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1868"></a>
+<span class="sourceLineNo">1869</span>   */<a name="line.1869"></a>
+<span class="sourceLineNo">1870</span>  Future&lt;Void&gt; disableReplicationPeerAsync(String peerId) throws IOException;<a name="line.1870"></a>
+<span class="sourceLineNo">1871</span><a name="line.1871"></a>
+<span class="sourceLineNo">1872</span>  /**<a name="line.1872"></a>
+<span class="sourceLineNo">1873</span>   * Returns the configured ReplicationPeerConfig for the specified peer.<a name="line.1873"></a>
+<span class="sourceLineNo">1874</span>   * @param peerId a short name that identifies the peer<a name="line.1874"></a>
+<span class="sourceLineNo">1875</span>   * @return ReplicationPeerConfig for the peer<a name="line.1875"></a>
+<span class="sourceLineNo">1876</span>   * @throws IOException if a remote or network exception occurs<a name="line.1876"></a>
+<span class="sourceLineNo">1877</span>   */<a name="line.1877"></a>
+<span class="sourceLineNo">1878</span>  ReplicationPeerConfig getReplicationPeerConfig(String peerId) throws IOException;<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>   * Update the peerConfig for the specified peer.<a name="line.1881"></a>
+<span class="sourceLineNo">1882</span>   * @param peerId a short name that identifies the peer<a name="line.1882"></a>
+<span class="sourceLineNo">1883</span>   * @param peerConfig new config for the replication peer<a name="line.1883"></a>
+<span class="sourceLineNo">1884</span>   * @throws IOException if a remote or network exception occurs<a name="line.1884"></a>
+<span class="sourceLineNo">1885</span>   */<a name="line.1885"></a>
+<span class="sourceLineNo">1886</span>  default void updateReplicationPeerConfig(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1886"></a>
+<span class="sourceLineNo">1887</span>      throws IOException {<a name="line.1887"></a>
+<span class="sourceLineNo">1888</span>    get(updateReplicationPeerConfigAsync(peerId, peerConfig), getSyncWaitTimeout(),<a name="line.1888"></a>
+<span class="sourceLineNo">1889</span>      TimeUnit.MILLISECONDS);<a name="line.1889"></a>
+<span class="sourceLineNo">1890</span>  }<a name="line.1890"></a>
+<span class="sourceLineNo">1891</span><a name="line.1891"></a>
+<span class="sourceLineNo">1892</span>  /**<a name="line.1892"></a>
+<span class="sourceLineNo">1893</span>   * Update the peerConfig for the specified peer but does not block and wait for it.<a name="line.1893"></a>
+<span class="sourceLineNo">1894</span>   * &lt;p/&gt;<a name="line.1894"></a>
+<span class="sourceLineNo">1895</span>   * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw<a name="line.1895"></a>
+<span class="sourceLineNo">1896</span>   * ExecutionException if there was an error while executing the operation or TimeoutException in<a name="line.1896"></a>
+<span class="sourceLineNo">1897</span>   * case the wait timeout was not long enough to allow the operation to complete.<a name="line.1897"></a>
+<span class="sourceLineNo">1898</span>   * @param peerId a short name that identifies the peer<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>   * @param peerConfig new config for the replication peer<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>   * @return the result of the async operation<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>   * @throws IOException IOException if a remote or network exception occurs<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span>   */<a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>  Future&lt;Void&gt; updateReplicationPeerConfigAsync(String peerId, ReplicationPeerConfig peerConfig)<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>      throws IOException;<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span><a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>  /**<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span>   * Append the replicable table column family config from the specified peer.<a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>   * @param id a short that identifies the cluster<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>   * @param tableCfs A map from tableName to column family names<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>   * @throws ReplicationException if tableCfs has conflict with existing config<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>   * @throws IOException if a remote or network exception occurs<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>   */<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>  default void appendReplicationPeerTableCFs(String id, Map&lt;TableName, List&lt;String&gt;&gt; tableCfs)<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>      throws ReplicationException, IOException {<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span>    if (tableCfs == null) {<a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>      throw new ReplicationException("tableCfs is null");<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>    }<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>    ReplicationPeerConfig peerConfig = getReplicationPeerConfig(id);<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>    ReplicationPeerConfig newPeerConfig =<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>      ReplicationPeerConfigUtil.appendTableCFsToReplicationPeerConfig(tableCfs, peerConfig);<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>    updateReplicationPeerConfig(id, newPeerConfig);<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>   * Remove some table-cfs from config of the specified peer.<a name="line.1925"></a>
+<span class="sourceLineNo">1926</span>   * @param id a short name that identifies the cluster<a name="line.1926"></a>
+<span class="sourceLineNo">1927</span>   * @param tableCfs A map from tableName to column family names<a name="line.1927"></a>
+<span class="sourceLineNo">1928</span>   * @throws ReplicationException if tableCfs has conflict with existing config<a name="line.1928"></a>
+<span class="sourceLineNo">1929</span>   * @throws IOException if a remote or network exception occurs<a name="line.1929"></a>
+<span class="sourceLineNo">1930</span>   */<a name="line.1930"></a>
+<span class="sourceLineNo">1931</span>  default void removeReplicationPeerTableCFs(String id, Map&lt;TableName, List&lt;String&gt;&gt; tableCfs)<a name="line.1931"></a>
+<span class="sourceLineNo">1932</span>      throws ReplicationException, IOException {<a name="line.1932"></a>
+<span class="sourceLineNo">1933</span>    if (tableCfs == null) {<a name="line.1933"></a>
+<span class="sourceLineNo">1934</span>      throw new ReplicationException("tableCfs is null");<a name="line.1934"></a>
+<span class="sourceLineNo">1935</span>    }<a name="line.1935"></a>
+<span class="sourceLineNo">1936</span>    ReplicationPeerConfig peerConfig = getReplicationPeerConfig(id);<a name="line.1936"></a>
+<span class="sourceLineNo">1937</span>    ReplicationPeerConfig newPeerConfig =<a name="line.1937"></a>
+<span class="sourceLineNo">1938</span>      ReplicationPeerConfigUtil.removeTableCFsFromReplicationPeerConfig(tableCfs, peerConfig, id);<a name="line.1938"></a>
+<span class="sourceLineNo">1939</span>    updateReplicationPeerConfig(id, newPeerConfig);<a name="line.1939"></a>
+<span class="sourceLineNo">1940</span>  }<a name="line.1940"></a>
+<span class="sourceLineNo">1941</span><a name="line.1941"></a>
+<span class="sourceLineNo">1942</span>  /**<a name="line.1942"></a>
+<span class="sourceLineNo">1943</span>   * Return a list of replication peers.<a name="line.1943"></a>
+<span class="sourceLineNo">1944</span>   * @return a list of replication peers description<a name="line.1944"></a>
+<span class="sourceLineNo">1945</span>   * @throws IOException if a remote or network exception occurs<a name="line.1945"></a>
+<span class="sourceLineNo">1946</span>   */<a name="line.1946"></a>
+<span class="sourceLineNo">1947</span>  List&lt;ReplicationPeerDescription&gt; listReplicationPeers() throws IOException;<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>   * Return a list of replication peers.<a name="line.1950"></a>
+<span class="sourceLineNo">1951</span>   * @param pattern The compiled regular expression to match peer id<a name="line.1951"></a>
+<span class="sourceLineNo">1952</span>   * @return a list of replication peers description<a name="line.1952"></a>
+<span class="sourceLineNo">1953</span>   * @throws IOException if a remote or network exception occurs<a name="line.1953"></a>
+<span class="sourceLineNo">1954</span>   */<a name="line.1954"></a>
+<span class="sourceLineNo">1955</span>  List&lt;ReplicationPeerDescription&gt; listReplicationPeers(Pattern pattern) throws IOException;<a name="line.1955"></a>
+<span class="sourceLineNo">1956</span><a name="line.1956"></a>
+<span class="sourceLineNo">1957</span>  /**<a name="line.1957"></a>
+<span class="sourceLineNo">1958</span>   * Transit current cluster to a new state in a synchronous replication peer.<a name="line.1958"></a>
+<span class="sourceLineNo">1959</span>   * @param peerId a short name that identifies the peer<a name="line.1959"></a>
+<span class="sourceLineNo">1960</span>   * @param state a new state of current cluster<a name="line.1960"></a>
+<span class="sourceLineNo">1961</span>   * @throws IOException if a remote or network exception occurs<a name="line.1961"></a>
+<span class="sourceLineNo">1962</span>   */<a name="line.1962"></a>
+<span class="sourceLineNo">1963</span>  default void transitReplicationPeerSyncReplicationState(String peerId, SyncReplicationState state)<a name="line.1963"></a>
+<span class="sourceLineNo">1964</span>      throws IOException {<a name="line.1964"></a>
+<span class="sourceLineNo">1965</span>    get(transitReplicationPeerSyncReplicationStateAsync(peerId, state), getSyncWaitTimeout(),<a name="line.1965"></a>
+<span class="sourceLineNo">1966</span>      TimeUnit.MILLISECONDS);<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>  /**<a name="line.1969"></a>
+<span class="sourceLineNo">1970</span>   * Transit current cluster to a new state in a synchronous replication peer. But does not block<a name="line.1970"></a>
+<span class="sourceLineNo">1971</span>   * 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>   * @param state a new state of current cluster<a name="line.1977"></a>
+<span class="sourceLineNo">1978</span>   * @throws 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; transitReplicationPeerSyncReplicationStateAsync(String peerId,<a name="line.1980"></a>
+<span class="sourceLineNo">1981</span>      SyncReplicationState state) throws IOException;<a name="line.1981"></a>
+<span class="sourceLineNo">1982</span><a name="line.1982"></a>
+<span class="sourceLineNo">1983</span>  /**<a name="line.1983"></a>
+<span class="sourceLineNo">1984</span>   * Get the current cluster state in a synchronous replication peer.<a name="line.1984"></a>
+<span class="sourceLineNo">1985</span>   * @param peerId a short name that identifies the peer<a name="line.1985"></a>
+<span class="sourceLineNo">1986</span>   * @return the current cluster state<a name="line.1986"></a>
+<span class="sourceLineNo">1987</span>   * @throws IOException if a remote or network exception occurs<a name="line.1987"></a>
+<span class="sourceLineNo">1988</span>   */<a name="line.1988"></a>
+<span class="sourceLineNo">1989</span>  default SyncReplicationState getReplicationPeerSyncReplicationState(String peerId)<a name="line.1989"></a>
+<span class="sourceLineNo">1990</span>      throws IOException {<a name="line.1990"></a>
+<span class="sourceLineNo">1991</span>    List&lt;ReplicationPeerDescription&gt; peers = listReplicationPeers(Pattern.compile(peerId));<a name="line.1991"></a>
+<span class="sourceLineNo">1992</span>    if (peers.isEmpty() || !peers.get(0).getPeerId().equals(peerId)) {<a name="line.1992"></a>
+<span class="sourceLineNo">1993</span>      throw new IOException("Replication peer " + peerId + " does not exist");<a name="line.1993"></a>
+<span class="sourceLineNo">1994</span>    }<a name="line.1994"></a>
+<span class="sourceLineNo">1995</span>    return peers.get(0).getSyncReplicationState();<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>  /**<a name="line.1998"></a>
+<span class="sourceLineNo">1999</span>   * Mark region server(s) as decommissioned to prevent additional regions from getting<a name="line.1999"></a>
+<span class="sourceLineNo">2000</span>   * assigned to them. Optionally unload the regions on the servers. If there are multiple servers<a name="line.2000"></a>
+<span class="sourceLineNo">2001</span>   * to be decommissioned, decommissioning them at the same time can prevent wasteful region<a name="line.2001"></a>
+<span class="sourceLineNo">2002</span>   * movements. Region unloading is asynchronous.<a name="line.2002"></a>
+<span class="sourceLineNo">2003</span>   * @param servers The list of servers to decommission.<a name="line.2003"></a>
+<span class="sourceLineNo">2004</span>   * @param offload True to offload the regions from the decommissioned servers<a name="line.2004"></a>
+<span class="sourceLineNo">2005</span>   * @throws IOException if a remote or network exception occurs<a name="line.2005"></a>
+<span class="sourceLineNo">2006</span>   */<a name="line.2006"></a>
+<span class="sourceLineNo">2007</span>  void decommissionRegionServers(List&lt;ServerName&gt; servers, boolean offload) throws IOException;<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>   * List region servers marked as decommissioned, which can not be assigned regions.<a name="line.2010"></a>
+<span class="sourceLineNo">2011</span>   * @return List of decommissioned region servers.<a name="line.2011"></a>
+<span class="sourceLineNo">2012</span>   * @throws IOException if a remote or network exception occurs<a name="line.2012"></a>
+<span class="sourceLineNo">2013</span>   */<a name="line.2013"></a>
+<span class="sourceLineNo">2014</span>  List&lt;ServerName&gt; listDecommissionedRegionServers() throws IOException;<a name="line.2014"></a>
+<span class="sourceLineNo">2015</span><a name="line.2015"></a>
+<span class="sourceLineNo">2016</span>  /**<a name="line.2016"></a>
+<span class="sourceLineNo">2017</span>   * Remove decommission marker from a region server to allow regions assignments.<a name="line.2017"></a>
+<span class="sourceLineNo">2018</span>   * Load regions onto the server if a list of regions is given. Region loading is<a name="line.2018"></a>
+<span class="sourceLineNo">2019</span>   * asynchronous.<a name="line.2019"></a>
+<span class="sourceLineNo">2020</span>   * @param server The server to recommission.<a name="line.2020"></a>
+<span class="sourceLineNo">2021</span>   * @param encodedRegionNames Regions to load onto the server.<a name="line.2021"></a>
+<span class="sourceLineNo">2022</span>   * @throws IOException if a remote or network exception occurs<a name="line.2022"></a>
+<span class="sourceLineNo">2023</span>   */<a name="line.2023"></a>
+<span class="sourceLineNo">2024</span>  void recommissionRegionServer(ServerName server, List&lt;byte[]&gt; encodedRegionNames)<a name="line.2024"></a>
+<span class="sourceLineNo">2025</span>      throws IOException;<a name="line.2025"></a>
+<span class="sourceLineNo">2026</span><a name="line.2026"></a>
+<span class="sourceLineNo">2027</span>  /**<a name="line.2027"></a>
+<span class="sourceLineNo">2028</span>   * Find all table and column families that are replicated from this cluster<a name="line.2028"></a>
+<span class="sourceLineNo">2029</span>   * @return the replicated table-cfs list of this cluster.<a name="line.2029"></a>
+<span class="sourceLineNo">2030</span>   * @throws IOException if a remote or network exception occurs<a name="line.2030"></a>
+<span class="sourceLineNo">2031</span>   */<a name="line.2031"></a>
+<span class="sourceLineNo">2032</span>  List&lt;TableCFs&gt; listReplicatedTableCFs() throws IOException;<a name="line.2032"></a>
+<span class="sourceLineNo">2033</span><a name="line.2033"></a>
+<span class="sourceLineNo">2034</span>  /**<a name="line.2034"></a>
+<span class="sourceLineNo">2035</span>   * Enable a table's replication switch.<a name="line.2035"></a>
+<span class="sourceLineNo">2036</span>   * @param tableName name of the table<a name="line.2036"></a>
+<span class="sourceLineNo">2037</span>   * @throws IOException if a remote or network exception occurs<a name="line.2037"></a>
+<span class="sourceLineNo">2038</span>   */<a name="line.2038"></a>
+<span class="sourceLineNo">2039</span>  void enableTableReplication(TableName tableName) throws IOException;<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>   * Disable a table's replication switch.<a name="line.2042"></a>
+<span class="sourceLineNo">2043</span>   * @param tableName name of the table<a name="line.2043"></a>
+<span class="sourceLineNo">2044</span>   * @throws IOException if a remote or network exception occurs<a name="line.2044"></a>
+<span class="sourceLineNo">2045</span>   */<a name="line.2045"></a>
+<span class="sourceLineNo">2046</span>  void disableTableReplication(TableName tableName) throws IOException;<a name="line.2046"></a>
+<span class="sourceLineNo">2047</span><a name="line.2047"></a>
+<span class="sourceLineNo">2048</span>  /**<a name="line.2048"></a>
+<span class="sourceLineNo">2049</span>   * Clear compacting queues on a regionserver.<a name="line.2049"></a>
+<span class="sourceLineNo">2050</span>   * @param serverName the region server name<a name="line.2050"></a>
+<span class="sourceLineNo">2051</span>   * @param queues the set of queue name<a name="line.2051"></a>
+<span class="sourceLineNo">2052</span>   * @throws IOException if a remote or network exception occurs<a name="line.2052"></a>
+<span class="sourceLineNo">2053</span>   * @throws InterruptedException<a name="line.2053"></a>
+<span class="sourceLineNo">2054</span>   */<a name="line.2054"></a>
+<span class="sourceLineNo">2055</span>  void clearCompactionQueues(ServerName serverName, Set&lt;String&gt; queues)<a name="line.2055"></a>
+<span class="sourceLineNo">2056</span>    throws IOException, InterruptedException;<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>   * List dead region servers.<a name="line.2059"></a>
+<span class="sourceLineNo">2060</span>   * @return List of dead region servers.<a name="line.2060"></a>
+<span class="sourceLineNo">2061</span>   */<a name="line.2061"></a>
+<span class="sourceLineNo">2062</span>  default List&lt;ServerName&gt; listDeadServers() throws IOException {<a name="line.2062"></a>
+<span class="sourceLineNo">2063</span>    return getClusterMetrics(EnumSet.of(Option.DEAD_SERVERS)).getDeadServerNames();<a name="line.2063"></a>
+<span class="sourceLineNo">2064</span>  }<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>   * Clear dead region servers from master.<a name="line.2067"></a>
+<span class="sourceLineNo">2068</span>   * @param servers list of dead region servers.<a name="line.2068"></a>
+<span class="sourceLineNo">2069</span>   * @throws IOException if a remote or network exception occurs<a name="line.2069"></a>
+<span class="sourceLineNo">2070</span>   * @return List of servers that are not cleared<a name="line.2070"></a>
+<span class="sourceLineNo">2071</span>   */<a name="line.2071"></a>
+<span class="sourceLineNo">2072</span>  List&lt;ServerName&gt; clearDeadServers(List&lt;ServerName&gt; servers) 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>   * Create a new table by cloning the existent table schema.<a name="line.2075"></a>
+<span class="sourceLineNo">2076</span>   * @param tableName name of the table to be cloned<a name="line.2076"></a>
+<span class="sourceLineNo">2077</span>   * @param newTableName name of the new table where the table will be created<a name="line.2077"></a>
+<span class="sourceLineNo">2078</span>   * @param preserveSplits True if the splits should be preserved<a name="line.2078"></a>
+<span class="sourceLineNo">2079</span>   * @throws IOException if a remote or network exception occurs<a name="line.2079"></a>
+<span class="sourceLineNo">2080</span>   */<a name="line.2080"></a>
+<span class="sourceLineNo">2081</span>  void cloneTableSchema(TableName tableName, TableName newTableName, boolean preserveSplits)<a name="line.2081"></a>
+<span class="sourceLineNo">2082</span>      throws IOException;<a name="line.2082"></a>
+<span class="sourceLineNo">2083</span><a name="line.2083"></a>
+<span class="sourceLineNo">2084</span>  /**<a name="line.2084"></a>
+<span class="sourceLineNo">2085</span>   * Switch the rpc throttle enable state.<a name="line.2085"></a>
+<span class="sourceLineNo">2086</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.2086"></a>
+<span class="sourceLineNo">2087</span>   * @return Previous rpc throttle enabled value<a name="line.2087"></a>
+<span class="sourceLineNo">2088</span>   * @throws IOException if a remote or network exception occurs<a name="line.2088"></a>
+<span class="sourceLineNo">2089</span>   */<a name="line.2089"></a>
+<span class="sourceLineNo">2090</span>  boolean switchRpcThrottle(boolean enable) throws IOException;<a name="line.2090"></a>
+<span class="sourceLineNo">2091</span><a name="line.2091"></a>
+<span class="sourceLineNo">2092</span>  /**<a name="line.2092"></a>
+<span class="sourceLineNo">2093</span>   * Get if the rpc throttle is enabled.<a name="line.2093"></a>
+<span class="sourceLineNo">2094</span>   * @return True if rpc throttle is enabled<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>  boolean isRpcThrottleEnabled() throws IOException;<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>   * Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota<a name="line.2100"></a>
+<span class="sourceLineNo">2101</span>   * can be exceeded if region server has availble quota.<a name="line.2101"></a>
+<span class="sourceLineNo">2102</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.2102"></a>
+<span class="sourceLineNo">2103</span>   * @return Previous exceed throttle enabled value<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>  boolean exceedThrottleQuotaSwitch(final boolean enable) throws IOException;<a name="line.2106"></a>
+<span class="sourceLineNo">2107</span><a name="line.2107"></a>
+<span class="sourceLineNo">2108</span>  /**<a name="line.2108"></a>
+<span class="sourceLineNo">2109</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.2109"></a>
+<span class="sourceLineNo">2110</span>   * @throws IOException if a remote or network exception occurs<a name="line.2110"></a>
+<span class="sourceLineNo">2111</span>   */<a name="line.2111"></a>
+<span class="sourceLineNo">2112</span>  Map&lt;TableName, Long&gt; getSpaceQuotaTableSizes() 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>   * Fetches the observed {@link SpaceQuotaSnapshotView}s observed by a RegionServer.<a name="line.2115"></a>
+<span class="sourceLineNo">2116</span>   * @throws IOException if a remote or network exception occurs<a name="line.2116"></a>
+<span class="sourceLineNo">2117</span>   */<a name="line.2117"></a>
+<span class="sourceLineNo">2118</span>  Map&lt;TableName, ? extends SpaceQuotaSnapshotView&gt; getRegionServerSpaceQuotaSnapshots(<a name="line.2118"></a>
+<span class="sourceLineNo">2119</span>      ServerName serverName) throws IOException;<a name="line.2119"></a>
+<span class="sourceLineNo">2120</span><a name="line.2120"></a>
+<span class="sourceLineNo">2121</span>  /**<a name="line.2121"></a>
+<span class="sourceLineNo">2122</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the Master has<a name="line.2122"></a>
+<span class="sourceLineNo">2123</span>   * no quota information on that namespace.<a name="line.2123"></a>
+<span class="sourceLineNo">2124</span>   * @throws IOException if a remote or network exception occurs<a name="line.2124"></a>
+<span class="sourceLineNo">2125</span>   */<a name="line.2125"></a>
+<span class="sourceLineNo">2126</span>  SpaceQuotaSnapshotView getCurrentSpaceQuotaSnapshot(String namespace) throws IOException;<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>   * Returns the Master's view of a quota on the given {@code tableName} or null if the Master has<a name="line.2129"></a>
+<span class="sourceLineNo">2130</span>   * no quota information on that table.<a name="line.2130"></a>
+<span class="sourceLineNo">2131</span>   * @throws IOException if a remote or network exception occurs<a name="line.2131"></a>
+<span class="sourceLineNo">2132</span>   */<a name="line.2132"></a>
+<span class="sourceLineNo">2133</span>  SpaceQuotaSnapshotView getCurrentSpaceQuotaSnapshot(TableName tableName) throws IOException;<a name="line.2133"></a>
+<span class="sourceLineNo">2134</span><a name="line.2134"></a>
+<span class="sourceLineNo">2135</span>  /**<a name="line.2135"></a>
+<span class="sourceLineNo">2136</span>   * Grants user specific permissions<a name="line.2136"></a>
+<span class="sourceLineNo">2137</span>   * @param userPermission user name and the specific permission<a name="line.2137"></a>
+<span class="sourceLineNo">2138</span>   * @param mergeExistingPermissions If set to false, later granted permissions will override<a name="line.2138"></a>
+<span class="sourceLineNo">2139</span>   *          previous granted permissions. otherwise, it'll merge with previous granted<a name="line.2139"></a>
+<span class="sourceLineNo">2140</span>   *          permissions.<a name="line.2140"></a>
+<span class="sourceLineNo">2141</span>   * @throws IOException if a remote or network exception occurs<a name="line.2141"></a>
+<span class="sourceLineNo">2142</span>   */<a name="line.2142"></a>
+<span class="sourceLineNo">2143</span>  void grant(UserPermission userPermission, boolean mergeExistingPermissions) throws IOException;<a name="line.2143"></a>
+<span class="sourceLineNo">2144</span><a name="line.2144"></a>
+<span class="sourceLineNo">2145</span>  /**<a name="line.2145"></a>
+<span class="sourceLineNo">2146</span>   * Revokes user specific permissions<a name="line.2146"></a>
+<span class="sourceLineNo">2147</span>   * @param userPermission user name and the specific permission<a name="line.2147"></a>
+<span class="sourceLineNo">2148</span>   * @throws IOException if a remote or network exception occurs<a name="line.2148"></a>
+<span class="sourceLineNo">2149</span>   */<a name="line.2149"></a>
+<span class="sourceLineNo">2150</span>  void revoke(UserPermission userPermission) throws IOException;<a name="line.2150"></a>
+<span class="sourceLineNo">2151</span><a name="line.2151"></a>
+<span class="sourceLineNo">2152</span>  /**<a name="line.2152"></a>
+<span class="sourceLineNo">2153</span>   * Get the global/namespace/table permissions for user<a name="line.2153"></a>
+<span class="sourceLineNo">2154</span>   * @param getUserPermissionsRequest A request contains which user, global, namespace or table<a name="line.2154"></a>
+<span class="sourceLineNo">2155</span>   *          permissions needed<a name="line.2155"></a>
+<span class="sourceLineNo">2156</span>   * @return The user and permission list<a name="line.2156"></a>
+<span class="sourceLineNo">2157</span>   * @throws IOException if a remote or network exception occurs<a name="line.2157"></a>
+<span class="sourceLineNo">2158</span>   */<a name="line.2158"></a>
+<span class="sourceLineNo">2159</span>  List&lt;UserPermission&gt; getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest)<a name="line.2159"></a>
+<span class="sourceLineNo">2160</span>      throws IOException;<a name="line.2160"></a>
+<span class="sourceLineNo">2161</span><a name="line.2161"></a>
+<span class="sourceLineNo">2162</span>  /**<a name="line.2162"></a>
+<span class="sourceLineNo">2163</span>   * Check if the user has specific permissions<a name="line.2163"></a>
+<span class="sourceLineNo">2164</span>   * @param userName the user name<a name="line.2164"></a>
+<span class="sourceLineNo">2165</span>   * @param permissions the specific permission list<a name="line.2165"></a>
+<span class="sourceLineNo">2166</span>   * @return True if user has the specific permissions<a name="line.2166"></a>
+<span class="sourceLineNo">2167</span>   * @throws IOException if a remote or network exception occurs<a name="line.2167"></a>
+<span class="sourceLineNo">2168</span>   */<a name="line.2168"></a>
+<span class="sourceLineNo">2169</span>  List&lt;Boolean&gt; hasUserPermissions(String userName, List&lt;Permission&gt; permissions)<a name="line.2169"></a>
+<span class="sourceLineNo">2170</span>      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>   * Check if call user has specific permissions<a name="line.2173"></a>
+<span class="sourceLineNo">2174</span>   * @param permissions the specific permission list<a name="line.2174"></a>
+<span class="sourceLineNo">2175</span>   * @return True if user has the specific permissions<a name="line.2175"></a>
+<span class="sourceLineNo">2176</span>   * @throws IOException if a remote or network exception occurs<a name="line.2176"></a>
+<span class="sourceLineNo">2177</span>   */<a name="line.2177"></a>
+<span class="sourceLineNo">2178</span>  default List&lt;Boolean&gt; hasUserPermissions(List&lt;Permission&gt; permissions) throws IOException {<a name="line.2178"></a>
+<span class="sourceLineNo">2179</span>    return hasUserPermissions(null, permissions);<a name="line.2179"></a>
+<span class="sourceLineNo">2180</span>  }<a name="line.2180"></a>
+<span class="sourceLineNo">2181</span>}<a name="line.2181"></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 b25bda7..561ba4a 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
@@ -754,743 +754,744 @@
 <span class="sourceLineNo">746</span><a name="line.746"></a>
 <span class="sourceLineNo">747</span>  /**<a name="line.747"></a>
 <span class="sourceLineNo">748</span>   * Take a snapshot for the given table. If the table is enabled, a FLUSH-type snapshot will be<a name="line.748"></a>
-<span class="sourceLineNo">749</span>   * taken. If the table is disabled, an offline snapshot is taken. Snapshots are considered unique<a name="line.749"></a>
-<span class="sourceLineNo">750</span>   * based on &lt;b&gt;the name of the snapshot&lt;/b&gt;. Attempts to take a snapshot with the same name (even<a name="line.750"></a>
-<span class="sourceLineNo">751</span>   * a different type or with different parameters) will fail with a<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * @param snapshotName name of the snapshot to be created<a name="line.755"></a>
-<span class="sourceLineNo">756</span>   * @param tableName name of the table for which snapshot is created<a name="line.756"></a>
-<span class="sourceLineNo">757</span>   */<a name="line.757"></a>
-<span class="sourceLineNo">758</span>  default CompletableFuture&lt;Void&gt; snapshot(String snapshotName, TableName tableName) {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    return snapshot(snapshotName, tableName, SnapshotType.FLUSH);<a name="line.759"></a>
-<span class="sourceLineNo">760</span>  }<a name="line.760"></a>
-<span class="sourceLineNo">761</span><a name="line.761"></a>
-<span class="sourceLineNo">762</span>  /**<a name="line.762"></a>
-<span class="sourceLineNo">763</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.763"></a>
-<span class="sourceLineNo">764</span>   * snapshot&lt;/b&gt;. Attempts to take a snapshot with the same name (even a different type or with<a name="line.764"></a>
-<span class="sourceLineNo">765</span>   * different parameters) will fail with a<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @param snapshotName name to give the snapshot on the filesystem. Must be unique from all other<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   *          snapshots stored on the cluster<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @param tableName name of the table to snapshot<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   * @param type type of snapshot to take<a name="line.772"></a>
-<span class="sourceLineNo">773</span>   */<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  default CompletableFuture&lt;Void&gt; snapshot(String snapshotName, TableName tableName,<a name="line.774"></a>
-<span class="sourceLineNo">775</span>      SnapshotType type) {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    return snapshot(new SnapshotDescription(snapshotName, tableName, type));<a name="line.776"></a>
-<span class="sourceLineNo">777</span>  }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>  /**<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   * Take a snapshot and wait for the server to complete that snapshot asynchronously. Only a single<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * snapshot should be taken at a time for an instance of HBase, or results may be undefined (you<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * can tell multiple HBase clusters to snapshot at the same time, but only one at a time for a<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * single cluster). Snapshots are considered unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;.<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   * Attempts to take a snapshot with the same name (even a different type or with different<a name="line.784"></a>
-<span class="sourceLineNo">785</span>   * parameters) will fail with a {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException}<a name="line.785"></a>
-<span class="sourceLineNo">786</span>   * indicating the duplicate naming. Snapshot names follow the same naming constraints as tables in<a name="line.786"></a>
-<span class="sourceLineNo">787</span>   * HBase. See {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.787"></a>
-<span class="sourceLineNo">788</span>   * You should probably use {@link #snapshot(String, org.apache.hadoop.hbase.TableName)} unless you<a name="line.788"></a>
-<span class="sourceLineNo">789</span>   * are sure about the type of snapshot that you want to take.<a name="line.789"></a>
-<span class="sourceLineNo">790</span>   * @param snapshot snapshot to take<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   */<a name="line.791"></a>
-<span class="sourceLineNo">792</span>  CompletableFuture&lt;Void&gt; snapshot(SnapshotDescription snapshot);<a name="line.792"></a>
-<span class="sourceLineNo">793</span><a name="line.793"></a>
-<span class="sourceLineNo">794</span>  /**<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   * Check the current state of the passed snapshot. There are three possible states:<a name="line.795"></a>
-<span class="sourceLineNo">796</span>   * &lt;ol&gt;<a name="line.796"></a>
-<span class="sourceLineNo">797</span>   * &lt;li&gt;running - returns &lt;tt&gt;false&lt;/tt&gt;&lt;/li&gt;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>   * &lt;li&gt;finished - returns &lt;tt&gt;true&lt;/tt&gt;&lt;/li&gt;<a name="line.798"></a>
-<span class="sourceLineNo">799</span>   * &lt;li&gt;finished with error - throws the exception that caused the snapshot to fail&lt;/li&gt;<a name="line.799"></a>
-<span class="sourceLineNo">800</span>   * &lt;/ol&gt;<a name="line.800"></a>
-<span class="sourceLineNo">801</span>   * The cluster only knows about the most recent snapshot. Therefore, if another snapshot has been<a name="line.801"></a>
-<span class="sourceLineNo">802</span>   * run/started since the snapshot you are checking, you will receive an<a name="line.802"></a>
-<span class="sourceLineNo">803</span>   * {@link org.apache.hadoop.hbase.snapshot.UnknownSnapshotException}.<a name="line.803"></a>
-<span class="sourceLineNo">804</span>   * @param snapshot description of the snapshot to check<a name="line.804"></a>
-<span class="sourceLineNo">805</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.805"></a>
-<span class="sourceLineNo">806</span>   *         running<a name="line.806"></a>
-<span class="sourceLineNo">807</span>   */<a name="line.807"></a>
-<span class="sourceLineNo">808</span>  CompletableFuture&lt;Boolean&gt; isSnapshotFinished(SnapshotDescription snapshot);<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>  /**<a name="line.810"></a>
-<span class="sourceLineNo">811</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If the<a name="line.811"></a>
-<span class="sourceLineNo">812</span>   * "hbase.snapshot.restore.take.failsafe.snapshot" configuration property is set to true, a<a name="line.812"></a>
-<span class="sourceLineNo">813</span>   * snapshot of the current table is taken before executing the restore operation. In case of<a name="line.813"></a>
-<span class="sourceLineNo">814</span>   * restore failure, the failsafe snapshot will be restored. If the restore completes without<a name="line.814"></a>
-<span class="sourceLineNo">815</span>   * problem the failsafe snapshot is deleted.<a name="line.815"></a>
-<span class="sourceLineNo">816</span>   * @param snapshotName name of the snapshot to restore<a name="line.816"></a>
-<span class="sourceLineNo">817</span>   */<a name="line.817"></a>
-<span class="sourceLineNo">818</span>  CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName);<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>  /**<a name="line.820"></a>
-<span class="sourceLineNo">821</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.821"></a>
-<span class="sourceLineNo">822</span>   * 'takeFailSafeSnapshot' is set to true, a snapshot of the current table is taken before<a name="line.822"></a>
-<span class="sourceLineNo">823</span>   * executing the restore operation. In case of restore failure, the failsafe snapshot will be<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * failsafe snapshot name is configurable by using the property<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   * @param snapshotName name of the snapshot to restore<a name="line.827"></a>
-<span class="sourceLineNo">828</span>   * @param takeFailSafeSnapshot true if the failsafe snapshot should be taken<a name="line.828"></a>
-<span class="sourceLineNo">829</span>   */<a name="line.829"></a>
-<span class="sourceLineNo">830</span>  default CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName,<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      boolean takeFailSafeSnapshot) {<a name="line.831"></a>
-<span class="sourceLineNo">832</span>    return restoreSnapshot(snapshotName, takeFailSafeSnapshot, false);<a name="line.832"></a>
-<span class="sourceLineNo">833</span>  }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>  /**<a name="line.835"></a>
-<span class="sourceLineNo">836</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.836"></a>
-<span class="sourceLineNo">837</span>   * 'takeFailSafeSnapshot' is set to true, a snapshot of the current table is taken before<a name="line.837"></a>
-<span class="sourceLineNo">838</span>   * executing the restore operation. In case of restore failure, the failsafe snapshot will be<a name="line.838"></a>
-<span class="sourceLineNo">839</span>   * restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * failsafe snapshot name is configurable by using the property<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   * @param snapshotName name of the snapshot to restore<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   * @param takeFailSafeSnapshot true if the failsafe snapshot should be taken<a name="line.843"></a>
-<span class="sourceLineNo">844</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to restore acl of snapshot<a name="line.844"></a>
-<span class="sourceLineNo">845</span>   */<a name="line.845"></a>
-<span class="sourceLineNo">846</span>  CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot,<a name="line.846"></a>
-<span class="sourceLineNo">847</span>      boolean restoreAcl);<a name="line.847"></a>
-<span class="sourceLineNo">848</span><a name="line.848"></a>
-<span class="sourceLineNo">849</span>  /**<a name="line.849"></a>
-<span class="sourceLineNo">850</span>   * Create a new table by cloning the snapshot content.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.851"></a>
-<span class="sourceLineNo">852</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.852"></a>
-<span class="sourceLineNo">853</span>   */<a name="line.853"></a>
-<span class="sourceLineNo">854</span>  default CompletableFuture&lt;Void&gt; cloneSnapshot(String snapshotName, TableName tableName) {<a name="line.854"></a>
-<span class="sourceLineNo">855</span>    return cloneSnapshot(snapshotName, tableName, false);<a name="line.855"></a>
-<span class="sourceLineNo">856</span>  }<a name="line.856"></a>
-<span class="sourceLineNo">857</span><a name="line.857"></a>
-<span class="sourceLineNo">858</span>  /**<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   * Create a new table by cloning the snapshot content.<a name="line.859"></a>
-<span class="sourceLineNo">860</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.860"></a>
-<span class="sourceLineNo">861</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.861"></a>
-<span class="sourceLineNo">862</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to restore acl of snapshot<a name="line.862"></a>
-<span class="sourceLineNo">863</span>   */<a name="line.863"></a>
-<span class="sourceLineNo">864</span>  CompletableFuture&lt;Void&gt; cloneSnapshot(String snapshotName, TableName tableName,<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      boolean restoreAcl);<a name="line.865"></a>
-<span class="sourceLineNo">866</span><a name="line.866"></a>
-<span class="sourceLineNo">867</span>  /**<a name="line.867"></a>
-<span class="sourceLineNo">868</span>   * List completed snapshots.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>   * @return a list of snapshot descriptors for completed snapshots wrapped by a<a name="line.869"></a>
-<span class="sourceLineNo">870</span>   *         {@link CompletableFuture}<a name="line.870"></a>
-<span class="sourceLineNo">871</span>   */<a name="line.871"></a>
-<span class="sourceLineNo">872</span>  CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listSnapshots();<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span>  /**<a name="line.874"></a>
-<span class="sourceLineNo">875</span>   * List all the completed snapshots matching the given pattern.<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   * @param pattern The compiled regular expression to match against<a name="line.876"></a>
-<span class="sourceLineNo">877</span>   * @return - returns a List of SnapshotDescription wrapped by a {@link CompletableFuture}<a name="line.877"></a>
-<span class="sourceLineNo">878</span>   */<a name="line.878"></a>
-<span class="sourceLineNo">879</span>  CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listSnapshots(Pattern pattern);<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>  /**<a name="line.881"></a>
-<span class="sourceLineNo">882</span>   * List all the completed snapshots matching the given table name pattern.<a name="line.882"></a>
-<span class="sourceLineNo">883</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.883"></a>
-<span class="sourceLineNo">884</span>   * @return - returns a List of completed SnapshotDescription wrapped by a<a name="line.884"></a>
-<span class="sourceLineNo">885</span>   *         {@link CompletableFuture}<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   */<a name="line.886"></a>
-<span class="sourceLineNo">887</span>  CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listTableSnapshots(Pattern tableNamePattern);<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>   * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   * name regular expression.<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   * @return - returns a List of completed SnapshotDescription wrapped by a<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   *         {@link CompletableFuture}<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   */<a name="line.896"></a>
-<span class="sourceLineNo">897</span>  CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listTableSnapshots(Pattern tableNamePattern,<a name="line.897"></a>
-<span class="sourceLineNo">898</span>      Pattern snapshotNamePattern);<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>  /**<a name="line.900"></a>
-<span class="sourceLineNo">901</span>   * Delete an existing snapshot.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>   * @param snapshotName name of the snapshot<a name="line.902"></a>
-<span class="sourceLineNo">903</span>   */<a name="line.903"></a>
-<span class="sourceLineNo">904</span>  CompletableFuture&lt;Void&gt; deleteSnapshot(String snapshotName);<a name="line.904"></a>
-<span class="sourceLineNo">905</span><a name="line.905"></a>
-<span class="sourceLineNo">906</span>  /**<a name="line.906"></a>
-<span class="sourceLineNo">907</span>   * Delete all existing snapshots.<a name="line.907"></a>
-<span class="sourceLineNo">908</span>   */<a name="line.908"></a>
-<span class="sourceLineNo">909</span>  CompletableFuture&lt;Void&gt; deleteSnapshots();<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>   * Delete existing snapshots whose names match the pattern passed.<a name="line.912"></a>
-<span class="sourceLineNo">913</span>   * @param pattern pattern for names of the snapshot to match<a name="line.913"></a>
-<span class="sourceLineNo">914</span>   */<a name="line.914"></a>
-<span class="sourceLineNo">915</span>  CompletableFuture&lt;Void&gt; deleteSnapshots(Pattern pattern);<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span>  /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span>   * Delete all existing snapshots matching the given table name pattern.<a name="line.918"></a>
-<span class="sourceLineNo">919</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.919"></a>
-<span class="sourceLineNo">920</span>   */<a name="line.920"></a>
-<span class="sourceLineNo">921</span>  CompletableFuture&lt;Void&gt; deleteTableSnapshots(Pattern tableNamePattern);<a name="line.921"></a>
-<span class="sourceLineNo">922</span><a name="line.922"></a>
-<span class="sourceLineNo">923</span>  /**<a name="line.923"></a>
-<span class="sourceLineNo">924</span>   * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.924"></a>
-<span class="sourceLineNo">925</span>   * name regular expression.<a name="line.925"></a>
-<span class="sourceLineNo">926</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.926"></a>
-<span class="sourceLineNo">927</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.927"></a>
-<span class="sourceLineNo">928</span>   */<a name="line.928"></a>
-<span class="sourceLineNo">929</span>  CompletableFuture&lt;Void&gt; deleteTableSnapshots(Pattern tableNamePattern,<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      Pattern snapshotNamePattern);<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>  /**<a name="line.932"></a>
-<span class="sourceLineNo">933</span>   * Execute a distributed procedure on a cluster.<a name="line.933"></a>
-<span class="sourceLineNo">934</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.934"></a>
-<span class="sourceLineNo">935</span>   *          root ZK node name of the procedure).<a name="line.935"></a>
-<span class="sourceLineNo">936</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.936"></a>
-<span class="sourceLineNo">937</span>   *          optional.<a name="line.937"></a>
-<span class="sourceLineNo">938</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.938"></a>
-<span class="sourceLineNo">939</span>   */<a name="line.939"></a>
-<span class="sourceLineNo">940</span>  CompletableFuture&lt;Void&gt; execProcedure(String signature, String instance,<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      Map&lt;String, String&gt; props);<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>   * Execute a distributed procedure on a cluster.<a name="line.944"></a>
-<span class="sourceLineNo">945</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.945"></a>
-<span class="sourceLineNo">946</span>   *          root ZK node name of the procedure).<a name="line.946"></a>
-<span class="sourceLineNo">947</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.947"></a>
-<span class="sourceLineNo">948</span>   *          optional.<a name="line.948"></a>
-<span class="sourceLineNo">949</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span>   * @return data returned after procedure execution. null if no return data.<a name="line.950"></a>
-<span class="sourceLineNo">951</span>   */<a name="line.951"></a>
-<span class="sourceLineNo">952</span>  CompletableFuture&lt;byte[]&gt; execProcedureWithReturn(String signature, String instance,<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      Map&lt;String, String&gt; props);<a name="line.953"></a>
-<span class="sourceLineNo">954</span><a name="line.954"></a>
-<span class="sourceLineNo">955</span>  /**<a name="line.955"></a>
-<span class="sourceLineNo">956</span>   * Check the current state of the specified procedure. There are three possible states:<a name="line.956"></a>
-<span class="sourceLineNo">957</span>   * &lt;ol&gt;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>   * &lt;li&gt;running - returns &lt;tt&gt;false&lt;/tt&gt;&lt;/li&gt;<a name="line.958"></a>
-<span class="sourceLineNo">959</span>   * &lt;li&gt;finished - returns &lt;tt&gt;true&lt;/tt&gt;&lt;/li&gt;<a name="line.959"></a>
-<span class="sourceLineNo">960</span>   * &lt;li&gt;finished with error - throws the exception that caused the procedure to fail&lt;/li&gt;<a name="line.960"></a>
-<span class="sourceLineNo">961</span>   * &lt;/ol&gt;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>   * @param signature The signature that uniquely identifies a procedure<a name="line.962"></a>
-<span class="sourceLineNo">963</span>   * @param instance The instance name of the procedure<a name="line.963"></a>
-<span class="sourceLineNo">964</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.964"></a>
-<span class="sourceLineNo">965</span>   * @return true if the specified procedure is finished successfully, false if it is still running.<a name="line.965"></a>
-<span class="sourceLineNo">966</span>   *         The value is wrapped by {@link CompletableFuture}<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   */<a name="line.967"></a>
-<span class="sourceLineNo">968</span>  CompletableFuture&lt;Boolean&gt; isProcedureFinished(String signature, String instance,<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      Map&lt;String, String&gt; props);<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span>  /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span>   * Abort a procedure<a name="line.972"></a>
-<span class="sourceLineNo">973</span>   * Do not use. Usually it is ignored but if not, it can do more damage than good. See hbck2.<a name="line.973"></a>
-<span class="sourceLineNo">974</span>   * @param procId ID of the procedure to abort<a name="line.974"></a>
-<span class="sourceLineNo">975</span>   * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.975"></a>
-<span class="sourceLineNo">976</span>   * @return true if aborted, false if procedure already completed or does not exist. the value is<a name="line.976"></a>
-<span class="sourceLineNo">977</span>   *         wrapped by {@link CompletableFuture}<a name="line.977"></a>
-<span class="sourceLineNo">978</span>   * @deprecated Since 2.1.1 -- to be removed.<a name="line.978"></a>
-<span class="sourceLineNo">979</span>   */<a name="line.979"></a>
-<span class="sourceLineNo">980</span>  @Deprecated<a name="line.980"></a>
-<span class="sourceLineNo">981</span>  CompletableFuture&lt;Boolean&gt; abortProcedure(long procId, boolean mayInterruptIfRunning);<a name="line.981"></a>
-<span class="sourceLineNo">982</span><a name="line.982"></a>
-<span class="sourceLineNo">983</span>  /**<a name="line.983"></a>
-<span class="sourceLineNo">984</span>   * List procedures<a name="line.984"></a>
-<span class="sourceLineNo">985</span>   * @return procedure list JSON wrapped by {@link CompletableFuture}<a name="line.985"></a>
-<span class="sourceLineNo">986</span>   */<a name="line.986"></a>
-<span class="sourceLineNo">987</span>  CompletableFuture&lt;String&gt; getProcedures();<a name="line.987"></a>
-<span class="sourceLineNo">988</span><a name="line.988"></a>
-<span class="sourceLineNo">989</span>  /**<a name="line.989"></a>
-<span class="sourceLineNo">990</span>   * List locks.<a name="line.990"></a>
-<span class="sourceLineNo">991</span>   * @return lock list JSON wrapped by {@link CompletableFuture}<a name="line.991"></a>
-<span class="sourceLineNo">992</span>   */<a name="line.992"></a>
-<span class="sourceLineNo">993</span>  CompletableFuture&lt;String&gt; getLocks();<a name="line.993"></a>
-<span class="sourceLineNo">994</span><a name="line.994"></a>
-<span class="sourceLineNo">995</span>  /**<a name="line.995"></a>
-<span class="sourceLineNo">996</span>   * Mark region server(s) as decommissioned to prevent additional regions from getting<a name="line.996"></a>
-<span class="sourceLineNo">997</span>   * assigned to them. Optionally unload the regions on the servers. If there are multiple servers<a name="line.997"></a>
-<span class="sourceLineNo">998</span>   * to be decommissioned, decommissioning them at the same time can prevent wasteful region<a name="line.998"></a>
-<span class="sourceLineNo">999</span>   * movements. Region unloading is asynchronous.<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>   * @param servers The list of servers to decommission.<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>   * @param offload True to offload the regions from the decommissioned servers<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>   */<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>  CompletableFuture&lt;Void&gt; decommissionRegionServers(List&lt;ServerName&gt; servers, boolean offload);<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span><a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>  /**<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>   * List region servers marked as decommissioned, which can not be assigned regions.<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>   * @return List of decommissioned region servers wrapped by {@link CompletableFuture}<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>   */<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>  CompletableFuture&lt;List&lt;ServerName&gt;&gt; listDecommissionedRegionServers();<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>   * Remove decommission marker from a region server to allow regions assignments. Load regions onto<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>   * the server if a list of regions is given. Region loading is asynchronous.<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>   * @param server The server to recommission.<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>   * @param encodedRegionNames Regions to load onto the server.<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   */<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>  CompletableFuture&lt;Void&gt; recommissionRegionServer(ServerName server,<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>      List&lt;byte[]&gt; encodedRegionNames);<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>  /**<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>   * @return cluster status wrapped by {@link CompletableFuture}<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>   */<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>  CompletableFuture&lt;ClusterMetrics&gt; getClusterMetrics();<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>  /**<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>   * @return cluster status wrapped by {@link CompletableFuture}<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>   */<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>  CompletableFuture&lt;ClusterMetrics&gt; getClusterMetrics(EnumSet&lt;Option&gt; options);<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span><a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>  /**<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>   * @return current master server name wrapped by {@link CompletableFuture}<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>   */<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>  default CompletableFuture&lt;ServerName&gt; getMaster() {<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    return getClusterMetrics(EnumSet.of(Option.MASTER)).thenApply(ClusterMetrics::getMasterName);<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>  /**<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @return current backup master list wrapped by {@link CompletableFuture}<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   */<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>  default CompletableFuture&lt;Collection&lt;ServerName&gt;&gt; getBackupMasters() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>    return getClusterMetrics(EnumSet.of(Option.BACKUP_MASTERS))<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>      .thenApply(ClusterMetrics::getBackupMasterNames);<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>  }<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>   * @return current live region servers list wrapped by {@link CompletableFuture}<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>   */<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  default CompletableFuture&lt;Collection&lt;ServerName&gt;&gt; getRegionServers() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>    return getClusterMetrics(EnumSet.of(Option.LIVE_SERVERS))<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>      .thenApply(cm -&gt; cm.getLiveServerMetrics().keySet());<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /**<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @return a list of master coprocessors wrapped by {@link CompletableFuture}<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   */<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>  default CompletableFuture&lt;List&lt;String&gt;&gt; getMasterCoprocessorNames() {<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_COPROCESSORS))<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>        .thenApply(ClusterMetrics::getMasterCoprocessorNames);<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>  /**<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>   * Get the info port of the current master if one is available.<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>   * @return master info port<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>   */<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>  default CompletableFuture&lt;Integer&gt; getMasterInfoPort() {<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_INFO_PORT)).thenApply(<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      ClusterMetrics::getMasterInfoPort);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>  }<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>   * Shuts down the HBase cluster.<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>   */<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>  CompletableFuture&lt;Void&gt; shutdown();<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>  /**<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>   * Shuts down the current HBase master only.<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>   */<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>  CompletableFuture&lt;Void&gt; stopMaster();<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span><a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Stop the designated regionserver.<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * @param serverName<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   */<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>  CompletableFuture&lt;Void&gt; stopRegionServer(ServerName serverName);<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>   * Update the configuration and trigger an online config change on the regionserver.<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>   * @param serverName : The server whose config needs to be updated.<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>   */<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  CompletableFuture&lt;Void&gt; updateConfiguration(ServerName serverName);<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>   * Update the configuration and trigger an online config change on all the masters and<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>   * regionservers.<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>   */<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>  CompletableFuture&lt;Void&gt; updateConfiguration();<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span><a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>  /**<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Roll the log writer. I.e. for filesystem based write ahead logs, start writing to a new file.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   * &lt;p&gt;<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * When the returned CompletableFuture is done, it only means the rollWALWriter request was sent<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>   * to the region server and may need some time to finish the rollWALWriter operation. As a side<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>   * effect of this call, the named region server may schedule store flushes at the request of the<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>   * wal.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>   * @param serverName The servername of the region server.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>   */<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>  CompletableFuture&lt;Void&gt; rollWALWriter(ServerName serverName);<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span><a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>  /**<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>   * Clear compacting queues on a region server.<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>   * @param serverName<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>   * @param queues the set of queue name<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>   */<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>  CompletableFuture&lt;Void&gt; clearCompactionQueues(ServerName serverName, Set&lt;String&gt; queues);<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span><a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  /**<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>   * Get a list of {@link RegionMetrics} of all regions hosted on a region seerver.<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>   * @param serverName<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>   * @return a list of {@link RegionMetrics} wrapped by {@link CompletableFuture}<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>   */<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  CompletableFuture&lt;List&lt;RegionMetrics&gt;&gt; getRegionMetrics(ServerName serverName);<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  /**<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>   * Get a list of {@link RegionMetrics} of all regions hosted on a region seerver for a table.<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>   * @param serverName<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>   * @param tableName<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>   * @return a list of {@link RegionMetrics} wrapped by {@link CompletableFuture}<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>   */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  CompletableFuture&lt;List&lt;RegionMetrics&gt;&gt; getRegionMetrics(ServerName serverName,<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>    TableName tableName);<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span><a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>  /**<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>   * Check whether master is in maintenance mode<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>   * @return true if master is in maintenance mode, false otherwise. The return value will be<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>   *         wrapped by a {@link CompletableFuture}<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>   */<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>  CompletableFuture&lt;Boolean&gt; isMasterInMaintenanceMode();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span><a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>  /**<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>   * Get the current compaction state of a table. It could be in a major compaction, a minor<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>   * compaction, both, or none.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>   * @param tableName table to examine<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>   * @return the current compaction state wrapped by a {@link CompletableFuture}<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>   */<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  default CompletableFuture&lt;CompactionState&gt; getCompactionState(TableName tableName) {<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>    return getCompactionState(tableName, CompactType.NORMAL);<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>  }<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>   * Get the current compaction state of a table. It could be in a major compaction, a minor<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>   * compaction, both, or none.<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>   * @param tableName table to examine<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>   * @param compactType {@link org.apache.hadoop.hbase.client.CompactType}<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>   * @return the current compaction state wrapped by a {@link CompletableFuture}<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>   */<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  CompletableFuture&lt;CompactionState&gt; getCompactionState(TableName tableName,<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>      CompactType compactType);<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>   * Get the current compaction state of region. It could be in a major compaction, a minor<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>   * compaction, both, or none.<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>   * @param regionName region to examine<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>   * @return the current compaction state wrapped by a {@link CompletableFuture}<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>   */<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  CompletableFuture&lt;CompactionState&gt; getCompactionStateForRegion(byte[] regionName);<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span><a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>  /**<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>   * Get the timestamp of the last major compaction for the passed table.<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>   * &lt;p&gt;<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>   * The timestamp of the oldest HFile resulting from a major compaction of that table, or not<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   * present if no such HFile could be found.<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>   * @param tableName table to examine<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>   * @return the last major compaction timestamp wrapped by a {@link CompletableFuture}<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>   */<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  CompletableFuture&lt;Optional&lt;Long&gt;&gt; getLastMajorCompactionTimestamp(TableName tableName);<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span><a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>  /**<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>   * Get the timestamp of the last major compaction for the passed region.<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>   * &lt;p&gt;<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>   * The timestamp of the oldest HFile resulting from a major compaction of that region, or not<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>   * present if no such HFile could be found.<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * @param regionName region to examine<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   * @return the last major compaction timestamp wrapped by a {@link CompletableFuture}<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>   */<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>  CompletableFuture&lt;Optional&lt;Long&gt;&gt; getLastMajorCompactionTimestampForRegion(byte[] regionName);<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>   * @return the list of supported security capabilities. The return value will be wrapped by a<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>   *         {@link CompletableFuture}.<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>   */<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>  CompletableFuture&lt;List&lt;SecurityCapability&gt;&gt; getSecurityCapabilities();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>  /**<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>   * Turn the load balancer on or off.<a name="line.1194"></a>
-<span class="sourceLineNo">1195</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.1195"></a>
-<span class="sourceLineNo">1196</span>   * @return Previous balancer value wrapped by a {@link CompletableFuture}.<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>   */<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>  default CompletableFuture&lt;Boolean&gt; balancerSwitch(boolean on) {<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>    return balancerSwitch(on, false);<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>   * Turn the load balancer on or off.<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>   * &lt;p/&gt;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>   * Notice that, the method itself is always non-blocking, which means it will always return<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>   * immediately. The {@code drainRITs} parameter only effects when will we complete the returned<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>   * {@link CompletableFuture}.<a name="line.1207"></a>
-<span class="sourceLineNo">1208</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.1208"></a>
-<span class="sourceLineNo">1209</span>   * @param drainRITs If &lt;code&gt;true&lt;/code&gt;, it waits until current balance() call, if outstanding,<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>   *          to return.<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>   * @return Previous balancer value wrapped by a {@link CompletableFuture}.<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>   */<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>  CompletableFuture&lt;Boolean&gt; balancerSwitch(boolean on, boolean drainRITs);<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>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>   * reassignments. Can NOT run for various reasons. Check logs.<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>   *         {@link CompletableFuture}.<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>   */<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>  default CompletableFuture&lt;Boolean&gt; balance() {<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>    return balance(false);<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  }<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span><a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>  /**<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>   * reassignments. If there is region in transition, force parameter of true would still run<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>   * balancer. Can *not* run for other reasons. Check logs.<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>   * @param forcible whether we should force balance even if there is region in transition.<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>   *         {@link CompletableFuture}.<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>   */<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>  CompletableFuture&lt;Boolean&gt; balance(boolean forcible);<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span><a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>  /**<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>   * Query the current state of the balancer.<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>   * @return true if the balance switch is on, false otherwise. The return value will be wrapped by a<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span>   *         {@link CompletableFuture}.<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>   */<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>  CompletableFuture&lt;Boolean&gt; isBalancerEnabled();<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span><a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>  /**<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>   * Set region normalizer on/off.<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>   * @param on whether normalizer should be on or off<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>   * @return Previous normalizer value wrapped by a {@link CompletableFuture}<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>   */<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span>  CompletableFuture&lt;Boolean&gt; normalizerSwitch(boolean on);<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span><a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>  /**<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>   * Query the current state of the region normalizer<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>   * @return true if region normalizer is on, false otherwise. The return value will be wrapped by a<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>   *         {@link CompletableFuture}<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>   */<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>  CompletableFuture&lt;Boolean&gt; isNormalizerEnabled();<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span><a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>  /**<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>   * Invoke region normalizer. Can NOT run for various reasons. Check logs.<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>   * @return true if region normalizer ran, false otherwise. The return value will be wrapped by a<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>   *         {@link CompletableFuture}<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>   */<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>  CompletableFuture&lt;Boolean&gt; normalize();<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span><a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>  /**<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>   * Turn the cleaner chore on/off.<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>   * @param on<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>   * @return Previous cleaner state wrapped by a {@link CompletableFuture}<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>   */<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span>  CompletableFuture&lt;Boolean&gt; cleanerChoreSwitch(boolean on);<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span><a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>  /**<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>   * Query the current state of the cleaner chore.<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>   * @return true if cleaner chore is on, false otherwise. The return value will be wrapped by<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>   *         a {@link CompletableFuture}<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>   */<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>  CompletableFuture&lt;Boolean&gt; isCleanerChoreEnabled();<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>  /**<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>   * Ask for cleaner chore to run.<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>   * @return true if cleaner chore 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; runCleanerChore();<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 catalog janitor 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 the previous 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; catalogJanitorSwitch(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 on the catalog janitor state.<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>   * @return true if the catalog janitor is on, false otherwise. The return value will be<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>   *         wrapped by 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; isCatalogJanitorEnabled();<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 a scan of the catalog table.<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>   * @return the number of entries cleaned. 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;Integer&gt; runCatalogJanitor();<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>   * Execute the given coprocessor call on the master.<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>   * &lt;p&gt;<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>   * one line lambda expression, like:<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>   *<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>   * &lt;pre&gt;<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>   * &lt;code&gt;<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>   * channel -&gt; xxxService.newStub(channel)<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>   * &lt;/code&gt;<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>   * &lt;/pre&gt;<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>   * @param callable a delegation to the actual protobuf rpc call. See the comment of<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>   *          {@link ServiceCaller} for more details.<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>   * @param &lt;S&gt; the type of the asynchronous stub<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>   * @param &lt;R&gt; the type of the return value<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>   * @see ServiceCaller<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>   */<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>      ServiceCaller&lt;S, R&gt; callable);<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span><a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>  /**<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>   * Execute the given coprocessor call on the given region server.<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>   * &lt;p&gt;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>   * one line lambda expression, like:<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>   *<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>   * &lt;pre&gt;<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>   * &lt;code&gt;<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>   * channel -&gt; xxxService.newStub(channel)<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>   * &lt;/code&gt;<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>   * &lt;/pre&gt;<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>   * @param callable a delegation to the actual protobuf rpc call. See the comment of<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>   *          {@link ServiceCaller} for more details.<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>   * @param serverName the given region server<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>   * @param &lt;S&gt; the type of the asynchronous stub<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>   * @param &lt;R&gt; the type of the return value<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>   * @see ServiceCaller<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>   */<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>    ServiceCaller&lt;S, R&gt; callable, ServerName serverName);<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span><a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>  /**<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>   * List all the dead region servers.<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>   */<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  default CompletableFuture&lt;List&lt;ServerName&gt;&gt; listDeadServers() {<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>    return this.getClusterMetrics(EnumSet.of(Option.DEAD_SERVERS))<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>        .thenApply(ClusterMetrics::getDeadServerNames);<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>  }<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>   * Clear dead region servers from master.<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>   * @param servers list of dead region servers.<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>   * @return - returns a list of servers that not cleared wrapped by a {@link CompletableFuture}.<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>   */<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>  CompletableFuture&lt;List&lt;ServerName&gt;&gt; clearDeadServers(final List&lt;ServerName&gt; servers);<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>  /**<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>   * Clear all the blocks corresponding to this table from BlockCache. For expert-admins. Calling<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>   * this API will drop all the cached blocks specific to a table from BlockCache. This can<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>   * significantly impact the query performance as the subsequent queries will have to retrieve the<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>   * blocks from underlying filesystem.<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>   * @param tableName table to clear block cache<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>   * @return CacheEvictionStats related to the eviction wrapped by a {@link CompletableFuture}.<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>   */<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>  CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(final TableName tableName);<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span><a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>  /**<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>   * Create a new table by cloning the existent table schema.<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>   *<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>   * @param tableName name of the table to be cloned<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>   * @param newTableName name of the new table where the table will be created<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>   * @param preserveSplits True if the splits should be preserved<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>   */<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>  CompletableFuture&lt;Void&gt;  cloneTableSchema(final TableName tableName,<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>      final TableName newTableName, final boolean preserveSplits);<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span><a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>  /**<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>   * Turn the compaction on or off. Disabling compactions will also interrupt any currently ongoing<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>   * compactions. This state is ephemeral. The setting will be lost on restart. Compaction<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>   * can also be enabled/disabled by modifying configuration hbase.regionserver.compaction.enabled<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>   * in hbase-site.xml.<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>   *<a name="line.1390"></a>
-<span class="sourceLineNo">1391</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.1391"></a>
-<span class="sourceLineNo">1392</span>   * @param serverNamesList list of region servers.<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>   * @return Previous compaction states for region servers<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>   */<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>  CompletableFuture&lt;Map&lt;ServerName, Boolean&gt;&gt; compactionSwitch(boolean switchState,<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>      List&lt;String&gt; serverNamesList);<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span><a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>  /**<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>   * Switch the rpc throttle enabled state.<a name="line.1399"></a>
-<span class="sourceLineNo">1400</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.1400"></a>
-<span class="sourceLineNo">1401</span>   * @return Previous rpc throttle enabled value<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>   */<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>  CompletableFuture&lt;Boolean&gt; switchRpcThrottle(boolean enable);<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span><a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>  /**<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>   * Get if the rpc throttle is enabled.<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>   * @return True if rpc throttle is enabled<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>   */<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>  CompletableFuture&lt;Boolean&gt; isRpcThrottleEnabled();<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span><a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>  /**<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>   * Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>   * can be exceeded if region server has availble quota.<a name="line.1413"></a>
-<span class="sourceLineNo">1414</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.1414"></a>
-<span class="sourceLineNo">1415</span>   * @return Previous exceed throttle enabled value<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>   */<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>  CompletableFuture&lt;Boolean&gt; exceedThrottleQuotaSwitch(boolean enable);<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>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>   */<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>  CompletableFuture&lt;Map&lt;TableName, Long&gt;&gt; getSpaceQuotaTableSizes();<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>   * Fetches the observed {@link SpaceQuotaSnapshotView}s observed by a RegionServer.<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>   */<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>  CompletableFuture&lt;? extends Map&lt;TableName, ? extends SpaceQuotaSnapshotView&gt;&gt;<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span>      getRegionServerSpaceQuotaSnapshots(ServerName serverName);<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>   * Returns the Master's view of a quota on the given {@code namespace} or null if the Master has<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>   * no quota information on that namespace.<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>   */<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>  CompletableFuture&lt;? extends SpaceQuotaSnapshotView&gt;<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>      getCurrentSpaceQuotaSnapshot(String namespace);<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span><a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>  /**<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the Master has<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>   * no quota information on that table.<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>   */<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>  CompletableFuture&lt;? extends SpaceQuotaSnapshotView&gt; getCurrentSpaceQuotaSnapshot(<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>      TableName tableName);<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>   * Grants user specific permissions<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>   * @param userPermission user name and the specific permission<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>   * @param mergeExistingPermissions If set to false, later granted permissions will override<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>   *          previous granted permissions. otherwise, it'll merge with previous granted<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>   *          permissions.<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>   */<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>  CompletableFuture&lt;Void&gt; grant(UserPermission userPermission, boolean mergeExistingPermissions);<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>   * Revokes user specific permissions<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>   * @param userPermission user name and the specific permission<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>   */<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>  CompletableFuture&lt;Void&gt; revoke(UserPermission userPermission);<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span><a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>  /**<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>   * Get the global/namespace/table permissions for user<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>   * @param getUserPermissionsRequest A request contains which user, global, namespace or table<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>   *          permissions needed<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>   * @return The user and permission list<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span>   */<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>  CompletableFuture&lt;List&lt;UserPermission&gt;&gt;<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>      getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest);<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>   * Check if the user has specific permissions<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>   * @param userName the user name<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>   * @param permissions the specific permission list<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>   * @return True if user has the specific permissions<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>   */<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>  CompletableFuture&lt;List&lt;Boolean&gt;&gt; hasUserPermissions(String userName,<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>      List&lt;Permission&gt; permissions);<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>   * Check if call user has specific permissions<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span>   * @param permissions the specific permission list<a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>   * @return True if user has the specific permissions<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>   */<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>  default CompletableFuture&lt;List&lt;Boolean&gt;&gt; hasUserPermissions(List&lt;Permission&gt; permissions) {<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>    return hasUserPermissions(null, permissions);<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>  }<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>}<a name="line.1485"></a>
+<span class="sourceLineNo">749</span>   * taken. If the table is disabled, an offline snapshot is taken. Snapshots are taken<a name="line.749"></a>
+<span class="sourceLineNo">750</span>   * sequentially even when requested concurrently, across all tables. Snapshots are considered<a name="line.750"></a>
+<span class="sourceLineNo">751</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.751"></a>
+<span class="sourceLineNo">752</span>   * name (even a different type or with different parameters) will fail with a<a name="line.752"></a>
+<span class="sourceLineNo">753</span>   * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.753"></a>
+<span class="sourceLineNo">754</span>   * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.754"></a>
+<span class="sourceLineNo">755</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.755"></a>
+<span class="sourceLineNo">756</span>   * @param snapshotName name of the snapshot to be created<a name="line.756"></a>
+<span class="sourceLineNo">757</span>   * @param tableName name of the table for which snapshot is created<a name="line.757"></a>
+<span class="sourceLineNo">758</span>   */<a name="line.758"></a>
+<span class="sourceLineNo">759</span>  default CompletableFuture&lt;Void&gt; snapshot(String snapshotName, TableName tableName) {<a name="line.759"></a>
+<span class="sourceLineNo">760</span>    return snapshot(snapshotName, tableName, SnapshotType.FLUSH);<a name="line.760"></a>
+<span class="sourceLineNo">761</span>  }<a name="line.761"></a>
+<span class="sourceLineNo">762</span><a name="line.762"></a>
+<span class="sourceLineNo">763</span>  /**<a name="line.763"></a>
+<span class="sourceLineNo">764</span>   * Create typed snapshot of the table. Snapshots are considered unique based on &lt;b&gt;the name of the<a name="line.764"></a>
+<span class="sourceLineNo">765</span>   * snapshot&lt;/b&gt;. Snapshots are taken sequentially even when requested concurrently, across all<a name="line.765"></a>
+<span class="sourceLineNo">766</span>   * tables. Attempts to take a snapshot with the same name (even a different type or with<a name="line.766"></a>
+<span class="sourceLineNo">767</span>   * different parameters) will fail with a<a name="line.767"></a>
+<span class="sourceLineNo">768</span>   * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.768"></a>
+<span class="sourceLineNo">769</span>   * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.769"></a>
+<span class="sourceLineNo">770</span>   * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.770"></a>
+<span class="sourceLineNo">771</span>   * @param snapshotName name to give the snapshot on the filesystem. Must be unique from all other<a name="line.771"></a>
+<span class="sourceLineNo">772</span>   *          snapshots stored on the cluster<a name="line.772"></a>
+<span class="sourceLineNo">773</span>   * @param tableName name of the table to snapshot<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   * @param type type of snapshot to take<a name="line.774"></a>
+<span class="sourceLineNo">775</span>   */<a name="line.775"></a>
+<span class="sourceLineNo">776</span>  default CompletableFuture&lt;Void&gt; snapshot(String snapshotName, TableName tableName,<a name="line.776"></a>
+<span class="sourceLineNo">777</span>      SnapshotType type) {<a name="line.777"></a>
+<span class="sourceLineNo">778</span>    return snapshot(new SnapshotDescription(snapshotName, tableName, type));<a name="line.778"></a>
+<span class="sourceLineNo">779</span>  }<a name="line.779"></a>
+<span class="sourceLineNo">780</span><a name="line.780"></a>
+<span class="sourceLineNo">781</span>  /**<a name="line.781"></a>
+<span class="sourceLineNo">782</span>   * Take a snapshot and wait for the server to complete that snapshot asynchronously. Snapshots<a name="line.782"></a>
+<span class="sourceLineNo">783</span>   * are taken sequentially even when requested concurrently, across all tables. Snapshots are<a name="line.783"></a>
+<span class="sourceLineNo">784</span>   * considered unique based on &lt;b&gt;the name of the snapshot&lt;/b&gt;.<a name="line.784"></a>
+<span class="sourceLineNo">785</span>   * Attempts to take a snapshot with the same name (even a different type or with different<a name="line.785"></a>
+<span class="sourceLineNo">786</span>   * parameters) will fail with a {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException}<a name="line.786"></a>
+<span class="sourceLineNo">787</span>   * indicating the duplicate naming. Snapshot names follow the same naming constraints as tables in<a name="line.787"></a>
+<span class="sourceLineNo">788</span>   * HBase. See {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.788"></a>
+<span class="sourceLineNo">789</span>   * You should probably use {@link #snapshot(String, org.apache.hadoop.hbase.TableName)} unless you<a name="line.789"></a>
+<span class="sourceLineNo">790</span>   * are sure about the type of snapshot that you want to take.<a name="line.790"></a>
+<span class="sourceLineNo">791</span>   * @param snapshot snapshot to take<a name="line.791"></a>
+<span class="sourceLineNo">792</span>   */<a name="line.792"></a>
+<span class="sourceLineNo">793</span>  CompletableFuture&lt;Void&gt; snapshot(SnapshotDescription snapshot);<a name="line.793"></a>
+<span class="sourceLineNo">794</span><a name="line.794"></a>
+<span class="sourceLineNo">795</span>  /**<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * Check the current state of the passed snapshot. There are three possible states:<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   * &lt;ol&gt;<a name="line.797"></a>
+<span class="sourceLineNo">798</span>   * &lt;li&gt;running - returns &lt;tt&gt;false&lt;/tt&gt;&lt;/li&gt;<a name="line.798"></a>
+<span class="sourceLineNo">799</span>   * &lt;li&gt;finished - returns &lt;tt&gt;true&lt;/tt&gt;&lt;/li&gt;<a name="line.799"></a>
+<span class="sourceLineNo">800</span>   * &lt;li&gt;finished with error - throws the exception that caused the snapshot to fail&lt;/li&gt;<a name="line.800"></a>
+<span class="sourceLineNo">801</span>   * &lt;/ol&gt;<a name="line.801"></a>
+<span class="sourceLineNo">802</span>   * The cluster only knows about the most recent snapshot. Therefore, if another snapshot has been<a name="line.802"></a>
+<span class="sourceLineNo">803</span>   * run/started since the snapshot you are checking, you will receive an<a name="line.803"></a>
+<span class="sourceLineNo">804</span>   * {@link org.apache.hadoop.hbase.snapshot.UnknownSnapshotException}.<a name="line.804"></a>
+<span class="sourceLineNo">805</span>   * @param snapshot description of the snapshot to check<a name="line.805"></a>
+<span class="sourceLineNo">806</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.806"></a>
+<span class="sourceLineNo">807</span>   *         running<a name="line.807"></a>
+<span class="sourceLineNo">808</span>   */<a name="line.808"></a>
+<span class="sourceLineNo">809</span>  CompletableFuture&lt;Boolean&gt; isSnapshotFinished(SnapshotDescription snapshot);<a name="line.809"></a>
+<span class="sourceLineNo">810</span><a name="line.810"></a>
+<span class="sourceLineNo">811</span>  /**<a name="line.811"></a>
+<span class="sourceLineNo">812</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If the<a name="line.812"></a>
+<span class="sourceLineNo">813</span>   * "hbase.snapshot.restore.take.failsafe.snapshot" configuration property is set to true, a<a name="line.813"></a>
+<span class="sourceLineNo">814</span>   * snapshot of the current table is taken before executing the restore operation. In case of<a name="line.814"></a>
+<span class="sourceLineNo">815</span>   * restore failure, the failsafe snapshot will be restored. If the restore completes without<a name="line.815"></a>
+<span class="sourceLineNo">816</span>   * problem the failsafe snapshot is deleted.<a name="line.816"></a>
+<span class="sourceLineNo">817</span>   * @param snapshotName name of the snapshot to restore<a name="line.817"></a>
+<span class="sourceLineNo">818</span>   */<a name="line.818"></a>
+<span class="sourceLineNo">819</span>  CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName);<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>  /**<a name="line.821"></a>
+<span class="sourceLineNo">822</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.822"></a>
+<span class="sourceLineNo">823</span>   * 'takeFailSafeSnapshot' is set to true, a snapshot of the current table is taken before<a name="line.823"></a>
+<span class="sourceLineNo">824</span>   * executing the restore operation. In case of restore failure, the failsafe snapshot will be<a name="line.824"></a>
+<span class="sourceLineNo">825</span>   * restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.825"></a>
+<span class="sourceLineNo">826</span>   * failsafe snapshot name is configurable by using the property<a name="line.826"></a>
+<span class="sourceLineNo">827</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.827"></a>
+<span class="sourceLineNo">828</span>   * @param snapshotName name of the snapshot to restore<a name="line.828"></a>
+<span class="sourceLineNo">829</span>   * @param takeFailSafeSnapshot true if the failsafe snapshot should be taken<a name="line.829"></a>
+<span class="sourceLineNo">830</span>   */<a name="line.830"></a>
+<span class="sourceLineNo">831</span>  default CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName,<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      boolean takeFailSafeSnapshot) {<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    return restoreSnapshot(snapshotName, takeFailSafeSnapshot, false);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * 'takeFailSafeSnapshot' is set to true, a snapshot of the current table is taken before<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   * executing the restore operation. In case of restore failure, the failsafe snapshot will be<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   * restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * failsafe snapshot name is configurable by using the property<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * "hbase.snapshot.restore.failsafe.name".<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * @param snapshotName name of the snapshot to restore<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   * @param takeFailSafeSnapshot true if the failsafe snapshot should be taken<a name="line.844"></a>
+<span class="sourceLineNo">845</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to restore acl of snapshot<a name="line.845"></a>
+<span class="sourceLineNo">846</span>   */<a name="line.846"></a>
+<span class="sourceLineNo">847</span>  CompletableFuture&lt;Void&gt; restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot,<a name="line.847"></a>
+<span class="sourceLineNo">848</span>      boolean restoreAcl);<a name="line.848"></a>
+<span class="sourceLineNo">849</span><a name="line.849"></a>
+<span class="sourceLineNo">850</span>  /**<a name="line.850"></a>
+<span class="sourceLineNo">851</span>   * Create a new table by cloning the snapshot content.<a name="line.851"></a>
+<span class="sourceLineNo">852</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.852"></a>
+<span class="sourceLineNo">853</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.853"></a>
+<span class="sourceLineNo">854</span>   */<a name="line.854"></a>
+<span class="sourceLineNo">855</span>  default CompletableFuture&lt;Void&gt; cloneSnapshot(String snapshotName, TableName tableName) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    return cloneSnapshot(snapshotName, tableName, false);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span>   * Create a new table by cloning the snapshot content.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>   * @param snapshotName name of the snapshot to be cloned<a name="line.861"></a>
+<span class="sourceLineNo">862</span>   * @param tableName name of the table where the snapshot will be restored<a name="line.862"></a>
+<span class="sourceLineNo">863</span>   * @param restoreAcl &lt;code&gt;true&lt;/code&gt; to restore acl of snapshot<a name="line.863"></a>
+<span class="sourceLineNo">864</span>   */<a name="line.864"></a>
+<span class="sourceLineNo">865</span>  CompletableFuture&lt;Void&gt; cloneSnapshot(String snapshotName, TableName tableName,<a name="line.865"></a>
+<span class="sourceLineNo">866</span>      boolean restoreAcl);<a name="line.866"></a>
+<span class="sourceLineNo">867</span><a name="line.867"></a>
+<span class="sourceLineNo">868</span>  /**<a name="line.868"></a>
+<span class="sourceLineNo">869</span>   * List completed snapshots.<a name="line.869"></a>
+<span class="sourceLineNo">870</span>   * @return a list of snapshot descriptors for completed snapshots wrapped by a<a name="line.870"></a>
+<span class="sourceLineNo">871</span>   *         {@link CompletableFuture}<a name="line.871"></a>
+<span class="sourceLineNo">872</span>   */<a name="line.872"></a>
+<span class="sourceLineNo">873</span>  CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listSnapshots();<a name="line.873"></a>
+<span class="sourceLineNo">874</span><a name="line.874"></a>
+<span class="sourceLineNo">875</span>  /**<a name="line.875"></a>
+<span class="sourceLineNo">876</span>   * List all the completed snapshots matching the given pattern.<a name="line.876"></a>
+<span class="sourceLineNo">877</span>   * @param pattern The compiled regular expression to match against<a name="line.877"></a>
+<span class="sourceLineNo">878</span>   * @return - returns a List of SnapshotDescription wrapped by a {@link CompletableFuture}<a name="line.878"></a>
+<span class="sourceLineNo">879</span>   */<a name="line.879"></a>
+<span class="sourceLineNo">880</span>  CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listSnapshots(Pattern pattern);<a name="line.880"></a>
+<span class="sourceLineNo">881</span><a name="line.881"></a>
+<span class="sourceLineNo">882</span>  /**<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   * List all the completed snapshots matching the given table name pattern.<a name="line.883"></a>
+<span class="sourceLineNo">884</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.884"></a>
+<span class="sourceLineNo">885</span>   * @return - returns a List of completed SnapshotDescription wrapped by a<a name="line.885"></a>
+<span class="sourceLineNo">886</span>   *         {@link CompletableFuture}<a name="line.886"></a>
+<span class="sourceLineNo">887</span>   */<a name="line.887"></a>
+<span class="sourceLineNo">888</span>  CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listTableSnapshots(Pattern tableNamePattern);<a name="line.888"></a>
+<span class="sourceLineNo">889</span><a name="line.889"></a>
+<span class="sourceLineNo">890</span>  /**<a name="line.890"></a>
+<span class="sourceLineNo">891</span>   * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.891"></a>
+<span class="sourceLineNo">892</span>   * name regular expression.<a name="line.892"></a>
+<span class="sourceLineNo">893</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.893"></a>
+<span class="sourceLineNo">894</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.894"></a>
+<span class="sourceLineNo">895</span>   * @return - returns a List of completed SnapshotDescription wrapped by a<a name="line.895"></a>
+<span class="sourceLineNo">896</span>   *         {@link CompletableFuture}<a name="line.896"></a>
+<span class="sourceLineNo">897</span>   */<a name="line.897"></a>
+<span class="sourceLineNo">898</span>  CompletableFuture&lt;List&lt;SnapshotDescription&gt;&gt; listTableSnapshots(Pattern tableNamePattern,<a name="line.898"></a>
+<span class="sourceLineNo">899</span>      Pattern snapshotNamePattern);<a name="line.899"></a>
+<span class="sourceLineNo">900</span><a name="line.900"></a>
+<span class="sourceLineNo">901</span>  /**<a name="line.901"></a>
+<span class="sourceLineNo">902</span>   * Delete an existing snapshot.<a name="line.902"></a>
+<span class="sourceLineNo">903</span>   * @param snapshotName name of the snapshot<a name="line.903"></a>
+<span class="sourceLineNo">904</span>   */<a name="line.904"></a>
+<span class="sourceLineNo">905</span>  CompletableFuture&lt;Void&gt; deleteSnapshot(String snapshotName);<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span>  /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span>   * Delete all existing snapshots.<a name="line.908"></a>
+<span class="sourceLineNo">909</span>   */<a name="line.909"></a>
+<span class="sourceLineNo">910</span>  CompletableFuture&lt;Void&gt; deleteSnapshots();<a name="line.910"></a>
+<span class="sourceLineNo">911</span><a name="line.911"></a>
+<span class="sourceLineNo">912</span>  /**<a name="line.912"></a>
+<span class="sourceLineNo">913</span>   * Delete existing snapshots whose names match the pattern passed.<a name="line.913"></a>
+<span class="sourceLineNo">914</span>   * @param pattern pattern for names of the snapshot to match<a name="line.914"></a>
+<span class="sourceLineNo">915</span>   */<a name="line.915"></a>
+<span class="sourceLineNo">916</span>  CompletableFuture&lt;Void&gt; deleteSnapshots(Pattern pattern);<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>   * Delete all existing snapshots matching the given table name pattern.<a name="line.919"></a>
+<span class="sourceLineNo">920</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.920"></a>
+<span class="sourceLineNo">921</span>   */<a name="line.921"></a>
+<span class="sourceLineNo">922</span>  CompletableFuture&lt;Void&gt; deleteTableSnapshots(Pattern tableNamePattern);<a name="line.922"></a>
+<span class="sourceLineNo">923</span><a name="line.923"></a>
+<span class="sourceLineNo">924</span>  /**<a name="line.924"></a>
+<span class="sourceLineNo">925</span>   * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.925"></a>
+<span class="sourceLineNo">926</span>   * name regular expression.<a name="line.926"></a>
+<span class="sourceLineNo">927</span>   * @param tableNamePattern The compiled table name regular expression to match against<a name="line.927"></a>
+<span class="sourceLineNo">928</span>   * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.928"></a>
+<span class="sourceLineNo">929</span>   */<a name="line.929"></a>
+<span class="sourceLineNo">930</span>  CompletableFuture&lt;Void&gt; deleteTableSnapshots(Pattern tableNamePattern,<a name="line.930"></a>
+<span class="sourceLineNo">931</span>      Pattern snapshotNamePattern);<a name="line.931"></a>
+<span class="sourceLineNo">932</span><a name="line.932"></a>
+<span class="sourceLineNo">933</span>  /**<a name="line.933"></a>
+<span class="sourceLineNo">934</span>   * Execute a distributed procedure on a cluster.<a name="line.934"></a>
+<span class="sourceLineNo">935</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.935"></a>
+<span class="sourceLineNo">936</span>   *          root ZK node name of the procedure).<a name="line.936"></a>
+<span class="sourceLineNo">937</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.937"></a>
+<span class="sourceLineNo">938</span>   *          optional.<a name="line.938"></a>
+<span class="sourceLineNo">939</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.939"></a>
+<span class="sourceLineNo">940</span>   */<a name="line.940"></a>
+<span class="sourceLineNo">941</span>  CompletableFuture&lt;Void&gt; execProcedure(String signature, String instance,<a name="line.941"></a>
+<span class="sourceLineNo">942</span>      Map&lt;String, String&gt; props);<a name="line.942"></a>
+<span class="sourceLineNo">943</span><a name="line.943"></a>
+<span class="sourceLineNo">944</span>  /**<a name="line.944"></a>
+<span class="sourceLineNo">945</span>   * Execute a distributed procedure on a cluster.<a name="line.945"></a>
+<span class="sourceLineNo">946</span>   * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.946"></a>
+<span class="sourceLineNo">947</span>   *          root ZK node name of the procedure).<a name="line.947"></a>
+<span class="sourceLineNo">948</span>   * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.948"></a>
+<span class="sourceLineNo">949</span>   *          optional.<a name="line.949"></a>
+<span class="sourceLineNo">950</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.950"></a>
+<span class="sourceLineNo">951</span>   * @return data returned after procedure execution. null if no return data.<a name="line.951"></a>
+<span class="sourceLineNo">952</span>   */<a name="line.952"></a>
+<span class="sourceLineNo">953</span>  CompletableFuture&lt;byte[]&gt; execProcedureWithReturn(String signature, String instance,<a name="line.953"></a>
+<span class="sourceLineNo">954</span>      Map&lt;String, String&gt; props);<a name="line.954"></a>
+<span class="sourceLineNo">955</span><a name="line.955"></a>
+<span class="sourceLineNo">956</span>  /**<a name="line.956"></a>
+<span class="sourceLineNo">957</span>   * Check the current state of the specified procedure. There are three possible states:<a name="line.957"></a>
+<span class="sourceLineNo">958</span>   * &lt;ol&gt;<a name="line.958"></a>
+<span class="sourceLineNo">959</span>   * &lt;li&gt;running - returns &lt;tt&gt;false&lt;/tt&gt;&lt;/li&gt;<a name="line.959"></a>
+<span class="sourceLineNo">960</span>   * &lt;li&gt;finished - returns &lt;tt&gt;true&lt;/tt&gt;&lt;/li&gt;<a name="line.960"></a>
+<span class="sourceLineNo">961</span>   * &lt;li&gt;finished with error - throws the exception that caused the procedure to fail&lt;/li&gt;<a name="line.961"></a>
+<span class="sourceLineNo">962</span>   * &lt;/ol&gt;<a name="line.962"></a>
+<span class="sourceLineNo">963</span>   * @param signature The signature that uniquely identifies a procedure<a name="line.963"></a>
+<span class="sourceLineNo">964</span>   * @param instance The instance name of the procedure<a name="line.964"></a>
+<span class="sourceLineNo">965</span>   * @param props Property/Value pairs of properties passing to the procedure<a name="line.965"></a>
+<span class="sourceLineNo">966</span>   * @return true if the specified procedure is finished successfully, false if it is still running.<a name="line.966"></a>
+<span class="sourceLineNo">967</span>   *         The value is wrapped by {@link CompletableFuture}<a name="line.967"></a>
+<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
+<span class="sourceLineNo">969</span>  CompletableFuture&lt;Boolean&gt; isProcedureFinished(String signature, String instance,<a name="line.969"></a>
+<span class="sourceLineNo">970</span>      Map&lt;String, String&gt; props);<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>   * Abort a procedure<a name="line.973"></a>
+<span class="sourceLineNo">974</span>   * Do not use. Usually it is ignored but if not, it can do more damage than good. See hbck2.<a name="line.974"></a>
+<span class="sourceLineNo">975</span>   * @param procId ID of the procedure to abort<a name="line.975"></a>
+<span class="sourceLineNo">976</span>   * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.976"></a>
+<span class="sourceLineNo">977</span>   * @return true if aborted, false if procedure already completed or does not exist. the value is<a name="line.977"></a>
+<span class="sourceLineNo">978</span>   *         wrapped by {@link CompletableFuture}<a name="line.978"></a>
+<span class="sourceLineNo">979</span>   * @deprecated Since 2.1.1 -- to be removed.<a name="line.979"></a>
+<span class="sourceLineNo">980</span>   */<a name="line.980"></a>
+<span class="sourceLineNo">981</span>  @Deprecated<a name="line.981"></a>
+<span class="sourceLineNo">982</span>  CompletableFuture&lt;Boolean&gt; abortProcedure(long procId, boolean mayInterruptIfRunning);<a name="line.982"></a>
+<span class="sourceLineNo">983</span><a name="line.983"></a>
+<span class="sourceLineNo">984</span>  /**<a name="line.984"></a>
+<span class="sourceLineNo">985</span>   * List procedures<a name="line.985"></a>
+<span class="sourceLineNo">986</span>   * @return procedure list JSON wrapped by {@link CompletableFuture}<a name="line.986"></a>
+<span class="sourceLineNo">987</span>   */<a name="line.987"></a>
+<span class="sourceLineNo">988</span>  CompletableFuture&lt;String&gt; getProcedures();<a name="line.988"></a>
+<span class="sourceLineNo">989</span><a name="line.989"></a>
+<span class="sourceLineNo">990</span>  /**<a name="line.990"></a>
+<span class="sourceLineNo">991</span>   * List locks.<a name="line.991"></a>
+<span class="sourceLineNo">992</span>   * @return lock list JSON wrapped by {@link CompletableFuture}<a name="line.992"></a>
+<span class="sourceLineNo">993</span>   */<a name="line.993"></a>
+<span class="sourceLineNo">994</span>  CompletableFuture&lt;String&gt; getLocks();<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>   * Mark region server(s) as decommissioned to prevent additional regions from getting<a name="line.997"></a>
+<span class="sourceLineNo">998</span>   * assigned to them. Optionally unload the regions on the servers. If there are multiple servers<a name="line.998"></a>
+<span class="sourceLineNo">999</span>   * to be decommissioned, decommissioning them at the same time can prevent wasteful region<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>   * movements. Region unloading is asynchronous.<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>   * @param servers The list of servers to decommission.<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>   * @param offload True to offload the regions from the decommissioned servers<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span>   */<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>  CompletableFuture&lt;Void&gt; decommissionRegionServers(List&lt;ServerName&gt; servers, boolean offload);<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span><a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>  /**<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>   * List region servers marked as decommissioned, which can not be assigned regions.<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span>   * @return List of decommissioned region servers wrapped by {@link CompletableFuture}<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>   */<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>  CompletableFuture&lt;List&lt;ServerName&gt;&gt; listDecommissionedRegionServers();<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span><a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>  /**<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span>   * Remove decommission marker from a region server to allow regions assignments. Load regions onto<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>   * the server if a list of regions is given. Region loading is asynchronous.<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>   * @param server The server to recommission.<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>   * @param encodedRegionNames Regions to load onto the server.<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>   */<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>  CompletableFuture&lt;Void&gt; recommissionRegionServer(ServerName server,<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>      List&lt;byte[]&gt; encodedRegionNames);<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span><a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>  /**<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>   * @return cluster status wrapped by {@link CompletableFuture}<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>   */<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>  CompletableFuture&lt;ClusterMetrics&gt; getClusterMetrics();<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span><a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>  /**<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>   * @return cluster status wrapped by {@link CompletableFuture}<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>   */<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>  CompletableFuture&lt;ClusterMetrics&gt; getClusterMetrics(EnumSet&lt;Option&gt; options);<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span><a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>  /**<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>   * @return current master server name wrapped by {@link CompletableFuture}<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>   */<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>  default CompletableFuture&lt;ServerName&gt; getMaster() {<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>    return getClusterMetrics(EnumSet.of(Option.MASTER)).thenApply(ClusterMetrics::getMasterName);<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>  }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span><a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>  /**<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>   * @return current backup master list wrapped by {@link CompletableFuture}<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>   */<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>  default CompletableFuture&lt;Collection&lt;ServerName&gt;&gt; getBackupMasters() {<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>    return getClusterMetrics(EnumSet.of(Option.BACKUP_MASTERS))<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>      .thenApply(ClusterMetrics::getBackupMasterNames);<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>  /**<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>   * @return current live region servers list wrapped by {@link CompletableFuture}<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>   */<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>  default CompletableFuture&lt;Collection&lt;ServerName&gt;&gt; getRegionServers() {<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>    return getClusterMetrics(EnumSet.of(Option.LIVE_SERVERS))<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>      .thenApply(cm -&gt; cm.getLiveServerMetrics().keySet());<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>  }<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span><a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>  /**<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>   * @return a list of master coprocessors wrapped by {@link CompletableFuture}<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>  default CompletableFuture&lt;List&lt;String&gt;&gt; getMasterCoprocessorNames() {<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_COPROCESSORS))<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>        .thenApply(ClusterMetrics::getMasterCoprocessorNames);<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>  }<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>   * Get the info port of the current master if one is available.<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>   * @return master info port<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>   */<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>  default CompletableFuture&lt;Integer&gt; getMasterInfoPort() {<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>    return getClusterMetrics(EnumSet.of(Option.MASTER_INFO_PORT)).thenApply(<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>      ClusterMetrics::getMasterInfoPort);<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>  /**<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>   * Shuts down the HBase cluster.<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>   */<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>  CompletableFuture&lt;Void&gt; shutdown();<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>   * Shuts down the current HBase master only.<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>   */<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>  CompletableFuture&lt;Void&gt; stopMaster();<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span><a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>  /**<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>   * Stop the designated regionserver.<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>   * @param serverName<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>  CompletableFuture&lt;Void&gt; stopRegionServer(ServerName serverName);<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>  /**<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>   * Update the configuration and trigger an online config change on the regionserver.<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>   * @param serverName : The server whose config needs to be updated.<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>   */<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>  CompletableFuture&lt;Void&gt; updateConfiguration(ServerName serverName);<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>   * Update the configuration and trigger an online config change on all the masters and<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>   * regionservers.<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>   */<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>  CompletableFuture&lt;Void&gt; updateConfiguration();<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>   * Roll the log writer. I.e. for filesystem based write ahead logs, start writing to a new file.<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>   * &lt;p&gt;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>   * When the returned CompletableFuture is done, it only means the rollWALWriter request was sent<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>   * to the region server and may need some time to finish the rollWALWriter operation. As a side<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>   * effect of this call, the named region server may schedule store flushes at the request of the<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>   * wal.<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>   * @param serverName The servername of the region server.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>   */<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  CompletableFuture&lt;Void&gt; rollWALWriter(ServerName serverName);<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span><a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  /**<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>   * Clear compacting queues on a region server.<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>   * @param serverName<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>   * @param queues the set of queue name<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>   */<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>  CompletableFuture&lt;Void&gt; clearCompactionQueues(ServerName serverName, Set&lt;String&gt; queues);<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span><a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  /**<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>   * Get a list of {@link RegionMetrics} of all regions hosted on a region seerver.<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>   * @param serverName<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>   * @return a list of {@link RegionMetrics} wrapped by {@link CompletableFuture}<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>   */<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>  CompletableFuture&lt;List&lt;RegionMetrics&gt;&gt; getRegionMetrics(ServerName serverName);<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 a list of {@link RegionMetrics} of all regions hosted on a region seerver for a table.<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>   * @param serverName<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>   * @param tableName<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>   * @return a list of {@link RegionMetrics} wrapped by {@link CompletableFuture}<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>   */<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>  CompletableFuture&lt;List&lt;RegionMetrics&gt;&gt; getRegionMetrics(ServerName serverName,<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>    TableName tableName);<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span><a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>  /**<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>   * Check whether master is in maintenance mode<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>   * @return true if master is in maintenance mode, false otherwise. The return value will be<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>   *         wrapped by a {@link CompletableFuture}<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>   */<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>  CompletableFuture&lt;Boolean&gt; isMasterInMaintenanceMode();<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>   * Get the current compaction state of a table. It could be in a major compaction, a minor<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>   * compaction, both, or none.<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>   * @param tableName table to examine<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>   * @return the current compaction state wrapped by a {@link CompletableFuture}<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>   */<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>  default CompletableFuture&lt;CompactionState&gt; getCompactionState(TableName tableName) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>    return getCompactionState(tableName, CompactType.NORMAL);<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>   * Get the current compaction state of a table. It could be in a major compaction, a minor<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>   * compaction, both, or none.<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>   * @param tableName table to examine<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>   * @param compactType {@link org.apache.hadoop.hbase.client.CompactType}<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span>   * @return the current compaction state wrapped by a {@link CompletableFuture}<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>   */<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>  CompletableFuture&lt;CompactionState&gt; getCompactionState(TableName tableName,<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>      CompactType compactType);<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span><a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>  /**<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>   * Get the current compaction state of region. It could be in a major compaction, a minor<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>   * compaction, both, or none.<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>   * @param regionName region to examine<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>   * @return the current compaction state wrapped by a {@link CompletableFuture}<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>   */<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>  CompletableFuture&lt;CompactionState&gt; getCompactionStateForRegion(byte[] regionName);<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>   * Get the timestamp of the last major compaction for the passed table.<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>   * &lt;p&gt;<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>   * The timestamp of the oldest HFile resulting from a major compaction of that table, or not<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>   * present if no such HFile could be found.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>   * @param tableName table to examine<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>   * @return the last major compaction timestamp wrapped by a {@link CompletableFuture}<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>   */<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>  CompletableFuture&lt;Optional&lt;Long&gt;&gt; getLastMajorCompactionTimestamp(TableName tableName);<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>   * Get the timestamp of the last major compaction for the passed region.<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>   * &lt;p&gt;<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>   * The timestamp of the oldest HFile resulting from a major compaction of that region, or not<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>   * present if no such HFile could be found.<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>   * @param regionName region to examine<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>   * @return the last major compaction timestamp wrapped by a {@link CompletableFuture}<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>  CompletableFuture&lt;Optional&lt;Long&gt;&gt; getLastMajorCompactionTimestampForRegion(byte[] regionName);<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>   * @return the list of supported security capabilities. The return value will be wrapped by a<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>   *         {@link CompletableFuture}.<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>   */<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>  CompletableFuture&lt;List&lt;SecurityCapability&gt;&gt; getSecurityCapabilities();<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span><a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  /**<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>   * Turn the load balancer on or off.<a name="line.1195"></a>
+<span class="sourceLineNo">1196</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.1196"></a>
+<span class="sourceLineNo">1197</span>   * @return Previous balancer value wrapped by a {@link CompletableFuture}.<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>   */<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span>  default CompletableFuture&lt;Boolean&gt; balancerSwitch(boolean on) {<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>    return balancerSwitch(on, false);<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>  /**<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>   * Turn the load balancer on or off.<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>   * &lt;p/&gt;<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>   * Notice that, the method itself is always non-blocking, which means it will always return<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>   * immediately. The {@code drainRITs} parameter only effects when will we complete the returned<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>   * {@link CompletableFuture}.<a name="line.1208"></a>
+<span class="sourceLineNo">1209</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.1209"></a>
+<span class="sourceLineNo">1210</span>   * @param drainRITs If &lt;code&gt;true&lt;/code&gt;, it waits until current balance() call, if outstanding,<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>   *          to return.<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>   * @return Previous balancer value wrapped by a {@link CompletableFuture}.<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>   */<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>  CompletableFuture&lt;Boolean&gt; balancerSwitch(boolean on, boolean drainRITs);<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span><a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>  /**<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>   * reassignments. Can NOT run for various reasons. Check logs.<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>   *         {@link CompletableFuture}.<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>   */<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>  default CompletableFuture&lt;Boolean&gt; balance() {<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>    return balance(false);<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>  }<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span><a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>  /**<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>   * Invoke the balancer. Will run the balancer and if regions to move, it will go ahead and do the<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>   * reassignments. If there is region in transition, force parameter of true would still run<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>   * balancer. Can *not* run for other reasons. Check logs.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>   * @param forcible whether we should force balance even if there is region in transition.<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>   * @return True if balancer ran, false otherwise. The return value will be wrapped by a<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>   *         {@link CompletableFuture}.<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>   */<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>  CompletableFuture&lt;Boolean&gt; balance(boolean forcible);<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span><a name="line.1235"></a>
+<span class="sourceLineNo">1236</span>  /**<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>   * Query the current state of the balancer.<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>   * @return true if the balance switch is on, false otherwise. The return value will be wrapped by a<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>   *         {@link CompletableFuture}.<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>   */<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>  CompletableFuture&lt;Boolean&gt; isBalancerEnabled();<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span><a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>  /**<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>   * Set region normalizer on/off.<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>   * @param on whether normalizer should be on or off<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>   * @return Previous normalizer value wrapped by a {@link CompletableFuture}<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span>   */<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span>  CompletableFuture&lt;Boolean&gt; normalizerSwitch(boolean on);<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span><a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>  /**<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>   * Query the current state of the region normalizer<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>   * @return true if region normalizer is on, false otherwise. The return value will be wrapped by a<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>   *         {@link CompletableFuture}<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>   */<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  CompletableFuture&lt;Boolean&gt; isNormalizerEnabled();<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span><a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>  /**<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>   * Invoke region normalizer. Can NOT run for various reasons. Check logs.<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>   * @return true if region normalizer ran, false otherwise. The return value will be wrapped by a<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>   *         {@link CompletableFuture}<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>   */<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>  CompletableFuture&lt;Boolean&gt; normalize();<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span><a name="line.1263"></a>
+<span class="sourceLineNo">1264</span>  /**<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>   * Turn the cleaner chore on/off.<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>   * @param on<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>   * @return Previous cleaner state wrapped by a {@link CompletableFuture}<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span>   */<a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>  CompletableFuture&lt;Boolean&gt; cleanerChoreSwitch(boolean on);<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span><a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>  /**<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span>   * Query the current state of the cleaner chore.<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>   * @return true if cleaner chore is on, false otherwise. The return value will be wrapped by<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>   *         a {@link CompletableFuture}<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>   */<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>  CompletableFuture&lt;Boolean&gt; isCleanerChoreEnabled();<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>   * Ask for cleaner chore to run.<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>   * @return true if cleaner chore ran, false otherwise. The return value will be wrapped by a<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>   *         {@link CompletableFuture}<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>   */<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>  CompletableFuture&lt;Boolean&gt; runCleanerChore();<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>   * Turn the catalog janitor on/off.<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>   * @param on<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>   * @return the previous state wrapped by a {@link CompletableFuture}<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>   */<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>  CompletableFuture&lt;Boolean&gt; catalogJanitorSwitch(boolean on);<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>   * Query on the catalog janitor state.<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>   * @return true if the catalog janitor is on, false otherwise. The return value will be<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>   *         wrapped by a {@link CompletableFuture}<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>   */<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span>  CompletableFuture&lt;Boolean&gt; isCatalogJanitorEnabled();<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span><a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>  /**<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>   * Ask for a scan of the catalog table.<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>   * @return the number of entries cleaned. The return value will be wrapped by a<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>   *         {@link CompletableFuture}<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>   */<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>  CompletableFuture&lt;Integer&gt; runCatalogJanitor();<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span><a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>  /**<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>   * Execute the given coprocessor call on the master.<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>   * &lt;p&gt;<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>   * one line lambda expression, like:<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>   *<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>   * &lt;pre&gt;<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>   * &lt;code&gt;<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>   * channel -&gt; xxxService.newStub(channel)<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>   * &lt;/code&gt;<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>   * &lt;/pre&gt;<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>   * @param callable a delegation to the actual protobuf rpc call. See the comment of<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>   *          {@link ServiceCaller} for more details.<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>   * @param &lt;S&gt; the type of the asynchronous stub<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>   * @param &lt;R&gt; the type of the return value<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>   * @see ServiceCaller<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>   */<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>      ServiceCaller&lt;S, R&gt; callable);<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span><a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>  /**<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>   * Execute the given coprocessor call on the given region server.<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>   * &lt;p&gt;<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>   * one line lambda expression, like:<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>   *<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>   * &lt;pre&gt;<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>   * &lt;code&gt;<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>   * channel -&gt; xxxService.newStub(channel)<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>   * &lt;/code&gt;<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>   * &lt;/pre&gt;<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>   * @param callable a delegation to the actual protobuf rpc call. See the comment of<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>   *          {@link ServiceCaller} for more details.<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>   * @param serverName the given region server<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>   * @param &lt;S&gt; the type of the asynchronous stub<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>   * @param &lt;R&gt; the type of the return value<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>   * @see ServiceCaller<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>   */<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>    ServiceCaller&lt;S, R&gt; callable, ServerName serverName);<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span><a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>  /**<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>   * List all the dead region servers.<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>   */<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>  default CompletableFuture&lt;List&lt;ServerName&gt;&gt; listDeadServers() {<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>    return this.getClusterMetrics(EnumSet.of(Option.DEAD_SERVERS))<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>        .thenApply(ClusterMetrics::getDeadServerNames);<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>  /**<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>   * Clear dead region servers from master.<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>   * @param servers list of dead region servers.<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>   * @return - returns a list of servers that not cleared wrapped by a {@link CompletableFuture}.<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>   */<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>  CompletableFuture&lt;List&lt;ServerName&gt;&gt; clearDeadServers(final List&lt;ServerName&gt; servers);<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>   * Clear all the blocks corresponding to this table from BlockCache. For expert-admins. Calling<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>   * this API will drop all the cached blocks specific to a table from BlockCache. This can<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>   * significantly impact the query performance as the subsequent queries will have to retrieve the<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>   * blocks from underlying filesystem.<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>   * @param tableName table to clear block cache<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>   * @return CacheEvictionStats related to the eviction wrapped by a {@link CompletableFuture}.<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>   */<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>  CompletableFuture&lt;CacheEvictionStats&gt; clearBlockCache(final TableName tableName);<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span><a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>  /**<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>   * Create a new table by cloning the existent table schema.<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>   *<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>   * @param tableName name of the table to be cloned<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>   * @param newTableName name of the new table where the table will be created<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>   * @param preserveSplits True if the splits should be preserved<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>   */<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>  CompletableFuture&lt;Void&gt;  cloneTableSchema(final TableName tableName,<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>      final TableName newTableName, final boolean preserveSplits);<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>   * Turn the compaction on or off. Disabling compactions will also interrupt any currently ongoing<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>   * compactions. This state is ephemeral. The setting will be lost on restart. Compaction<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>   * can also be enabled/disabled by modifying configuration hbase.regionserver.compaction.enabled<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>   * in hbase-site.xml.<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
+<span class="sourceLineNo">1392</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.1392"></a>
+<span class="sourceLineNo">1393</span>   * @param serverNamesList list of region servers.<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>   * @return Previous compaction states for region servers<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>   */<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>  CompletableFuture&lt;Map&lt;ServerName, Boolean&gt;&gt; compactionSwitch(boolean switchState,<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>      List&lt;String&gt; serverNamesList);<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span><a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>  /**<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>   * Switch the rpc throttle enabled state.<a name="line.1400"></a>
+<span class="sourceLineNo">1401</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.1401"></a>
+<span class="sourceLineNo">1402</span>   * @return Previous rpc throttle enabled value<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>   */<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span>  CompletableFuture&lt;Boolean&gt; switchRpcThrottle(boolean enable);<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>   * Get if the rpc throttle is enabled.<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>   * @return True if rpc throttle is enabled<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>   */<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>  CompletableFuture&lt;Boolean&gt; isRpcThrottleEnabled();<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span><a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>  /**<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>   * Switch the exceed throttle quota. If enabled, user/table/namespace throttle quota<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>   * can be exceeded if region server has availble quota.<a name="line.1414"></a>
+<span class="sourceLineNo">1415</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.1415"></a>
+<span class="sourceLineNo">1416</span>   * @return Previous exceed throttle enabled value<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>   */<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>  CompletableFuture&lt;Boolean&gt; exceedThrottleQuotaSwitch(boolean enable);<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span><a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>  /**<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>   */<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>  CompletableFuture&lt;Map&lt;TableName, Long&gt;&gt; getSpaceQuotaTableSizes();<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span><a name="line.1424"></a>
+<span class="sourceLineNo">1425</span>  /**<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>   * Fetches the observed {@link SpaceQuotaSnapshotView}s observed by a RegionServer.<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>   */<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span>  CompletableFuture&lt;? extends Map&lt;TableName, ? extends SpaceQuotaSnapshotView&gt;&gt;<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span>      getRegionServerSpaceQuotaSnapshots(ServerName serverName);<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span><a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>  /**<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the Master has<a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>   * no quota information on that namespace.<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>   */<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>  CompletableFuture&lt;? extends SpaceQuotaSnapshotView&gt;<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>      getCurrentSpaceQuotaSnapshot(String namespace);<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span><a name="line.1437"></a>
+<span class="sourceLineNo">1438</span>  /**<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the Master has<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>   * no quota information on that table.<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>   */<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>  CompletableFuture&lt;? extends SpaceQuotaSnapshotView&gt; getCurrentSpaceQuotaSnapshot(<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>      TableName tableName);<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>   * Grants user specific permissions<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>   * @param userPermission user name and the specific permission<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>   * @param mergeExistingPermissions If set to false, later granted permissions will override<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>   *          previous granted permissions. otherwise, it'll merge with previous granted<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>   *          permissions.<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>   */<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>  CompletableFuture&lt;Void&gt; grant(UserPermission userPermission, boolean mergeExistingPermissions);<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>   * Revokes user specific permissions<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>   * @param userPermission user name and the specific permission<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>   */<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>  CompletableFuture&lt;Void&gt; revoke(UserPermission userPermission);<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span><a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>  /**<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>   * Get the global/namespace/table permissions for user<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>   * @param getUserPermissionsRequest A request contains which user, global, namespace or table<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>   *          permissions needed<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>   * @return The user and permission list<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>   */<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>  CompletableFuture&lt;List&lt;UserPermission&gt;&gt;<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>      getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest);<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span><a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>  /**<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>   * Check if the user has specific permissions<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>   * @param userName the user name<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>   * @param permissions the specific permission list<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>   * @return True if user has the specific permissions<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span>   */<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>  CompletableFuture&lt;List&lt;Boolean&gt;&gt; hasUserPermissions(String userName,<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>      List&lt;Permission&gt; permissions);<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span><a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>  /**<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>   * Check if call user has specific permissions<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>   * @param permissions the specific permission list<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>   * @return True if user has the specific permissions<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>   */<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span>  default CompletableFuture&lt;List&lt;Boolean&gt;&gt; hasUserPermissions(List&lt;Permission&gt; permissions) {<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>    return hasUserPermissions(null, permissions);<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>  }<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>}<a name="line.1486"></a>
 
 
 
diff --git a/book.html b/book.html
index 568b62d..d5d3af6 100644
--- a/book.html
+++ b/book.html
@@ -41778,7 +41778,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2019-06-04 14:29:57 UTC
+Last updated 2019-06-05 14:29:53 UTC
 </div>
 </div>
 </body>
diff --git a/bulk-loads.html b/bulk-loads.html
index f632a09..463897b 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -154,7 +154,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-06-04</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-06-05</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 c5944d4..31dba70 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -151,7 +151,7 @@
 <td>3947</td>
 <td>0</td>
 <td>0</td>
-<td>12968</td></tr></table></div>
+<td>12967</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -2121,6591 +2121,6586 @@
 <td>0</td>
 <td>2</td></tr>
 <tr class="b">
-<td><a href="#org.apache.hadoop.hbase.errorhandling.TestForeignExceptionSerialization.java">org/apache/hadoop/hbase/errorhandling/TestForeignExceptionSerialization.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>1</td></tr>
-<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.errorhandling.TimeoutExceptionInjector.java">org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.exceptions.ClientExceptionsUtil.java">org/apache/hadoop/hbase/exceptions/ClientExceptionsUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.exceptions.FailedSanityCheckException.java">org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.exceptions.MergeRegionException.java">org/apache/hadoop/hbase/exceptions/MergeRegionException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.exceptions.TestClientExceptionsUtil.java">org/apache/hadoop/hbase/exceptions/TestClientExceptionsUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.executor.EventHandler.java">org/apache/hadoop/hbase/executor/EventHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.executor.EventType.java">org/apache/hadoop/hbase/executor/EventType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>38</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.executor.ExecutorService.java">org/apache/hadoop/hbase/executor/ExecutorService.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.executor.ExecutorType.java">org/apache/hadoop/hbase/executor/ExecutorType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.favored.FavoredNodeAssignmentHelper.java">org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.favored.FavoredNodeLoadBalancer.java">org/apache/hadoop/hbase/favored/FavoredNodeLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.favored.FavoredNodesPlan.java">org/apache/hadoop/hbase/favored/FavoredNodesPlan.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.favored.FavoredNodesPromoter.java">org/apache/hadoop/hbase/favored/FavoredNodesPromoter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.favored.StartcodeAgnosticServerName.java">org/apache/hadoop/hbase/favored/StartcodeAgnosticServerName.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.favored.TestFavoredNodeAssignmentHelper.java">org/apache/hadoop/hbase/favored/TestFavoredNodeAssignmentHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.BigDecimalComparator.java">org/apache/hadoop/hbase/filter/BigDecimalComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.BinaryComparator.java">org/apache/hadoop/hbase/filter/BinaryComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.BinaryPrefixComparator.java">org/apache/hadoop/hbase/filter/BinaryPrefixComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.BitComparator.java">org/apache/hadoop/hbase/filter/BitComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.ByteArrayComparable.java">org/apache/hadoop/hbase/filter/ByteArrayComparable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.ColumnCountGetFilter.java">org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.ColumnPaginationFilter.java">org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.ColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.ColumnRangeFilter.java">org/apache/hadoop/hbase/filter/ColumnRangeFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.CompareFilter.java">org/apache/hadoop/hbase/filter/CompareFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.DependentColumnFilter.java">org/apache/hadoop/hbase/filter/DependentColumnFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.FamilyFilter.java">org/apache/hadoop/hbase/filter/FamilyFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.Filter.java">org/apache/hadoop/hbase/filter/Filter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.FilterAllFilter.java">org/apache/hadoop/hbase/filter/FilterAllFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.FilterBase.java">org/apache/hadoop/hbase/filter/FilterBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.FilterList.java">org/apache/hadoop/hbase/filter/FilterList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.FilterListBase.java">org/apache/hadoop/hbase/filter/FilterListBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.FilterListWithAND.java">org/apache/hadoop/hbase/filter/FilterListWithAND.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.FilterListWithOR.java">org/apache/hadoop/hbase/filter/FilterListWithOR.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>93</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.FilterTestingCluster.java">org/apache/hadoop/hbase/filter/FilterTestingCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.FilterWrapper.java">org/apache/hadoop/hbase/filter/FilterWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter.java">org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.FirstKeyValueMatchingQualifiersFilter.java">org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.FuzzyRowFilter.java">org/apache/hadoop/hbase/filter/FuzzyRowFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.InclusiveStopFilter.java">org/apache/hadoop/hbase/filter/InclusiveStopFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.KeyOnlyFilter.java">org/apache/hadoop/hbase/filter/KeyOnlyFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.LongComparator.java">org/apache/hadoop/hbase/filter/LongComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.MultiRowRangeFilter.java">org/apache/hadoop/hbase/filter/MultiRowRangeFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.MultipleColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.NullComparator.java">org/apache/hadoop/hbase/filter/NullComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.PageFilter.java">org/apache/hadoop/hbase/filter/PageFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.ParseConstants.java">org/apache/hadoop/hbase/filter/ParseConstants.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.ParseFilter.java">org/apache/hadoop/hbase/filter/ParseFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>37</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.PrefixFilter.java">org/apache/hadoop/hbase/filter/PrefixFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.QualifierFilter.java">org/apache/hadoop/hbase/filter/QualifierFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.RandomRowFilter.java">org/apache/hadoop/hbase/filter/RandomRowFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.RegexStringComparator.java">org/apache/hadoop/hbase/filter/RegexStringComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.RowFilter.java">org/apache/hadoop/hbase/filter/RowFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.SingleColumnValueExcludeFilter.java">org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.SingleColumnValueFilter.java">org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.SkipFilter.java">org/apache/hadoop/hbase/filter/SkipFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.SubstringComparator.java">org/apache/hadoop/hbase/filter/SubstringComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestColumnPaginationFilter.java">org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>40</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/TestColumnPrefixFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestColumnRangeFilter.java">org/apache/hadoop/hbase/filter/TestColumnRangeFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestDependentColumnFilter.java">org/apache/hadoop/hbase/filter/TestDependentColumnFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFilter.java">org/apache/hadoop/hbase/filter/TestFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>352</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFilterList.java">org/apache/hadoop/hbase/filter/TestFilterList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFilterListOrOperatorWithBlkCnt.java">org/apache/hadoop/hbase/filter/TestFilterListOrOperatorWithBlkCnt.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFilterWithScanLimits.java">org/apache/hadoop/hbase/filter/TestFilterWithScanLimits.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFilterWrapper.java">org/apache/hadoop/hbase/filter/TestFilterWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFirstKeyValueMatchingQualifiersFilter.java">org/apache/hadoop/hbase/filter/TestFirstKeyValueMatchingQualifiersFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFuzzyRowAndColumnRangeFilter.java">org/apache/hadoop/hbase/filter/TestFuzzyRowAndColumnRangeFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFuzzyRowFilterEndToEnd.java">org/apache/hadoop/hbase/filter/TestFuzzyRowFilterEndToEnd.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestInclusiveStopFilter.java">org/apache/hadoop/hbase/filter/TestInclusiveStopFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestLongComparator.java">org/apache/hadoop/hbase/filter/TestLongComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestMultiRowRangeFilter.java">org/apache/hadoop/hbase/filter/TestMultiRowRangeFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestMultipleColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/TestMultipleColumnPrefixFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestNullComparator.java">org/apache/hadoop/hbase/filter/TestNullComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestPageFilter.java">org/apache/hadoop/hbase/filter/TestPageFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestPrefixFilter.java">org/apache/hadoop/hbase/filter/TestPrefixFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestRandomRowFilter.java">org/apache/hadoop/hbase/filter/TestRandomRowFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestRegexComparator.java">org/apache/hadoop/hbase/filter/TestRegexComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestScanRowPrefix.java">org/apache/hadoop/hbase/filter/TestScanRowPrefix.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestSingleColumnValueExcludeFilter.java">org/apache/hadoop/hbase/filter/TestSingleColumnValueExcludeFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestSingleColumnValueFilter.java">org/apache/hadoop/hbase/filter/TestSingleColumnValueFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TimestampsFilter.java">org/apache/hadoop/hbase/filter/TimestampsFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.ValueFilter.java">org/apache/hadoop/hbase/filter/ValueFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.WhileMatchFilter.java">org/apache/hadoop/hbase/filter/WhileMatchFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.fs.HFileSystem.java">org/apache/hadoop/hbase/fs/HFileSystem.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.fs.TestBlockReorderBlockLocation.java">org/apache/hadoop/hbase/fs/TestBlockReorderBlockLocation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.fs.TestBlockReorderMultiBlocks.java">org/apache/hadoop/hbase/fs/TestBlockReorderMultiBlocks.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.ByteBuffInputStream.java">org/apache/hadoop/hbase/io/ByteBuffInputStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.ByteBufferOutputStream.java">org/apache/hadoop/hbase/io/ByteBufferOutputStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.CellOutputStream.java">org/apache/hadoop/hbase/io/CellOutputStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.FSDataInputStreamWrapper.java">org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.FileLink.java">org/apache/hadoop/hbase/io/FileLink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.HFileLink.java">org/apache/hadoop/hbase/io/HFileLink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.HalfStoreFileReader.java">org/apache/hadoop/hbase/io/HalfStoreFileReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.HeapSize.java">org/apache/hadoop/hbase/io/HeapSize.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.ImmutableBytesWritable.java">org/apache/hadoop/hbase/io/ImmutableBytesWritable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.Reference.java">org/apache/hadoop/hbase/io/Reference.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.TagCompressionContext.java">org/apache/hadoop/hbase/io/TagCompressionContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.TestByteBufferOutputStream.java">org/apache/hadoop/hbase/io/TestByteBufferOutputStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.TestFileLink.java">org/apache/hadoop/hbase/io/TestFileLink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.TestHFileLink.java">org/apache/hadoop/hbase/io/TestHFileLink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.TestHalfStoreFileReader.java">org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.TestHeapSize.java">org/apache/hadoop/hbase/io/TestHeapSize.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.TestImmutableBytesWritable.java">org/apache/hadoop/hbase/io/TestImmutableBytesWritable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.TestMetricsIO.java">org/apache/hadoop/hbase/io/TestMetricsIO.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.TimeRange.java">org/apache/hadoop/hbase/io/TimeRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.WALLink.java">org/apache/hadoop/hbase/io/WALLink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.asyncfs.AsyncFSOutput.java">org/apache/hadoop/hbase/io/asyncfs/AsyncFSOutput.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper.java">org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.compress.Compression.java">org/apache/hadoop/hbase/io/compress/Compression.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.crypto.Cipher.java">org/apache/hadoop/hbase/io/crypto/Cipher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.crypto.Decryptor.java">org/apache/hadoop/hbase/io/crypto/Decryptor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.crypto.Encryption.java">org/apache/hadoop/hbase/io/crypto/Encryption.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>52</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.crypto.Encryptor.java">org/apache/hadoop/hbase/io/crypto/Encryptor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.crypto.KeyProvider.java">org/apache/hadoop/hbase/io/crypto/KeyProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.crypto.TestEncryption.java">org/apache/hadoop/hbase/io/crypto/TestEncryption.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.crypto.aes.CryptoAES.java">org/apache/hadoop/hbase/io/crypto/aes/CryptoAES.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.BufferedDataBlockEncoder.java">org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.CopyKeyDataBlockEncoder.java">org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.DataBlockEncoder.java">org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.DataBlockEncoding.java">org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.EncodedDataBlock.java">org/apache/hadoop/hbase/io/encoding/EncodedDataBlock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext.java">org/apache/hadoop/hbase/io/encoding/HFileBlockDecodingContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.HFileBlockDefaultEncodingContext.java">org/apache/hadoop/hbase/io/encoding/HFileBlockDefaultEncodingContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.HFileBlockEncodingContext.java">org/apache/hadoop/hbase/io/encoding/HFileBlockEncodingContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.RowIndexCodecV1.java">org/apache/hadoop/hbase/io/encoding/RowIndexCodecV1.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.TestDataBlockEncoders.java">org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.encoding.TestEncodedSeekers.java">org/apache/hadoop/hbase/io/encoding/TestEncodedSeekers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hadoopbackport.ThrottledInputStream.java">org/apache/hadoop/hbase/io/hadoopbackport/ThrottledInputStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.BlockCache.java">org/apache/hadoop/hbase/io/hfile/BlockCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.BlockCacheKey.java">org/apache/hadoop/hbase/io/hfile/BlockCacheKey.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.BlockCacheUtil.java">org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.BlockCachesIterator.java">org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.BlockType.java">org/apache/hadoop/hbase/io/hfile/BlockType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CacheConfig.java">org/apache/hadoop/hbase/io/hfile/CacheConfig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CacheStats.java">org/apache/hadoop/hbase/io/hfile/CacheStats.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CacheTestUtils.java">org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.Cacheable.java">org/apache/hadoop/hbase/io/hfile/Cacheable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CacheableDeserializer.java">org/apache/hadoop/hbase/io/hfile/CacheableDeserializer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager.java">org/apache/hadoop/hbase/io/hfile/CacheableDeserializerIdManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.ChecksumUtil.java">org/apache/hadoop/hbase/io/hfile/ChecksumUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CombinedBlockCache.java">org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CompoundBloomFilter.java">org/apache/hadoop/hbase/io/hfile/CompoundBloomFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CompoundBloomFilterBase.java">org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CompoundBloomFilterWriter.java">org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterWriter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.CorruptHFileException.java">org/apache/hadoop/hbase/io/hfile/CorruptHFileException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.java">org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFile.java">org/apache/hadoop/hbase/io/hfile/HFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>36</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileBlock.java">org/apache/hadoop/hbase/io/hfile/HFileBlock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileBlockIndex.java">org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>39</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileContext.java">org/apache/hadoop/hbase/io/hfile/HFileContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoder.java">org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoderImpl.java">org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoderImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFilePrettyPrinter.java">org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.java">org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>26</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileScanner.java">org/apache/hadoop/hbase/io/hfile/HFileScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileUtil.java">org/apache/hadoop/hbase/io/hfile/HFileUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileWriterImpl.java">org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>26</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.KVGenerator.java">org/apache/hadoop/hbase/io/hfile/KVGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.LruBlockCache.java">org/apache/hadoop/hbase/io/hfile/LruBlockCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.LruCachedBlock.java">org/apache/hadoop/hbase/io/hfile/LruCachedBlock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.LruCachedBlockQueue.java">org/apache/hadoop/hbase/io/hfile/LruCachedBlockQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.NanoTimer.java">org/apache/hadoop/hbase/io/hfile/NanoTimer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.NoOpDataBlockEncoder.java">org/apache/hadoop/hbase/io/hfile/NoOpDataBlockEncoder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.PrefetchExecutor.java">org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.RandomKeyValueUtil.java">org/apache/hadoop/hbase/io/hfile/RandomKeyValueUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestCacheConfig.java">org/apache/hadoop/hbase/io/hfile/TestCacheConfig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestCacheOnWrite.java">org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestCachedBlockQueue.java">org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestChecksum.java">org/apache/hadoop/hbase/io/hfile/TestChecksum.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestFixedFileTrailer.java">org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestForceCacheImportantBlocks.java">org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFile.java">org/apache/hadoop/hbase/io/hfile/TestHFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileBlock.java">org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileBlockIndex.java">org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileBlockPositionalRead.java">org/apache/hadoop/hbase/io/hfile/TestHFileBlockPositionalRead.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileDataBlockEncoder.java">org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileWriterV3.java">org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestLruBlockCache.java">org/apache/hadoop/hbase/io/hfile/TestLruBlockCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestPrefetch.java">org/apache/hadoop/hbase/io/hfile/TestPrefetch.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestScannerSelectionUsingKeyRange.java">org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingKeyRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TinyLfuBlockCache.java">org/apache/hadoop/hbase/io/hfile/TinyLfuBlockCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator.java">org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.java">org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>29</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.BucketCacheStats.java">org/apache/hadoop/hbase/io/hfile/bucket/BucketCacheStats.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.ByteBufferIOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/ByteBufferIOEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.CachedEntryQueue.java">org/apache/hadoop/hbase/io/hfile/bucket/CachedEntryQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.FileMmapIOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/FileMmapIOEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.IOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.TestBucketCache.java">org/apache/hadoop/hbase/io/hfile/bucket/TestBucketCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.TestBucketWriterThread.java">org/apache/hadoop/hbase/io/hfile/bucket/TestBucketWriterThread.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.TestFileIOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/TestFileIOEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.util.Dictionary.java">org/apache/hadoop/hbase/io/util/Dictionary.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.util.LRUDictionary.java">org/apache/hadoop/hbase/io/util/LRUDictionary.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.util.MemorySizeUtil.java">org/apache/hadoop/hbase/io/util/MemorySizeUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.util.StreamUtils.java">org/apache/hadoop/hbase/io/util/StreamUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.AbstractRpcClient.java">org/apache/hadoop/hbase/ipc/AbstractRpcClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.AbstractTestIPC.java">org/apache/hadoop/hbase/ipc/AbstractTestIPC.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.AdaptiveLifoCoDelCallQueue.java">org/apache/hadoop/hbase/ipc/AdaptiveLifoCoDelCallQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.BlockingRpcCallback.java">org/apache/hadoop/hbase/ipc/BlockingRpcCallback.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.BlockingRpcClient.java">org/apache/hadoop/hbase/ipc/BlockingRpcClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.BlockingRpcConnection.java">org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.BufferCallBeforeInitHandler.java">org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.BufferChain.java">org/apache/hadoop/hbase/ipc/BufferChain.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.Call.java">org/apache/hadoop/hbase/ipc/Call.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.CallQueueInfo.java">org/apache/hadoop/hbase/ipc/CallQueueInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.CallRunner.java">org/apache/hadoop/hbase/ipc/CallRunner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.CellBlockBuilder.java">org/apache/hadoop/hbase/ipc/CellBlockBuilder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils.java">org/apache/hadoop/hbase/ipc/CoprocessorRpcUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.DefaultNettyEventLoopConfig.java">org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.DelegatingHBaseRpcController.java">org/apache/hadoop/hbase/ipc/DelegatingHBaseRpcController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.FailedServers.java">org/apache/hadoop/hbase/ipc/FailedServers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.HBaseRpcController.java">org/apache/hadoop/hbase/ipc/HBaseRpcController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.HBaseRpcControllerImpl.java">org/apache/hadoop/hbase/ipc/HBaseRpcControllerImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.IPCUtil.java">org/apache/hadoop/hbase/ipc/IPCUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.IntegrationTestRpcClient.java">org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.MetricsHBaseServer.java">org/apache/hadoop/hbase/ipc/MetricsHBaseServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyRpcClient.java">org/apache/hadoop/hbase/ipc/NettyRpcClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyRpcClientConfigHelper.java">org/apache/hadoop/hbase/ipc/NettyRpcClientConfigHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyRpcConnection.java">org/apache/hadoop/hbase/ipc/NettyRpcConnection.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyRpcDuplexHandler.java">org/apache/hadoop/hbase/ipc/NettyRpcDuplexHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyRpcServer.java">org/apache/hadoop/hbase/ipc/NettyRpcServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyRpcServerPreambleHandler.java">org/apache/hadoop/hbase/ipc/NettyRpcServerPreambleHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyRpcServerRequestDecoder.java">org/apache/hadoop/hbase/ipc/NettyRpcServerRequestDecoder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyRpcServerResponseEncoder.java">org/apache/hadoop/hbase/ipc/NettyRpcServerResponseEncoder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyServerCall.java">org/apache/hadoop/hbase/ipc/NettyServerCall.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.NettyServerRpcConnection.java">org/apache/hadoop/hbase/ipc/NettyServerRpcConnection.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.PriorityFunction.java">org/apache/hadoop/hbase/ipc/PriorityFunction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.RWQueueRpcExecutor.java">org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcCall.java">org/apache/hadoop/hbase/ipc/RpcCall.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcCallContext.java">org/apache/hadoop/hbase/ipc/RpcCallContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcClient.java">org/apache/hadoop/hbase/ipc/RpcClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcClientFactory.java">org/apache/hadoop/hbase/ipc/RpcClientFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcConnection.java">org/apache/hadoop/hbase/ipc/RpcConnection.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcControllerFactory.java">org/apache/hadoop/hbase/ipc/RpcControllerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcExecutor.java">org/apache/hadoop/hbase/ipc/RpcExecutor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcScheduler.java">org/apache/hadoop/hbase/ipc/RpcScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcSchedulerContext.java">org/apache/hadoop/hbase/ipc/RpcSchedulerContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcServer.java">org/apache/hadoop/hbase/ipc/RpcServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcServerFactory.java">org/apache/hadoop/hbase/ipc/RpcServerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcServerInterface.java">org/apache/hadoop/hbase/ipc/RpcServerInterface.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.ServerCall.java">org/apache/hadoop/hbase/ipc/ServerCall.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.ServerRpcConnection.java">org/apache/hadoop/hbase/ipc/ServerRpcConnection.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.ServerRpcController.java">org/apache/hadoop/hbase/ipc/ServerRpcController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.java">org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.SimpleRpcServer.java">org/apache/hadoop/hbase/ipc/SimpleRpcServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.SimpleRpcServerResponder.java">org/apache/hadoop/hbase/ipc/SimpleRpcServerResponder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.SimpleServerCall.java">org/apache/hadoop/hbase/ipc/SimpleServerCall.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.SimpleServerRpcConnection.java">org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.TestBufferChain.java">org/apache/hadoop/hbase/ipc/TestBufferChain.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.TestCellBlockBuilder.java">org/apache/hadoop/hbase/ipc/TestCellBlockBuilder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.TestFifoRpcScheduler.java">org/apache/hadoop/hbase/ipc/TestFifoRpcScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.TestHBaseClient.java">org/apache/hadoop/hbase/ipc/TestHBaseClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>41</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.TestHBaseRpcControllerImpl.java">org/apache/hadoop/hbase/ipc/TestHBaseRpcControllerImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.TestProtobufRpcServiceImpl.java">org/apache/hadoop/hbase/ipc/TestProtobufRpcServiceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.TestRpcMetrics.java">org/apache/hadoop/hbase/ipc/TestRpcMetrics.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.TestSimpleRpcScheduler.java">org/apache/hadoop/hbase/ipc/TestSimpleRpcScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.log.HBaseMarkers.java">org/apache/hadoop/hbase/log/HBaseMarkers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.Driver.java">org/apache/hadoop/hbase/mapred/Driver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.GroupingTableMap.java">org/apache/hadoop/hbase/mapred/GroupingTableMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.HRegionPartitioner.java">org/apache/hadoop/hbase/mapred/HRegionPartitioner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.IdentityTableMap.java">org/apache/hadoop/hbase/mapred/IdentityTableMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.IdentityTableReduce.java">org/apache/hadoop/hbase/mapred/IdentityTableReduce.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.MultiTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapred/MultiTableSnapshotInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.RowCounter.java">org/apache/hadoop/hbase/mapred/RowCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableInputFormat.java">org/apache/hadoop/hbase/mapred/TableInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableInputFormatBase.java">org/apache/hadoop/hbase/mapred/TableInputFormatBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableMap.java">org/apache/hadoop/hbase/mapred/TableMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableMapReduceUtil.java">org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>22</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableOutputFormat.java">org/apache/hadoop/hbase/mapred/TableOutputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableRecordReader.java">org/apache/hadoop/hbase/mapred/TableRecordReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableRecordReaderImpl.java">org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableReduce.java">org/apache/hadoop/hbase/mapred/TableReduce.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapred/TableSnapshotInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.TableSplit.java">org/apache/hadoop/hbase/mapred/TableSplit.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.TestGroupingTableMap.java">org/apache/hadoop/hbase/mapred/TestGroupingTableMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.TestIdentityTableMap.java">org/apache/hadoop/hbase/mapred/TestIdentityTableMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.TestRowCounter.java">org/apache/hadoop/hbase/mapred/TestRowCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.TestTableInputFormat.java">org/apache/hadoop/hbase/mapred/TestTableInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.TestTableMapReduce.java">org/apache/hadoop/hbase/mapred/TestTableMapReduce.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.TestTableMapReduceUtil.java">org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapred/TestTableSnapshotInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.CellCounter.java">org/apache/hadoop/hbase/mapreduce/CellCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.CellCreator.java">org/apache/hadoop/hbase/mapreduce/CellCreator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.CellSerialization.java">org/apache/hadoop/hbase/mapreduce/CellSerialization.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.CellSortReducer.java">org/apache/hadoop/hbase/mapreduce/CellSortReducer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.CopyTable.java">org/apache/hadoop/hbase/mapreduce/CopyTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.DefaultVisibilityExpressionResolver.java">org/apache/hadoop/hbase/mapreduce/DefaultVisibilityExpressionResolver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.Driver.java">org/apache/hadoop/hbase/mapreduce/Driver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.Export.java">org/apache/hadoop/hbase/mapreduce/Export.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.ExportUtils.java">org/apache/hadoop/hbase/mapreduce/ExportUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.GroupingTableMapper.java">org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.HFileInputFormat.java">org/apache/hadoop/hbase/mapreduce/HFileInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.java">org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.HRegionPartitioner.java">org/apache/hadoop/hbase/mapreduce/HRegionPartitioner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.HashTable.java">org/apache/hadoop/hbase/mapreduce/HashTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.IdentityTableMapper.java">org/apache/hadoop/hbase/mapreduce/IdentityTableMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.IdentityTableReducer.java">org/apache/hadoop/hbase/mapreduce/IdentityTableReducer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.Import.java">org/apache/hadoop/hbase/mapreduce/Import.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.ImportTsv.java">org/apache/hadoop/hbase/mapreduce/ImportTsv.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>22</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.IntegrationTestBulkLoad.java">org/apache/hadoop/hbase/mapreduce/IntegrationTestBulkLoad.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.IntegrationTestImportTsv.java">org/apache/hadoop/hbase/mapreduce/IntegrationTestImportTsv.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.IntegrationTestTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MapreduceTestingShim.java">org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MultiTableHFileOutputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableHFileOutputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MultiTableInputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MultiTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MultiTableInputFormatTestBase.java">org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatTestBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MultiTableOutputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableOutputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MultiTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableSnapshotInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MultiTableSnapshotInputFormatImpl.java">org/apache/hadoop/hbase/mapreduce/MultiTableSnapshotInputFormatImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MultithreadedTableMapper.java">org/apache/hadoop/hbase/mapreduce/MultithreadedTableMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.MutationSerialization.java">org/apache/hadoop/hbase/mapreduce/MutationSerialization.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.NMapInputFormat.java">org/apache/hadoop/hbase/mapreduce/NMapInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.PutCombiner.java">org/apache/hadoop/hbase/mapreduce/PutCombiner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.PutSortReducer.java">org/apache/hadoop/hbase/mapreduce/PutSortReducer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.ResultSerialization.java">org/apache/hadoop/hbase/mapreduce/ResultSerialization.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.RowCounter.java">org/apache/hadoop/hbase/mapreduce/RowCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.RowCounter_Counters.properties">org/apache/hadoop/hbase/mapreduce/RowCounter_Counters.properties</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.SimpleTotalOrderPartitioner.java">org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.SyncTable.java">org/apache/hadoop/hbase/mapreduce/SyncTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableInputFormat.java">org/apache/hadoop/hbase/mapreduce/TableInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.java">org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>66</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableMapper.java">org/apache/hadoop/hbase/mapreduce/TableMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableOutputCommitter.java">org/apache/hadoop/hbase/mapreduce/TableOutputCommitter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableOutputFormat.java">org/apache/hadoop/hbase/mapreduce/TableOutputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableRecordReader.java">org/apache/hadoop/hbase/mapreduce/TableRecordReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableRecordReaderImpl.java">org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableReducer.java">org/apache/hadoop/hbase/mapreduce/TableReducer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormatImpl.java">org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormatTestBase.java">org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatTestBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableSplit.java">org/apache/hadoop/hbase/mapreduce/TableSplit.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestCellCounter.java">org/apache/hadoop/hbase/mapreduce/TestCellCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestGroupingTableMapper.java">org/apache/hadoop/hbase/mapreduce/TestGroupingTableMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestHBaseMRTestingUtility.java">org/apache/hadoop/hbase/mapreduce/TestHBaseMRTestingUtility.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat2.java">org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>40</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestHRegionPartitioner.java">org/apache/hadoop/hbase/mapreduce/TestHRegionPartitioner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestHashTable.java">org/apache/hadoop/hbase/mapreduce/TestHashTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestImportExport.java">org/apache/hadoop/hbase/mapreduce/TestImportExport.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>39</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestImportTSVWithOperationAttributes.java">org/apache/hadoop/hbase/mapreduce/TestImportTSVWithOperationAttributes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestImportTSVWithTTLs.java">org/apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestImportTSVWithVisibilityLabels.java">org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestImportTsv.java">org/apache/hadoop/hbase/mapreduce/TestImportTsv.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestImportTsvParser.java">org/apache/hadoop/hbase/mapreduce/TestImportTsvParser.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestMultiTableInputFormat.java">org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestMultiTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestMultithreadedTableMapper.java">org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestRowCounter.java">org/apache/hadoop/hbase/mapreduce/TestRowCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>37</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestSyncTable.java">org/apache/hadoop/hbase/mapreduce/TestSyncTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormat.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>26</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScanBase.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatScanBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableMapReduce.java">org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableMapReduceBase.java">org/apache/hadoop/hbase/mapreduce/TestTableMapReduceBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableSplit.java">org/apache/hadoop/hbase/mapreduce/TestTableSplit.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTimeRangeMapRed.java">org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestWALPlayer.java">org/apache/hadoop/hbase/mapreduce/TestWALPlayer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestWALRecordReader.java">org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TextSortReducer.java">org/apache/hadoop/hbase/mapreduce/TextSortReducer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TsvImporterCustomTestMapper.java">org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TsvImporterMapper.java">org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TsvImporterTextMapper.java">org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.VisibilityExpressionResolver.java">org/apache/hadoop/hbase/mapreduce/VisibilityExpressionResolver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.WALInputFormat.java">org/apache/hadoop/hbase/mapreduce/WALInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.WALPlayer.java">org/apache/hadoop/hbase/mapreduce/WALPlayer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication.java">org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.AbstractTestDLS.java">org/apache/hadoop/hbase/master/AbstractTestDLS.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.ActiveMasterManager.java">org/apache/hadoop/hbase/master/ActiveMasterManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.AssignmentVerificationReport.java">org/apache/hadoop/hbase/master/AssignmentVerificationReport.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.CatalogJanitor.java">org/apache/hadoop/hbase/master/CatalogJanitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.ClusterSchema.java">org/apache/hadoop/hbase/master/ClusterSchema.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.ClusterSchemaServiceImpl.java">org/apache/hadoop/hbase/master/ClusterSchemaServiceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.DrainingServerTracker.java">org/apache/hadoop/hbase/master/DrainingServerTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.ExpiredMobFileCleanerChore.java">org/apache/hadoop/hbase/master/ExpiredMobFileCleanerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <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>135</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.HMasterCommandLine.java">org/apache/hadoop/hbase/master/HMasterCommandLine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.LoadBalancer.java">org/apache/hadoop/hbase/master/LoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MasterCoprocessorHost.java">org/apache/hadoop/hbase/master/MasterCoprocessorHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MasterFileSystem.java">org/apache/hadoop/hbase/master/MasterFileSystem.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MasterMobCompactionThread.java">org/apache/hadoop/hbase/master/MasterMobCompactionThread.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MasterRpcServices.java">org/apache/hadoop/hbase/master/MasterRpcServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MasterServices.java">org/apache/hadoop/hbase/master/MasterServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>41</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MasterStatusServlet.java">org/apache/hadoop/hbase/master/MasterStatusServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MasterWalManager.java">org/apache/hadoop/hbase/master/MasterWalManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsAssignmentManager.java">org/apache/hadoop/hbase/master/MetricsAssignmentManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMaster.java">org/apache/hadoop/hbase/master/MetricsMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMasterWrapperImpl.java">org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MirroringTableStateManager.java">org/apache/hadoop/hbase/master/MirroringTableStateManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MobCompactionChore.java">org/apache/hadoop/hbase/master/MobCompactionChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MockRegionServer.java">org/apache/hadoop/hbase/master/MockRegionServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.RackManager.java">org/apache/hadoop/hbase/master/RackManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.RegionPlacementMaintainer.java">org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>29</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.RegionState.java">org/apache/hadoop/hbase/master/RegionState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.ServerListener.java">org/apache/hadoop/hbase/master/ServerListener.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.ServerManager.java">org/apache/hadoop/hbase/master/ServerManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.SnapshotOfRegionAssignmentFromMeta.java">org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.SnapshotSentinel.java">org/apache/hadoop/hbase/master/SnapshotSentinel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.SplitLogManager.java">org/apache/hadoop/hbase/master/SplitLogManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.SplitOrMergeTracker.java">org/apache/hadoop/hbase/master/SplitOrMergeTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestActiveMasterManager.java">org/apache/hadoop/hbase/master/TestActiveMasterManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestCatalogJanitor.java">org/apache/hadoop/hbase/master/TestCatalogJanitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestCatalogJanitorInMemoryStates.java">org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestHMasterCommandLine.java">org/apache/hadoop/hbase/master/TestHMasterCommandLine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterFailoverBalancerPersistence.java">org/apache/hadoop/hbase/master/TestMasterFailoverBalancerPersistence.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterMetricsWrapper.java">org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterNoCluster.java">org/apache/hadoop/hbase/master/TestMasterNoCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterOperationsForRegionReplicas.java">org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterStatusServlet.java">org/apache/hadoop/hbase/master/TestMasterStatusServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterTransitions.java">org/apache/hadoop/hbase/master/TestMasterTransitions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMirroringTableStateManager.java">org/apache/hadoop/hbase/master/TestMirroringTableStateManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestRegionPlacement.java">org/apache/hadoop/hbase/master/TestRegionPlacement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestRegionPlacement2.java">org/apache/hadoop/hbase/master/TestRegionPlacement2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestSplitLogManager.java">org/apache/hadoop/hbase/master/TestSplitLogManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestTableStateManager.java">org/apache/hadoop/hbase/master/TestTableStateManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestWarmupRegion.java">org/apache/hadoop/hbase/master/TestWarmupRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.AssignProcedure.java">org/apache/hadoop/hbase/master/assignment/AssignProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.AssignmentManager.java">org/apache/hadoop/hbase/master/assignment/AssignmentManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.GCMergedRegionsProcedure.java">org/apache/hadoop/hbase/master/assignment/GCMergedRegionsProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.GCRegionProcedure.java">org/apache/hadoop/hbase/master/assignment/GCRegionProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure.java">org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.MockMasterServices.java">org/apache/hadoop/hbase/master/assignment/MockMasterServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.RegionStateStore.java">org/apache/hadoop/hbase/master/assignment/RegionStateStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.RegionStates.java">org/apache/hadoop/hbase/master/assignment/RegionStates.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.SplitTableRegionProcedure.java">org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.TestAssignmentOnRSCrash.java">org/apache/hadoop/hbase/master/assignment/TestAssignmentOnRSCrash.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.TestRegionStates.java">org/apache/hadoop/hbase/master/assignment/TestRegionStates.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.TestSplitTableRegionProcedure.java">org/apache/hadoop/hbase/master/assignment/TestSplitTableRegionProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.BalancerChore.java">org/apache/hadoop/hbase/master/balancer/BalancerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.BalancerTestBase.java">org/apache/hadoop/hbase/master/balancer/BalancerTestBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>74</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>61</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.ClusterLoadState.java">org/apache/hadoop/hbase/master/balancer/ClusterLoadState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.ClusterStatusChore.java">org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.FavoredStochasticBalancer.java">org/apache/hadoop/hbase/master/balancer/FavoredStochasticBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory.java">org/apache/hadoop/hbase/master/balancer/LoadBalancerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.LoadBalancerPerformanceEvaluation.java">org/apache/hadoop/hbase/master/balancer/LoadBalancerPerformanceEvaluation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.RegionInfoComparator.java">org/apache/hadoop/hbase/master/balancer/RegionInfoComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.RegionLocationFinder.java">org/apache/hadoop/hbase/master/balancer/RegionLocationFinder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.ServerAndLoad.java">org/apache/hadoop/hbase/master/balancer/ServerAndLoad.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.SimpleLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>33</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>32</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestBalancerStatusTagInJMXMetrics.java">org/apache/hadoop/hbase/master/balancer/TestBalancerStatusTagInJMXMetrics.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestBaseLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestDefaultLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/TestDefaultLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>48</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestFavoredStochasticBalancerPickers.java">org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestRegionsOnMasterOptions.java">org/apache/hadoop/hbase/master/balancer/TestRegionsOnMasterOptions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestServerAndLoad.java">org/apache/hadoop/hbase/master/balancer/TestServerAndLoad.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>33</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.BaseFileCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/BaseFileCleanerDelegate.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.BaseLogCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.CleanerChore.java">org/apache/hadoop/hbase/master/cleaner/CleanerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.FileCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.HFileLinkCleaner.java">org/apache/hadoop/hbase/master/cleaner/HFileLinkCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestCleanerChore.java">org/apache/hadoop/hbase/master/cleaner/TestCleanerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestHFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestHFileLinkCleaner.java">org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestSnapshotFromMaster.java">org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/TimeToLiveHFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner.java">org/apache/hadoop/hbase/master/cleaner/TimeToLiveLogCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.locking.LockManager.java">org/apache/hadoop/hbase/master/locking/LockManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.locking.LockProcedure.java">org/apache/hadoop/hbase/master/locking/LockProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.EmptyNormalizationPlan.java">org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.NormalizationPlan.java">org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore.java">org/apache/hadoop/hbase/master/normalizer/RegionNormalizerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.RegionNormalizerFactory.java">org/apache/hadoop/hbase/master/normalizer/RegionNormalizerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.TestSimpleRegionNormalizerOnCluster.java">org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.AbstractStateMachineNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.AbstractStateMachineRegionProcedure.java">org/apache/hadoop/hbase/master/procedure/AbstractStateMachineRegionProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.AbstractStateMachineTableProcedure.java">org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.CloneSnapshotProcedure.java">org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.EnableTableProcedure.java">org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureSchedulerPerformanceEvaluation.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureTestingUtility.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureTestingUtility.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ProcedureDescriber.java">org/apache/hadoop/hbase/master/procedure/ProcedureDescriber.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch.java">org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait.java">org/apache/hadoop/hbase/master/procedure/ProcedureSyncWait.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.RestoreSnapshotProcedure.java">org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure.java">org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestDeleteColumnFamilyProcedureFromClient.java">org/apache/hadoop/hbase/master/procedure/TestDeleteColumnFamilyProcedureFromClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestDeleteNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/TestDeleteNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestMasterObserverPostCalls.java">org/apache/hadoop/hbase/master/procedure/TestMasterObserverPostCalls.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestMasterProcedureEvents.java">org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestMasterProcedureSchedulerConcurrency.java">org/apache/hadoop/hbase/master/procedure/TestMasterProcedureSchedulerConcurrency.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestMasterProcedureWalLease.java">org/apache/hadoop/hbase/master/procedure/TestMasterProcedureWalLease.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestSafemodeBringsDownMaster.java">org/apache/hadoop/hbase/master/procedure/TestSafemodeBringsDownMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestTableDescriptorModificationFromClient.java">org/apache/hadoop/hbase/master/procedure/TestTableDescriptorModificationFromClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestWALProcedureStoreOnHDFS.java">org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure.java">org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.replication.TransitPeerSyncReplicationStateProcedure.java">org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.EnabledTableSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.MasterSnapshotVerifier.java">org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.SnapshotHFileCleaner.java">org/apache/hadoop/hbase/master/snapshot/SnapshotHFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.SnapshotManager.java">org/apache/hadoop/hbase/master/snapshot/SnapshotManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.TakeSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.TestSnapshotFileCache.java">org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.TestSnapshotHFileCleaner.java">org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.TestSnapshotManager.java">org/apache/hadoop/hbase/master/snapshot/TestSnapshotManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.CachedMobFile.java">org/apache/hadoop/hbase/mob/CachedMobFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.DefaultMobStoreCompactor.java">org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.DefaultMobStoreFlusher.java">org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.ExpiredMobFileCleaner.java">org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.MobConstants.java">org/apache/hadoop/hbase/mob/MobConstants.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.MobFile.java">org/apache/hadoop/hbase/mob/MobFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.MobFileCache.java">org/apache/hadoop/hbase/mob/MobFileCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.MobFileName.java">org/apache/hadoop/hbase/mob/MobFileName.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.MobTestUtil.java">org/apache/hadoop/hbase/mob/MobTestUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.MobUtils.java">org/apache/hadoop/hbase/mob/MobUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.TestDefaultMobStoreFlusher.java">org/apache/hadoop/hbase/mob/TestDefaultMobStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>34</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.MobCompactor.java">org/apache/hadoop/hbase/mob/compactions/MobCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactionRequest.java">org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactionRequest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.TestMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.TestPartitionedMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/TestPartitionedMobCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.monitoring.LogMonitoring.java">org/apache/hadoop/hbase/monitoring/LogMonitoring.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer.java">org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.monitoring.MonitoredRPCHandlerImpl.java">org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.monitoring.StateDumpServlet.java">org/apache/hadoop/hbase/monitoring/StateDumpServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.monitoring.TaskMonitor.java">org/apache/hadoop/hbase/monitoring/TaskMonitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.monitoring.TestTaskMonitor.java">org/apache/hadoop/hbase/monitoring/TestTaskMonitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.monitoring.ThreadMonitoring.java">org/apache/hadoop/hbase/monitoring/ThreadMonitoring.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mttr.IntegrationTestMTTR.java">org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.namespace.NamespaceStateManager.java">org/apache/hadoop/hbase/namespace/NamespaceStateManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.namespace.NamespaceTableAndRegionInfo.java">org/apache/hadoop/hbase/namespace/NamespaceTableAndRegionInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.namespace.TestNamespaceAuditor.java">org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.net.Address.java">org/apache/hadoop/hbase/net/Address.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.net.TestAddress.java">org/apache/hadoop/hbase/net/TestAddress.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.nio.ByteBuff.java">org/apache/hadoop/hbase/nio/ByteBuff.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.nio.MultiByteBuff.java">org/apache/hadoop/hbase/nio/MultiByteBuff.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>29</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.nio.SingleByteBuff.java">org/apache/hadoop/hbase/nio/SingleByteBuff.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.MasterProcedureManager.java">org/apache/hadoop/hbase/procedure/MasterProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.Procedure.java">org/apache/hadoop/hbase/procedure/Procedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureCoordinatorRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinatorRpcs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureManagerHost.java">org/apache/hadoop/hbase/procedure/ProcedureManagerHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureMember.java">org/apache/hadoop/hbase/procedure/ProcedureMember.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureMemberRpcs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.RegionServerProcedureManager.java">org/apache/hadoop/hbase/procedure/RegionServerProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.SimpleMasterProcedureManager.java">org/apache/hadoop/hbase/procedure/SimpleMasterProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.SimpleRSProcedureManager.java">org/apache/hadoop/hbase/procedure/SimpleRSProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.Subprocedure.java">org/apache/hadoop/hbase/procedure/Subprocedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/TestProcedureCoordinator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureDescriber.java">org/apache/hadoop/hbase/procedure/TestProcedureDescriber.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureMember.java">org/apache/hadoop/hbase/procedure/TestProcedureMember.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestZKProcedure.java">org/apache/hadoop/hbase/procedure/TestZKProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestZKProcedureControllers.java">org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/ZKProcedureCoordinator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ZKProcedureMemberRpcs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureUtil.java">org/apache/hadoop/hbase/procedure/ZKProcedureUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.flush.FlushTableSubprocedure.java">org/apache/hadoop/hbase/procedure/flush/FlushTableSubprocedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/MasterFlushTableProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.flush.RegionServerFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufMagic.java">org/apache/hadoop/hbase/protobuf/ProtobufMagic.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufMessageConverter.java">org/apache/hadoop/hbase/protobuf/ProtobufMessageConverter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufUtil.java">org/apache/hadoop/hbase/protobuf/ProtobufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>115</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ReplicationProtbufUtil.java">org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.protobuf.TestProtobufUtil.java">org/apache/hadoop/hbase/protobuf/TestProtobufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.TestReplicationProtobuf.java">org/apache/hadoop/hbase/protobuf/TestReplicationProtobuf.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement.java">org/apache/hadoop/hbase/quotas/ActivePolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.DefaultOperationQuota.java">org/apache/hadoop/hbase/quotas/DefaultOperationQuota.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.FileSystemUtilizationChore.java">org/apache/hadoop/hbase/quotas/FileSystemUtilizationChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.GlobalQuotaSettingsImpl.java">org/apache/hadoop/hbase/quotas/GlobalQuotaSettingsImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.NamespaceQuotaSnapshotStore.java">org/apache/hadoop/hbase/quotas/NamespaceQuotaSnapshotStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.NoopOperationQuota.java">org/apache/hadoop/hbase/quotas/NoopOperationQuota.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.NoopQuotaLimiter.java">org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.OperationQuota.java">org/apache/hadoop/hbase/quotas/OperationQuota.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaCache.java">org/apache/hadoop/hbase/quotas/QuotaCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaLimiterFactory.java">org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaObserverChore.java">org/apache/hadoop/hbase/quotas/QuotaObserverChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaRetriever.java">org/apache/hadoop/hbase/quotas/QuotaRetriever.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettings.java">org/apache/hadoop/hbase/quotas/QuotaSettings.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.java">org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaState.java">org/apache/hadoop/hbase/quotas/QuotaState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaTableUtil.java">org/apache/hadoop/hbase/quotas/QuotaTableUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaUtil.java">org/apache/hadoop/hbase/quotas/QuotaUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.RateLimiter.java">org/apache/hadoop/hbase/quotas/RateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.SnapshotQuotaObserverChore.java">org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceLimitSettings.java">org/apache/hadoop/hbase/quotas/SpaceLimitSettings.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaRefresherChore.java">org/apache/hadoop/hbase/quotas/SpaceQuotaRefresherChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifier.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierFactory.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierForTest.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierForTest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcementFactory.java">org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcementFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.TableQuotaSnapshotStore.java">org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.TestFileSystemUtilizationChore.java">org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.TestQuotaFilter.java">org/apache/hadoop/hbase/quotas/TestQuotaFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.TestQuotaObserverChoreWithMiniCluster.java">org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreWithMiniCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.TestQuotaSettingsFactory.java">org/apache/hadoop/hbase/quotas/TestQuotaSettingsFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.TestRateLimiter.java">org/apache/hadoop/hbase/quotas/TestRateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.TestSpaceQuotas.java">org/apache/hadoop/hbase/quotas/TestSpaceQuotas.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.TestTableQuotaViolationStore.java">org/apache/hadoop/hbase/quotas/TestTableQuotaViolationStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.TestTablesWithQuotas.java">org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.TimeBasedLimiter.java">org/apache/hadoop/hbase/quotas/TimeBasedLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.UserQuotaState.java">org/apache/hadoop/hbase/quotas/UserQuotaState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.policies.BaseViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/BaseViolationPolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.policies.DefaultViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/DefaultViolationPolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.policies.DisableTableViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/DisableTableViolationPolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.policies.NoInsertsViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/NoInsertsViolationPolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.policies.NoWritesCompactionsViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/NoWritesCompactionsViolationPolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.policies.NoWritesViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/NoWritesViolationPolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.policies.TestBulkLoadCheckingViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/TestBulkLoadCheckingViolationPolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.AbstractMemStore.java">org/apache/hadoop/hbase/regionserver/AbstractMemStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.AbstractTestDateTieredCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/AbstractTestDateTieredCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.AnnotationReadingPriorityFunction.java">org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.BaseRowProcessor.java">org/apache/hadoop/hbase/regionserver/BaseRowProcessor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.BusyRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/BusyRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ByteBufferChunkKeyValue.java">org/apache/hadoop/hbase/regionserver/ByteBufferChunkKeyValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CSLMImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CSLMImmutableSegment.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CellArrayImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CellArrayImmutableSegment.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CellArrayMap.java">org/apache/hadoop/hbase/regionserver/CellArrayMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CellChunkMap.java">org/apache/hadoop/hbase/regionserver/CellChunkMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CellFlatMap.java">org/apache/hadoop/hbase/regionserver/CellFlatMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CellSet.java">org/apache/hadoop/hbase/regionserver/CellSet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CellSink.java">org/apache/hadoop/hbase/regionserver/CellSink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ChangedReadersObserver.java">org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.Chunk.java">org/apache/hadoop/hbase/regionserver/Chunk.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ChunkCreator.java">org/apache/hadoop/hbase/regionserver/ChunkCreator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactSplit.java">org/apache/hadoop/hbase/regionserver/CompactSplit.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactedHFilesDischargeHandler.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischargeHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactedHFilesDischarger.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischarger.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactingMemStore.java">org/apache/hadoop/hbase/regionserver/CompactingMemStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactionPipeline.java">org/apache/hadoop/hbase/regionserver/CompactionPipeline.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactionTool.java">org/apache/hadoop/hbase/regionserver/CompactionTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompositeImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CreateRandomStoreFile.java">org/apache/hadoop/hbase/regionserver/CreateRandomStoreFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DataBlockEncodingTool.java">org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DateTieredStoreEngine.java">org/apache/hadoop/hbase/regionserver/DateTieredStoreEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultMemStore.java">org/apache/hadoop/hbase/regionserver/DefaultMemStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.java">org/apache/hadoop/hbase/regionserver/DefaultStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DelimitedKeyPrefixRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/DelimitedKeyPrefixRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/DisabledRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.FavoredNodesForRegion.java">org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.FifoRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/FifoRpcSchedulerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.FlushPolicyFactory.java">org/apache/hadoop/hbase/regionserver/FlushPolicyFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.FlushRequestListener.java">org/apache/hadoop/hbase/regionserver/FlushRequestListener.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.FlushRequester.java">org/apache/hadoop/hbase/regionserver/FlushRequester.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HMobStore.java">org/apache/hadoop/hbase/regionserver/HMobStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegion.java">org/apache/hadoop/hbase/regionserver/HRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>206</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionFileSystem.java">org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>47</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServer.java">org/apache/hadoop/hbase/regionserver/HRegionServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>71</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.java">org/apache/hadoop/hbase/regionserver/HRegionServerCommandLine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HStore.java">org/apache/hadoop/hbase/regionserver/HStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>43</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HStoreFile.java">org/apache/hadoop/hbase/regionserver/HStoreFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.java">org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/HeapMemoryTuner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ImmutableSegment.java">org/apache/hadoop/hbase/regionserver/ImmutableSegment.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/IncreasingToUpperBoundRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.InternalScan.java">org/apache/hadoop/hbase/regionserver/InternalScan.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.InternalScanner.java">org/apache/hadoop/hbase/regionserver/InternalScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/KeyPrefixRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.KeyValueHeap.java">org/apache/hadoop/hbase/regionserver/KeyValueHeap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.KeyValueScanner.java">org/apache/hadoop/hbase/regionserver/KeyValueScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.LeaseException.java">org/apache/hadoop/hbase/regionserver/LeaseException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.Leases.java">org/apache/hadoop/hbase/regionserver/Leases.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.LogRoller.java">org/apache/hadoop/hbase/regionserver/LogRoller.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStore.java">org/apache/hadoop/hbase/regionserver/MemStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreCompactor.java">org/apache/hadoop/hbase/regionserver/MemStoreCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreFlusher.java">org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreLAB.java">org/apache/hadoop/hbase/regionserver/MemStoreLAB.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreLABImpl.java">org/apache/hadoop/hbase/regionserver/MemStoreLABImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreMergerSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreSegmentsIterator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreSnapshot.java">org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegion.java">org/apache/hadoop/hbase/regionserver/MetricsRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServer.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServerWrapperImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTable.java">org/apache/hadoop/hbase/regionserver/MetricsTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTableWrapperAggregateImpl.java">org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress.java">org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MobReferenceOnlyFilter.java">org/apache/hadoop/hbase/regionserver/MobReferenceOnlyFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.java">org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MutableOnlineRegions.java">org/apache/hadoop/hbase/regionserver/MutableOnlineRegions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MutableSegment.java">org/apache/hadoop/hbase/regionserver/MutableSegment.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.NoTagByteBufferChunkKeyValue.java">org/apache/hadoop/hbase/regionserver/NoTagByteBufferChunkKeyValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.NonReversedNonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.OOMERegionServer.java">org/apache/hadoop/hbase/regionserver/OOMERegionServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.OnlineRegions.java">org/apache/hadoop/hbase/regionserver/OnlineRegions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RSDumpServlet.java">org/apache/hadoop/hbase/regionserver/RSDumpServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RSRpcServices.java">org/apache/hadoop/hbase/regionserver/RSRpcServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>64</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RSStatusServlet.java">org/apache/hadoop/hbase/regionserver/RSStatusServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.Region.java">org/apache/hadoop/hbase/regionserver/Region.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionAsTable.java">org/apache/hadoop/hbase/regionserver/RegionAsTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>79</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionScanner.java">org/apache/hadoop/hbase/regionserver/RegionScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerAccounting.java">org/apache/hadoop/hbase/regionserver/RegionServerAccounting.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerServices.java">org/apache/hadoop/hbase/regionserver/RegionServerServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ReplicationSinkService.java">org/apache/hadoop/hbase/regionserver/ReplicationSinkService.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ReversedKeyValueHeap.java">org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ReversedRegionScannerImpl.java">org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ReversedStoreScanner.java">org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RowProcessor.java">org/apache/hadoop/hbase/regionserver/RowProcessor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScanInfo.java">org/apache/hadoop/hbase/regionserver/ScanInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScanOptions.java">org/apache/hadoop/hbase/regionserver/ScanOptions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScannerContext.java">org/apache/hadoop/hbase/regionserver/ScannerContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScannerIdGenerator.java">org/apache/hadoop/hbase/regionserver/ScannerIdGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SecureBulkLoadManager.java">org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.Segment.java">org/apache/hadoop/hbase/regionserver/Segment.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SegmentFactory.java">org/apache/hadoop/hbase/regionserver/SegmentFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SegmentScanner.java">org/apache/hadoop/hbase/regionserver/SegmentScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ServerNonceManager.java">org/apache/hadoop/hbase/regionserver/ServerNonceManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ShipperListener.java">org/apache/hadoop/hbase/regionserver/ShipperListener.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ShutdownHook.java">org/apache/hadoop/hbase/regionserver/ShutdownHook.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SimpleRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SplitRequest.java">org/apache/hadoop/hbase/regionserver/SplitRequest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SteppingSplitPolicy.java">org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.Store.java">org/apache/hadoop/hbase/regionserver/Store.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileComparators.java">org/apache/hadoop/hbase/regionserver/StoreFileComparators.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileInfo.java">org/apache/hadoop/hbase/regionserver/StoreFileInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileManager.java">org/apache/hadoop/hbase/regionserver/StoreFileManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileReader.java">org/apache/hadoop/hbase/regionserver/StoreFileReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileScanner.java">org/apache/hadoop/hbase/regionserver/StoreFileScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileWriter.java">org/apache/hadoop/hbase/regionserver/StoreFileWriter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFlushContext.java">org/apache/hadoop/hbase/regionserver/StoreFlushContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFlusher.java">org/apache/hadoop/hbase/regionserver/StoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreScanner.java">org/apache/hadoop/hbase/regionserver/StoreScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreUtils.java">org/apache/hadoop/hbase/regionserver/StoreUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StorefileRefresherChore.java">org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeMultiFileWriter.java">org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreConfig.java">org/apache/hadoop/hbase/regionserver/StripeStoreConfig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreEngine.java">org/apache/hadoop/hbase/regionserver/StripeStoreEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreFileManager.java">org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreFlusher.java">org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestAtomicOperation.java">org/apache/hadoop/hbase/regionserver/TestAtomicOperation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestBlocksRead.java">org/apache/hadoop/hbase/regionserver/TestBlocksRead.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestBlocksScanned.java">org/apache/hadoop/hbase/regionserver/TestBlocksScanned.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestBulkLoad.java">org/apache/hadoop/hbase/regionserver/TestBulkLoad.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestCacheOnWriteInSchema.java">org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestCellFlatSet.java">org/apache/hadoop/hbase/regionserver/TestCellFlatSet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestCellSkipListSet.java">org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestCleanupMetaWAL.java">org/apache/hadoop/hbase/regionserver/TestCleanupMetaWAL.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestClearRegionBlockCache.java">org/apache/hadoop/hbase/regionserver/TestClearRegionBlockCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestColumnSeeking.java">org/apache/hadoop/hbase/regionserver/TestColumnSeeking.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestCompactingMemStore.java">org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestCompactingToCellFlatMapMemStore.java">org/apache/hadoop/hbase/regionserver/TestCompactingToCellFlatMapMemStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestCompaction.java">org/apache/hadoop/hbase/regionserver/TestCompaction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestCompactionState.java">org/apache/hadoop/hbase/regionserver/TestCompactionState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestCompoundBloomFilter.java">org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestDateTieredCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/TestDateTieredCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestDateTieredCompactionPolicyOverflow.java">org/apache/hadoop/hbase/regionserver/TestDateTieredCompactionPolicyOverflow.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestDefaultMemStore.java">org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestEndToEndSplitTransaction.java">org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestFSErrorsExposed.java">org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestFailedAppendAndSync.java">org/apache/hadoop/hbase/regionserver/TestFailedAppendAndSync.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestGetClosestAtOrBefore.java">org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestHMobStore.java">org/apache/hadoop/hbase/regionserver/TestHMobStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegion.java">org/apache/hadoop/hbase/regionserver/TestHRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>29</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionFileSystem.java">org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionInfo.java">org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionOnCluster.java">org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionReplayEvents.java">org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionServerBulkLoad.java">org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestHStore.java">org/apache/hadoop/hbase/regionserver/TestHStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>40</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestHStoreFile.java">org/apache/hadoop/hbase/regionserver/TestHStoreFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>22</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestJoinedScanners.java">org/apache/hadoop/hbase/regionserver/TestJoinedScanners.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestKeepDeletes.java">org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestKeyValueHeap.java">org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestKeyValueScanFixture.java">org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMajorCompaction.java">org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMasterAddressTracker.java">org/apache/hadoop/hbase/regionserver/TestMasterAddressTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMemStoreLAB.java">org/apache/hadoop/hbase/regionserver/TestMemStoreLAB.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMemstoreLABWithoutPool.java">org/apache/hadoop/hbase/regionserver/TestMemstoreLABWithoutPool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMetricsRegion.java">org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMetricsRegionServer.java">org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMinorCompaction.java">org/apache/hadoop/hbase/regionserver/TestMinorCompaction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMobStoreScanner.java">org/apache/hadoop/hbase/regionserver/TestMobStoreScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMultiColumnScanner.java">org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMultiLogThreshold.java">org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestMultiVersionConcurrencyControl.java">org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestNotCleanupCompactedFileWhenRegionWarmup.java">org/apache/hadoop/hbase/regionserver/TestNotCleanupCompactedFileWhenRegionWarmup.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestParallelPut.java">org/apache/hadoop/hbase/regionserver/TestParallelPut.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.java">org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestPriorityRpc.java">org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRSKilledWhenInitializing.java">org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRecoveredEdits.java">org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionIncrement.java">org/apache/hadoop/hbase/regionserver/TestRegionIncrement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionInfoBuilder.java">org/apache/hadoop/hbase/regionserver/TestRegionInfoBuilder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionMergeTransactionOnCluster.java">org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionOpen.java">org/apache/hadoop/hbase/regionserver/TestRegionOpen.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionReplicaFailover.java">org/apache/hadoop/hbase/regionserver/TestRegionReplicaFailover.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionReplicas.java">org/apache/hadoop/hbase/regionserver/TestRegionReplicas.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerAbort.java">org/apache/hadoop/hbase/regionserver/TestRegionServerAbort.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerHostname.java">org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerMetrics.java">org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerNoMaster.java">org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerOnlineConfigChange.java">org/apache/hadoop/hbase/regionserver/TestRegionServerOnlineConfigChange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerReadRequestMetrics.java">org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerReportForDuty.java">org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestResettingCounters.java">org/apache/hadoop/hbase/regionserver/TestResettingCounters.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestReversibleScanners.java">org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestRowTooBig.java">org/apache/hadoop/hbase/regionserver/TestRowTooBig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestScanWithBloomError.java">org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestScanner.java">org/apache/hadoop/hbase/regionserver/TestScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestScannerHeartbeatMessages.java">org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestScannerRetriableFailure.java">org/apache/hadoop/hbase/regionserver/TestScannerRetriableFailure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestScannerWithBulkload.java">org/apache/hadoop/hbase/regionserver/TestScannerWithBulkload.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestSeekOptimizations.java">org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestServerNonceManager.java">org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestSettingTimeoutOnBlockingPoint.java">org/apache/hadoop/hbase/regionserver/TestSettingTimeoutOnBlockingPoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestSplitLogWorker.java">org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster.java">org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestStoreFileInfo.java">org/apache/hadoop/hbase/regionserver/TestStoreFileInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestStoreFileRefresherChore.java">org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestStoreScanner.java">org/apache/hadoop/hbase/regionserver/TestStoreScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestStripeStoreFileManager.java">org/apache/hadoop/hbase/regionserver/TestStripeStoreFileManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestSyncTimeRangeTracker.java">org/apache/hadoop/hbase/regionserver/TestSyncTimeRangeTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestTags.java">org/apache/hadoop/hbase/regionserver/TestTags.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestTimestampFilterSeekHint.java">org/apache/hadoop/hbase/regionserver/TestTimestampFilterSeekHint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestWALLockup.java">org/apache/hadoop/hbase/regionserver/TestWALLockup.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestWALMonotonicallyIncreasingSeqId.java">org/apache/hadoop/hbase/regionserver/TestWALMonotonicallyIncreasingSeqId.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TestWalAndCompactingMemStoreFlush.java">org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TimeRangeTracker.java">org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionConfiguration.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionProgress.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionRequester.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionRequester.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.Compactor.java">org/apache/hadoop/hbase/regionserver/compactions/Compactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CurrentHourProvider.java">org/apache/hadoop/hbase/regionserver/compactions/CurrentHourProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.DefaultCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.OffPeakHours.java">org/apache/hadoop/hbase/regionserver/compactions/OffPeakHours.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.PerfTestCompactionPolicies.java">org/apache/hadoop/hbase/regionserver/compactions/PerfTestCompactionPolicies.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.RatioBasedCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.SortedCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.SpikyFileListGenerator.java">org/apache/hadoop/hbase/regionserver/compactions/SpikyFileListGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.StripeCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/StripeCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.StripeCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/StripeCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.TestCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/TestCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.TestStripeCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.CloseRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/CloseRegionHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenPriorityRegionHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.ParallelSeekHandler.java">org/apache/hadoop/hbase/regionserver/handler/ParallelSeekHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.RegionReplicaFlushHandler.java">org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
... 117785 lines suppressed ...