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 2023/07/22 14:42:24 UTC

[hbase-site] branch asf-site updated: Published site at 73ea43f5d7ffc42e8b8a3e8396653dc7c7d73bf0.

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 747434fe815 Published site at 73ea43f5d7ffc42e8b8a3e8396653dc7c7d73bf0.
747434fe815 is described below

commit 747434fe81553168817420c3a1e58c069275d7e4
Author: jenkins <bu...@apache.org>
AuthorDate: Sat Jul 22 14:42:04 2023 +0000

    Published site at 73ea43f5d7ffc42e8b8a3e8396653dc7c7d73bf0.
---
 acid-semantics.html                                |    2 +-
 apache_hbase_reference_guide.pdf                   |    4 +-
 book.html                                          |    2 +-
 bulk-loads.html                                    |    2 +-
 checkstyle-aggregate.html                          |   32 +-
 coc.html                                           |    2 +-
 dependencies.html                                  |    2 +-
 dependency-convergence.html                        |    2 +-
 dependency-info.html                               |    2 +-
 dependency-management.html                         |    2 +-
 devapidocs/index-all.html                          |   10 +-
 .../apache/hadoop/hbase/client/package-tree.html   |   22 +-
 .../apache/hadoop/hbase/executor/package-tree.html |    2 +-
 .../apache/hadoop/hbase/filter/package-tree.html   |   10 +-
 .../hadoop/hbase/hbtop/terminal/package-tree.html  |    2 +-
 .../org/apache/hadoop/hbase/http/package-tree.html |    4 +-
 .../hadoop/hbase/io/crypto/tls/package-tree.html   |    2 +-
 .../hadoop/hbase/io/encoding/package-tree.html     |    2 +-
 .../apache/hadoop/hbase/io/hfile/package-tree.html |    6 +-
 .../org/apache/hadoop/hbase/io/package-tree.html   |    2 +-
 .../hadoop/hbase/mapreduce/package-tree.html       |    6 +-
 .../master/HMaster.TableDescriptorGetter.html      |    4 +-
 .../org/apache/hadoop/hbase/master/HMaster.html    |  837 +-
 .../master/HMasterCommandLine.LocalHMaster.html    |    2 +-
 .../apache/hadoop/hbase/master/MasterServices.html |  237 +-
 .../apache/hadoop/hbase/master/package-tree.html   |    6 +-
 .../hbase/master/procedure/package-tree.html       |    2 +-
 ...ReplicationPeerManager.ExceptionalRunnable.html |    4 +-
 ...Manager.ReplicationQueueStorageInitializer.html |    4 +-
 .../master/replication/ReplicationPeerManager.html |  198 +-
 .../org/apache/hadoop/hbase/package-tree.html      |   22 +-
 .../hbase/procedure2/Procedure.LockState.html      |    4 +-
 .../hadoop/hbase/procedure2/package-tree.html      |    4 +-
 .../apache/hadoop/hbase/quotas/package-tree.html   |    6 +-
 .../hbase/regionserver/ChunkCreator.ChunkType.html |    4 +-
 .../hadoop/hbase/regionserver/package-tree.html    |   20 +-
 .../regionserver/querymatcher/package-tree.html    |    2 +-
 .../hbase/regionserver/wal/package-tree.html       |    2 +-
 .../replication/master/ReplicationLogCleaner.html  |   55 +-
 .../master/ReplicationLogCleanerBarrier.State.html |    4 +-
 .../class-use/ReplicationLogCleanerBarrier.html    |   42 +-
 .../hbase/replication/master/package-use.html      |   13 +-
 .../hadoop/hbase/replication/package-tree.html     |    2 +-
 .../replication/regionserver/package-tree.html     |    2 +-
 .../hadoop/hbase/rest/model/package-tree.html      |    2 +-
 .../hadoop/hbase/security/access/package-tree.html |    4 +-
 .../apache/hadoop/hbase/security/package-tree.html |    2 +-
 .../apache/hadoop/hbase/trace/package-tree.html    |    2 +-
 .../org/apache/hadoop/hbase/util/package-tree.html |   12 +-
 .../org/apache/hadoop/hbase/wal/package-tree.html  |    2 +-
 .../master/HMaster.TableDescriptorGetter.html      | 8091 ++++++++++----------
 .../org/apache/hadoop/hbase/master/HMaster.html    | 8091 ++++++++++----------
 .../apache/hadoop/hbase/master/MasterServices.html |  817 +-
 .../hbase/master/replication/AddPeerProcedure.html |    6 +-
 ...rateReplicationQueueFromZkToTableProcedure.html |    8 +-
 ...ReplicationPeerManager.ExceptionalRunnable.html | 1470 ++--
 ...Manager.ReplicationQueueStorageInitializer.html | 1470 ++--
 .../master/replication/ReplicationPeerManager.html | 1470 ++--
 .../replication/master/ReplicationLogCleaner.html  |  396 +-
 downloads.html                                     |    2 +-
 export_control.html                                |    2 +-
 index.html                                         |    2 +-
 issue-management.html                              |    2 +-
 licenses.html                                      |    2 +-
 mailing-lists.html                                 |    2 +-
 metrics.html                                       |    2 +-
 old_news.html                                      |    2 +-
 plugin-management.html                             |    2 +-
 plugins.html                                       |    2 +-
 poweredbyhbase.html                                |    2 +-
 project-info.html                                  |    2 +-
 project-reports.html                               |    2 +-
 pseudo-distributed.html                            |    2 +-
 replication.html                                   |    2 +-
 resources.html                                     |    2 +-
 scm.html                                           |    2 +-
 sponsors.html                                      |    2 +-
 summary.html                                       |    2 +-
 supportingprojects.html                            |    2 +-
 team.html                                          |    2 +-
 testdevapidocs/index-all.html                      |    2 +
 .../hbase/TestLocalHBaseCluster.MyHMaster.html     |    2 +-
 .../apache/hadoop/hbase/backup/package-tree.html   |    2 +-
 .../hadoop/hbase/chaos/actions/package-tree.html   |    2 +-
 ...taReplicaAssigment.BrokenMetaReplicaMaster.html |    2 +-
 .../hadoop/hbase/master/AlwaysStandByHMaster.html  |    2 +-
 .../hbase/master/MockNoopMasterServices.html       |  283 +-
 .../TestCloseAnOpeningRegion.MockHMaster.html      |    2 +-
 .../TestClusterRestartFailover.HMasterForTest.html |    2 +-
 .../master/TestGetReplicationLoad.MyMaster.html    |    2 +-
 .../hbase/master/TestMasterMetrics.MyMaster.html   |    2 +-
 ...stRegionsRecoveryConfigManager.TestHMaster.html |    2 +-
 ...stRetainAssignmentOnRestart.HMasterForTest.html |    2 +-
 .../TestShutdownBackupMaster.MockHMaster.html      |    2 +-
 .../TestSplitLogManager.DummyMasterServices.html   |    2 +-
 .../master/TestUnknownServers.HMasterForTest.html  |    2 +-
 .../master/assignment/MockMasterServices.html      |    2 +-
 ...tOpenRegionProcedureBackoff.HMasterForTest.html |    2 +-
 ...TestOpenRegionProcedureHang.HMasterForTest.html |    2 +-
 .../TestRaceBetweenSCPAndDTP.HMasterForTest.html   |    2 +-
 .../TestRaceBetweenSCPAndTRSP.HMasterForTest.html  |    2 +-
 ...gnedToMultipleRegionServers.HMasterForTest.html |    2 +-
 ...TestReportOnlineRegionsRace.HMasterForTest.html |    2 +-
 ...ateTransitionFromDeadServer.HMasterForTest.html |    2 +-
 ...tRegionStateTransitionRetry.HMasterForTest.html |    2 +-
 .../TestSCPGetRegionsRace.HMasterForTest.html      |    2 +-
 ...stWakeUpUnexpectedProcedure.HMasterForTest.html |    2 +-
 .../cleaner/TestLogsCleaner.DummyServer.html       |    8 +-
 .../hbase/master/cleaner/TestLogsCleaner.html      |    6 +-
 ...stCreateTableNoRegionServer.HMasterForTest.html |    2 +-
 ...QueueFromZkToTableProcedure.HMasterForTest.html |    2 +-
 ...terPeerWorkerWhenRestarting.HMasterForTest.html |    2 +-
 .../org/apache/hadoop/hbase/package-tree.html      |   20 +-
 .../hadoop/hbase/procedure/package-tree.html       |    8 +-
 .../hadoop/hbase/procedure2/package-tree.html      |    2 +-
 ...stRegionMergeTransactionOnCluster.MyMaster.html |    2 +-
 ...ServerReportForDuty.NeverInitializedMaster.html |    2 +-
 .../TestSplitTransactionOnCluster.MyMaster.html    |    2 +-
 .../hadoop/hbase/regionserver/package-tree.html    |    6 +-
 .../TestClaimReplicationQueue.HMasterForTest.html  |    2 +-
 ...movePeerProcedureWaitForSCP.HMasterForTest.html |    2 +-
 .../TestReplicationProcedureRetry.MockHMaster.html |    2 +-
 .../TestMigrateRSGroupInfo.HMasterForTest.html     |    2 +-
 .../org/apache/hadoop/hbase/test/package-tree.html |    4 +-
 .../hbase/util/bulkdatagenerator/package-tree.html |    2 +-
 .../org/apache/hadoop/hbase/wal/package-tree.html  |    2 +-
 .../hbase/master/MockNoopMasterServices.html       |  944 +--
 .../cleaner/TestLogsCleaner.DummyServer.html       |  367 +-
 .../hbase/master/cleaner/TestLogsCleaner.html      |  367 +-
 ...ueFromZkToTableProcedure.FakePeerProcedure.html |    4 +-
 ...QueueFromZkToTableProcedure.HMasterForTest.html |    4 +-
 ...romZkToTableProcedure.ServerManagerForTest.html |    4 +-
 ...rateReplicationQueueFromZkToTableProcedure.html |    4 +-
 .../master/TestReplicationLogCleaner.html          |    6 +-
 134 files changed, 12851 insertions(+), 12743 deletions(-)

diff --git a/acid-semantics.html b/acid-semantics.html
index 9efeaf0d65b..599356a87ca 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -464,7 +464,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-22</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 1db28cdf2f7..ef5390b08b9 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 2.0.6, based on Prawn 2.4.0)
 /Producer (Apache HBase Team)
-/ModDate (D:20230717142938+00'00')
-/CreationDate (D:20230717143940+00'00')
+/ModDate (D:20230722142937+00'00')
+/CreationDate (D:20230722143948+00'00')
 >>
 endobj
 2 0 obj
diff --git a/book.html b/book.html
index 6aa318b92ba..f4650d066cf 100644
--- a/book.html
+++ b/book.html
@@ -48676,7 +48676,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 4.0.0-alpha-1-SNAPSHOT<br>
-Last updated 2023-07-17 14:29:38 UTC
+Last updated 2023-07-22 14:29:37 UTC
 </div>
 </div>
 <script type="text/x-mathjax-config">
diff --git a/bulk-loads.html b/bulk-loads.html
index 349997f95c1..09bea96866b 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -180,7 +180,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-22</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 f67e9703b97..1e30627b45b 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -3229,7 +3229,7 @@
 <tr class="b">
 <td>annotation</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_annotation.html#MissingDeprecated">MissingDeprecated</a></td>
-<td>13</td>
+<td>10</td>
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td></tr>
 <tr class="a">
 <td>blocks</td>
@@ -3299,7 +3299,7 @@
 <tr class="b">
 <td>javadoc</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>46</td>
+<td>49</td>
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td></tr>
 <tr class="a">
 <td>misc</td>
@@ -4690,8 +4690,8 @@
 <th>Line</th></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
-<td>annotation</td>
-<td>MissingDeprecated</td>
+<td>javadoc</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 20 has parse error. Missed HTML close tag 'path-to-conf'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>172</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.client.Action.java">org/apache/hadoop/hbase/client/Action.java</h3>
@@ -9778,8 +9778,8 @@
 <th>Line</th></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
-<td>annotation</td>
-<td>MissingDeprecated</td>
+<td>javadoc</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 14 has parse error. Details: mismatched input ':' expecting &lt;EOF&gt; while parsing JAVADOC</td>
 <td>46</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.mapreduce.SimpleTotalOrderPartitioner.java">org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.java</h3>
@@ -10181,43 +10181,43 @@
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>832</td></tr>
+<td>836</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 424 lines (max allowed is 150).</td>
-<td>932</td></tr>
+<td>936</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1961</td></tr>
+<td>1965</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3518</td></tr>
+<td>3522</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3520</td></tr>
+<td>3524</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'for' construct must use '{}'s.</td>
-<td>3661</td></tr>
+<td>3665</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3704</td></tr></table></section><section>
+<td>3708</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.master.HMasterCommandLine.java">org/apache/hadoop/hbase/master/HMasterCommandLine.java</h3>
 <table border="0" class="table table-striped">
 <tr class="b">
@@ -16330,8 +16330,8 @@
 <th>Line</th></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
-<td>annotation</td>
-<td>MissingDeprecated</td>
+<td>javadoc</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 20 has parse error. Missed HTML close tag 'SpanData'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>65</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.util.AbstractHBaseTool.java">org/apache/hadoop/hbase/util/AbstractHBaseTool.java</h3>
@@ -18562,7 +18562,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-22</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/coc.html b/coc.html
index c89207df0b6..846d2641669 100644
--- a/coc.html
+++ b/coc.html
@@ -248,7 +248,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-22</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependencies.html b/dependencies.html
index dca2bcbc217..a7db446bfb8 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -313,7 +313,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-22</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-convergence.html b/dependency-convergence.html
index e202944c86b..1c67d3a3b95 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -903,7 +903,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-22</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-info.html b/dependency-info.html
index e0ea5abe515..47983939302 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -195,7 +195,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-22</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-management.html b/dependency-management.html
index 214bffee49a..cfed962fefb 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -1198,7 +1198,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-17</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-22</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 299d74e19bc..2797a6d4539 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -6374,6 +6374,8 @@
 <dd>
 <div class="block">The stream we use to accumulate data into a block in an uncompressed format.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#barrier">barrier</a></span> - Variable in class org.apache.hadoop.hbase.replication.master.<a href="org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleaner</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure/Procedure.html#barrierAcquiredByMember-java.lang.String-">barrierAcquiredByMember(String)</a></span> - Method in class org.apache.hadoop.hbase.procedure.<a href="org/apache/hadoop/hbase/procedure/Procedure.html" title="class in org.apache.hadoop.hbase.procedure">Procedure</a></dt>
 <dd>
 <div class="block">Call back triggered by an individual member upon successful local barrier acquisition</div>
@@ -56848,8 +56850,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ServerMetricsBuilder.ServerMetricsImpl.html#getReplicationLoadSourceMap--">getReplicationLoadSourceMap()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerMetricsBuilder.ServerMetricsImpl.html" title="class in org.apache.hadoop.hbase">ServerMetricsBuilder.ServerMetricsImpl</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier()</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterServices.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier()</a></span> - Method in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></dt>
+<dd>
+<div class="block">Returns the <a href="org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master"><code>ReplicationLogCleanerBarrier</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#getReplicationManager--">getReplicationManager()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a></dt>
 <dd>
 <div class="block">Returns the replication manager</div>
@@ -110636,7 +110642,7 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#ReplicationLogCleaner--">ReplicationLogCleaner()</a></span> - Constructor for class org.apache.hadoop.hbase.replication.master.<a href="org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleaner</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#replicationLogCleanerBarrier">replicationLogCleanerBarrier</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#replicationLogCleanerBarrier">replicationLogCleanerBarrier</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master"><span class="typeNameLink">ReplicationLogCleanerBarrier</span></a> - Class in <a href="org/apache/hadoop/hbase/replication/master/package-summary.html">org.apache.hadoop.hbase.replication.master</a></dt>
 <dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index b42f119d6b3..4314cfeac6e 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -471,24 +471,24 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/LogQueryFilter.FilterByOperator.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">LogQueryFilter.FilterByOperator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/LogQueryFilter.Type.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">LogQueryFilter.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/LogQueryFilter.Type.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">LogQueryFilter.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ServerType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ServerType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/LogQueryFilter.FilterByOperator.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">LogQueryFilter.FilterByOperator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
index b749d914cd8..5a7e3a69d58 100644
--- a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
@@ -105,8 +105,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="typeNameLink">ExecutorType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="typeNameLink">EventType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="typeNameLink">ExecutorType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 5fd463a4b7b..0bfc34101bb 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -190,13 +190,13 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/package-tree.html
index 931fbbfaef2..ca792fda23b 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/package-tree.html
@@ -107,8 +107,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.hbtop.terminal.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/terminal/Color.html" title="enum in org.apache.hadoop.hbase.hbtop.terminal"><span class="typeNameLink">Color</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.hbtop.terminal.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/terminal/KeyPress.Type.html" title="enum in org.apache.hadoop.hbase.hbtop.terminal"><span class="typeNameLink">KeyPress.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.hbtop.terminal.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/terminal/Color.html" title="enum in org.apache.hadoop.hbase.hbtop.terminal"><span class="typeNameLink">Color</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/http/package-tree.html b/devapidocs/org/apache/hadoop/hbase/http/package-tree.html
index 6e4b0511795..398200c33da 100644
--- a/devapidocs/org/apache/hadoop/hbase/http/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/http/package-tree.html
@@ -141,9 +141,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/ProfileServlet.Output.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">ProfileServlet.Output</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/HttpConfig.Policy.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">HttpConfig.Policy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/ProfileServlet.Event.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">ProfileServlet.Event</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/HttpConfig.Policy.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">HttpConfig.Policy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/ProfileServlet.Output.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">ProfileServlet.Output</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/crypto/tls/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/crypto/tls/package-tree.html
index f4b0b46954e..481bda1e316 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/crypto/tls/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/crypto/tls/package-tree.html
@@ -125,8 +125,8 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
 <li type="circle">org.apache.hadoop.hbase.io.crypto.tls.<a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/KeyStoreFileType.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">KeyStoreFileType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.crypto.tls.<a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/StandardTypeFileKeyStoreLoader.SupportedStandardKeyFormat.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">StandardTypeFileKeyStoreLoader.SupportedStandardKeyFormat</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.crypto.tls.<a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.ClientAuth.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">X509Util.ClientAuth</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.crypto.tls.<a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/StandardTypeFileKeyStoreLoader.SupportedStandardKeyFormat.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">StandardTypeFileKeyStoreLoader.SupportedStandardKeyFormat</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/encoding/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/encoding/package-tree.html
index 5e6b85325fd..84749717230 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/encoding/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/encoding/package-tree.html
@@ -166,8 +166,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.encoding.<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/IndexBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding"><span class="typeNameLink">IndexBlockEncoding</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.encoding.<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding"><span class="typeNameLink">DataBlockEncoding</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.encoding.<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/IndexBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding"><span class="typeNameLink">IndexBlockEncoding</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index d52d8f15e43..e61fc9e7093 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -321,12 +321,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ReaderContext.ReaderType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">ReaderContext.ReaderType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheFactory.ExternalBlockCaches</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ReaderContext.ReaderType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">ReaderContext.ReaderType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/package-tree.html
index bfa7f51b3de..79c2ba15160 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/package-tree.html
@@ -189,8 +189,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.<a href="../../../../../org/apache/hadoop/hbase/io/Reference.Range.html" title="enum in org.apache.hadoop.hbase.io"><span class="typeNameLink">Reference.Range</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.<a href="../../../../../org/apache/hadoop/hbase/io/FileChangeWatcher.State.html" title="enum in org.apache.hadoop.hbase.io"><span class="typeNameLink">FileChangeWatcher.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.<a href="../../../../../org/apache/hadoop/hbase/io/Reference.Range.html" title="enum in org.apache.hadoop.hbase.io"><span class="typeNameLink">Reference.Range</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index bb1f443c967..5e16578c8a2 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -303,10 +303,10 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALPlayer.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">WALPlayer.Counter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html b/devapidocs/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
index 294cb69afcb..9187dde45a4 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
@@ -105,7 +105,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>protected static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2585">HMaster.TableDescriptorGetter</a></pre>
+<pre>protected static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2589">HMaster.TableDescriptorGetter</a></pre>
 <div class="block">Implement to return TableDescriptor after pre-checks</div>
 </li>
 </ul>
@@ -150,7 +150,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html#line.2586">get</a>()
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html#line.2590">get</a>()
              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMaster.html b/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
index 37dfc8cc243..d70745a2314 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":9,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":9,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":9,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54 [...]
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":9,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":9,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":9,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54 [...]
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.LimitedPrivate(value="Tools")
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.307">HMaster</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.308">HMaster</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;
 implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></pre>
 <div class="block">HMaster is the "master server" for HBase. An HBase cluster has one active master. If many masters
@@ -430,88 +430,92 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#replicationBarrierCleaner">replicationBarrierCleaner</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#replicationLogCleanerBarrier">replicationLogCleanerBarrier</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#replicationPeerManager">replicationPeerManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerModificationStateStore.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerModificationStateStore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#replicationPeerModificationStateStore">replicationPeerModificationStateStore</a></span></code>
 <div class="block">Store whether we allow replication peer modification operations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/migrate/RollingUpgradeChore.html" title="class in org.apache.hadoop.hbase.master.migrate">RollingUpgradeChore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#rollingUpgradeChore">rollingUpgradeChore</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#rsFatals">rsFatals</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#rsGroupInfoManager">rsGroupInfoManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/RegionServerList.html" title="interface in org.apache.hadoop.hbase.master">RegionServerList</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#rsListStorage">rsListStorage</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#serverManager">serverManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#serviceStarted">serviceStarted</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#sharedHFileCleanerPool">sharedHFileCleanerPool</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/cleaner/SnapshotCleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">SnapshotCleanerChore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#snapshotCleanerChore">snapshotCleanerChore</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotCleanupStateStore.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotCleanupStateStore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#snapshotCleanupStateStore">snapshotCleanupStateStore</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#snapshotManager">snapshotManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#snapshotQuotaChore">snapshotQuotaChore</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#spaceQuotaSnapshotNotifier">spaceQuotaSnapshotNotifier</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeStateStore.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeStateStore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#splitOrMergeStateStore">splitOrMergeStateStore</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/SplitWALManager.html" title="class in org.apache.hadoop.hbase.master">SplitWALManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#splitWALManager">splitWALManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskGroup.html" title="class in org.apache.hadoop.hbase.monitoring">TaskGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startupTaskGroup">startupTaskGroup</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#syncReplicationReplayWALManager">syncReplicationReplayWALManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#tableStateManager">tableStateManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#walManager">walManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#WARMUP_BEFORE_MOVE">WARMUP_BEFORE_MOVE</a></span></code>&nbsp;</td>
 </tr>
@@ -1181,70 +1185,76 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationLoad-org.apache.hadoop.hbase.ServerName:A-">getReplicationLoad</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[]&nbsp;serverNames)</code>&nbsp;</td>
 </tr>
 <tr id="i111" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier</a></span>()</code>
+<div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master"><code>ReplicationLogCleanerBarrier</code></a>.</div>
+</td>
+</tr>
+<tr id="i112" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationPeerConfig-java.lang.String-">getReplicationPeerConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationPeerManager--">getReplicationPeerManager</a></span>()</code>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>ReplicationPeerManager</code></a>.</div>
 </td>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRSGroupInfoManager--">getRSGroupInfoManager</a></span>()</code>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup"><code>RSGroupInfoManager</code></a></div>
 </td>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerManager--">getServerManager</a></span>()</code>
 <div class="block">Returns Master's <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master"><code>ServerManager</code></a> instance.</div>
 </td>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerName--">getServerName</a></span>()</code>
 <div class="block">Returns The unique server name for this server.</div>
 </td>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSnapshotManager--">getSnapshotManager</a></span>()</code>
 <div class="block">Returns the underlying snapshot manager</div>
 </td>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i118" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSnapshotQuotaObserverChore--">getSnapshotQuotaObserverChore</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i119" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSpaceQuotaSnapshotNotifier--">getSpaceQuotaSnapshotNotifier</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeStateStore.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeStateStore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitOrMergeStateStore--">getSplitOrMergeStateStore</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i120" class="altColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/SplitWALManager.html" title="class in org.apache.hadoop.hbase.master">SplitWALManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitWALManager--">getSplitWALManager</a></span>()</code>
 <div class="block">Returns return null if current is zk-based WAL splitting</div>
 </td>
 </tr>
-<tr id="i121" class="rowColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskGroup.html" title="class in org.apache.hadoop.hbase.monitoring">TaskGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getStartupProgress--">getStartupProgress</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i122" class="altColor">
+<tr id="i123" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSyncReplicationReplayWALManager--">getSyncReplicationReplayWALManager</a></span>()</code>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>SyncReplicationReplayWALManager</code></a>.</div>
 </td>
 </tr>
-<tr id="i123" class="rowColor">
+<tr id="i124" class="altColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableDescriptors-java.util.List-java.lang.String-java.lang.String-java.util.List-boolean-">getTableDescriptors</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.ap [...]
                    <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,
@@ -1254,124 +1264,124 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Return a list of table table descriptors after applying any provided filter parameters.</div>
 </td>
 </tr>
-<tr id="i124" class="altColor">
+<tr id="i125" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableStateManager--">getTableStateManager</a></span>()</code>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master"><code>TableStateManager</code></a></div>
 </td>
 </tr>
-<tr id="i125" class="rowColor">
+<tr id="i126" class="altColor">
 <td class="colFirst"><code>private <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;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getUnknownServers--">getUnknownServers</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i126" class="altColor">
+<tr id="i127" class="rowColor">
 <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getUseThisHostnameInstead-org.apache.hadoop.conf.Configuration-">getUseThisHostnameInstead</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i127" class="rowColor">
+<tr id="i128" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initClusterSchemaService--">initClusterSchemaService</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i128" class="altColor">
+<tr id="i129" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initializeCoprocessorHost-org.apache.hadoop.conf.Configuration-">initializeCoprocessorHost</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i129" class="rowColor">
+<tr id="i130" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initializeZKBasedSystemTrackers--">initializeZKBasedSystemTrackers</a></span>()</code>
 <div class="block">Initialize all ZK based system trackers.</div>
 </td>
 </tr>
-<tr id="i130" class="altColor">
+<tr id="i131" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initMobCleaner--">initMobCleaner</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i131" class="rowColor">
+<tr id="i132" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initQuotaManager--">initQuotaManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i132" class="altColor">
+<tr id="i133" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isActiveMaster--">isActiveMaster</a></span>()</code>
 <div class="block">Report whether this master is currently the active master or not.</div>
 </td>
 </tr>
-<tr id="i133" class="rowColor">
+<tr id="i134" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isBalancerOn--">isBalancerOn</a></span>()</code>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/master/balancer/LoadBalancerStateStore.html" title="class in org.apache.hadoop.hbase.master.balancer"><code>LoadBalancerStateStore</code></a>.</div>
 </td>
 </tr>
-<tr id="i134" class="altColor">
+<tr id="i135" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCatalogJanitorEnabled--">isCatalogJanitorEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i135" class="rowColor">
+<tr id="i136" class="altColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCatalogTable-org.apache.hadoop.hbase.TableName-">isCatalogTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i136" class="altColor">
+<tr id="i137" class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCleanerChoreEnabled--">isCleanerChoreEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i137" class="rowColor">
+<tr id="i138" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitialized--">isInitialized</a></span>()</code>
 <div class="block">Report whether this master has completed with its initialization and is ready.</div>
 </td>
 </tr>
-<tr id="i138" class="altColor">
+<tr id="i139" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInMaintenanceMode--">isInMaintenanceMode</a></span>()</code>
 <div class="block">Report whether this master is in maintenance mode.</div>
 </td>
 </tr>
-<tr id="i139" class="rowColor">
+<tr id="i140" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isNormalizerOn--">isNormalizerOn</a></span>()</code>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerStateStore.html" title="class in org.apache.hadoop.hbase.master.normalizer"><code>RegionNormalizerStateStore</code></a>.</div>
 </td>
 </tr>
-<tr id="i140" class="altColor">
+<tr id="i141" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isOnline--">isOnline</a></span>()</code>
 <div class="block">Report whether this master is started This method is used for testing.</div>
 </td>
 </tr>
-<tr id="i141" class="rowColor">
+<tr id="i142" class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isRegionOnline-org.apache.hadoop.hbase.client.RegionInfo-">isRegionOnline</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;ri)</code>&nbsp;</td>
 </tr>
-<tr id="i142" class="altColor">
+<tr id="i143" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isReplicationPeerModificationEnabled--">isReplicationPeerModificationEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i143" class="rowColor">
+<tr id="i144" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isSplitOrMergeEnabled-org.apache.hadoop.hbase.client.MasterSwitchType-">isSplitOrMergeEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</code>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeStateStore.html" title="class in org.apache.hadoop.hbase.master"><code>SplitOrMergeStateStore</code></a>.</div>
 </td>
 </tr>
-<tr id="i144" class="altColor">
+<tr id="i145" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listDecommissionedRegionServers--">listDecommissionedRegionServers</a></span>()</code>
 <div class="block">List region servers marked as decommissioned (previously called 'draining') to not get regions
  assigned to them.</div>
 </td>
 </tr>
-<tr id="i145" class="rowColor">
+<tr id="i146" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="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;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listNamespaces--">listNamespaces</a></span>()</code>
 <div class="block">List namespace names</div>
 </td>
 </tr>
-<tr id="i146" class="altColor">
+<tr id="i147" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listReplicationPeers-java.lang.String-">listReplicationPeers</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)</code>
 <div class="block">Return a list of replication peers.</div>
 </td>
 </tr>
-<tr id="i147" class="rowColor">
+<tr id="i148" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptors-java.lang.String-java.lang.String-java.util.List-boolean-">listTableDescriptors</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                     <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;regex,
@@ -1380,13 +1390,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Returns the list of table descriptors that match the specified request</div>
 </td>
 </tr>
-<tr id="i148" class="altColor">
+<tr id="i149" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptorsByNamespace-java.lang.String-">listTableDescriptorsByNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get list of table descriptors by namespace</div>
 </td>
 </tr>
-<tr id="i149" class="rowColor">
+<tr id="i150" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNames-java.lang.String-java.lang.String-boolean-">listTableNames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
               <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;regex,
@@ -1394,24 +1404,24 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Returns the list of table names that match the specified request</div>
 </td>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i151" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNamesByNamespace-java.lang.String-">listTableNamesByNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get list of table names by namespace</div>
 </td>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#login-org.apache.hadoop.hbase.security.UserProvider-java.lang.String-">login</a></span>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;user,
      <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;host)</code>
 <div class="block">For compatibility, if failed with regionserver credentials, try the master one</div>
 </td>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#main-java.lang.String:A-">main</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
 </tr>
-<tr id="i153" class="rowColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo:A-boolean-long-long-">mergeRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
             boolean&nbsp;forcible,
@@ -1420,7 +1430,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Merge regions in a table.</div>
 </td>
 </tr>
-<tr id="i154" class="altColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-long-long-">modifyColumn</a></span>(<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/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;descriptor,
@@ -1429,7 +1439,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Modify the column descriptor of an existing column in an existing table</div>
 </td>
 </tr>
-<tr id="i155" class="rowColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyColumnStoreFileTracker-org.apache.hadoop.hbase.TableName-byte:A-java.lang.String-long-long-">modifyColumnStoreFileTracker</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                             byte[]&nbsp;family,
@@ -1439,7 +1449,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Modify the store file tracker of an existing column in an existing table</div>
 </td>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-long-long-">modifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor,
                long&nbsp;nonceGroup,
@@ -1447,7 +1457,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Modify an existing Namespace.</div>
 </td>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i158" class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.master.HMaster.TableDescriptorGetter-long-long-boolean-">modifyTable</a></span>(<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/master/HMaster.TableDescriptorGetter.html" title="interface in org.apache.hadoop.hbase.master">HMaster.TableDescriptorGetter</a>&nbsp;newDescriptorGetter,
@@ -1455,7 +1465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
            long&nbsp;nonce,
            boolean&nbsp;shouldCheckDescriptor)</code>&nbsp;</td>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i159" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-long-long-">modifyTable</a></span>(<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/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
@@ -1464,7 +1474,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Modify the descriptor of an existing table</div>
 </td>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyTableStoreFileTracker-org.apache.hadoop.hbase.TableName-java.lang.String-long-long-">modifyTableStoreFileTracker</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dstSFT,
@@ -1473,30 +1483,30 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Modify the store file tracker of an existing table</div>
 </td>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#move-byte:A-byte:A-">move</a></span>(byte[]&nbsp;encodedRegionName,
     byte[]&nbsp;destServerName)</code>&nbsp;</td>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#normalizeRegions-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-boolean-">normalizeRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp,
                 boolean&nbsp;isHighPriority)</code>
 <div class="block">Perform normalization of cluster.</div>
 </td>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a></span>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</code>
 <div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a> object when the
  <code>Configuration</code> object is reloaded from disk.</div>
 </td>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#putUpJettyServer--">putUpJettyServer</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#recommissionRegionServer-org.apache.hadoop.hbase.ServerName-java.util.List-">recommissionRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;encodedRegionNames)</code>
@@ -1504,32 +1514,32 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
  assignments.</div>
 </td>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#registerConfigurationObservers--">registerConfigurationObservers</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i167" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#registerService-org.apache.hbase.thirdparty.com.google.protobuf.Service-">registerService</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.Service&nbsp;instance)</code>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a master coprocessor endpoint.</div>
 </td>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i168" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#remoteProcedureCompleted-long-">remoteProcedureCompleted</a></span>(long&nbsp;procId)</code>&nbsp;</td>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i169" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#remoteProcedureFailed-long-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">remoteProcedureFailed</a></span>(long&nbsp;procId,
                      <a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a>&nbsp;error)</code>&nbsp;</td>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i170" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Removes a peer and stops the replication</div>
 </td>
 </tr>
-<tr id="i170" class="altColor">
+<tr id="i171" class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reopenRegions-org.apache.hadoop.hbase.TableName-java.util.List-long-long-">reopenRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;regionNames,
@@ -1538,19 +1548,19 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Reopen regions provided in the argument</div>
 </td>
 </tr>
-<tr id="i171" class="rowColor">
+<tr id="i172" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#replicationPeerModificationSwitch-boolean-">replicationPeerModificationSwitch</a></span>(boolean&nbsp;on)</code>&nbsp;</td>
 </tr>
-<tr id="i172" class="altColor">
+<tr id="i173" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionEnd-org.apache.hadoop.hbase.TableName-">reportMobCompactionEnd</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i173" class="rowColor">
+<tr id="i174" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionStart-org.apache.hadoop.hbase.TableName-">reportMobCompactionStart</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i174" class="altColor">
+<tr id="i175" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#restoreSnapshot-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-long-long-boolean-java.lang.String-">restoreSnapshot</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshotDesc,
                long&nbsp;nonceGroup,
@@ -1558,55 +1568,55 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
                boolean&nbsp;restoreAcl,
                <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;customSFT)</code>&nbsp;</td>
 </tr>
-<tr id="i175" class="rowColor">
+<tr id="i176" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#run--">run</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i176" class="altColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#runReplicationBarrierCleaner--">runReplicationBarrierCleaner</a></span>()</code>
 <div class="block">Run the ReplicationBarrierChore.</div>
 </td>
 </tr>
-<tr id="i177" class="rowColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setAssignmentManager-org.apache.hadoop.hbase.master.assignment.AssignmentManager-">setAssignmentManager</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;assignmentManager)</code>&nbsp;</td>
 </tr>
-<tr id="i178" class="altColor">
+<tr id="i179" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setCatalogJanitorEnabled-boolean-">setCatalogJanitorEnabled</a></span>(boolean&nbsp;b)</code>
 <div class="block">Switch for the background CatalogJanitor thread.</div>
 </td>
 </tr>
-<tr id="i179" class="rowColor">
+<tr id="i180" class="altColor">
 <td class="colFirst"><code>(package private) static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setDisableBalancerChoreForTest-boolean-">setDisableBalancerChoreForTest</a></span>(boolean&nbsp;disable)</code>&nbsp;</td>
 </tr>
-<tr id="i180" class="altColor">
+<tr id="i181" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setInitialized-boolean-">setInitialized</a></span>(boolean&nbsp;isInitialized)</code>&nbsp;</td>
 </tr>
-<tr id="i181" class="rowColor">
+<tr id="i182" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setLoadBalancer-org.apache.hadoop.hbase.rsgroup.RSGroupBasedLoadBalancer-">setLoadBalancer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupBasedLoadBalancer</a>&nbsp;loadBalancer)</code>&nbsp;</td>
 </tr>
-<tr id="i182" class="altColor">
+<tr id="i183" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setQuotasObserver-org.apache.hadoop.conf.Configuration-">setQuotasObserver</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i183" class="rowColor">
+<tr id="i184" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">Shutdown the cluster.</div>
 </td>
 </tr>
-<tr id="i184" class="altColor">
+<tr id="i185" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#skipRegionManagementAction-java.lang.String-">skipRegionManagementAction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;action)</code>
 <div class="block">Checks master state before initiating action over region topology.</div>
 </td>
 </tr>
-<tr id="i185" class="rowColor">
+<tr id="i186" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#splitRegion-org.apache.hadoop.hbase.client.RegionInfo-byte:A-long-long-">splitRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
            byte[]&nbsp;splitRow,
@@ -1615,59 +1625,59 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Split a region.</div>
 </td>
 </tr>
-<tr id="i186" class="altColor">
+<tr id="i187" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startActiveMasterManager-int-">startActiveMasterManager</a></span>(int&nbsp;infoPort)</code>&nbsp;</td>
 </tr>
-<tr id="i187" class="rowColor">
+<tr id="i188" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startProcedureExecutor--">startProcedureExecutor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i188" class="altColor">
+<tr id="i189" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startServiceThreads--">startServiceThreads</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i189" class="rowColor">
+<tr id="i190" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stop-java.lang.String-">stop</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>
 <div class="block">Stop this service.</div>
 </td>
 </tr>
-<tr id="i190" class="altColor">
+<tr id="i191" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopChores--">stopChores</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i191" class="rowColor">
+<tr id="i192" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopMaster--">stopMaster</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i192" class="altColor">
+<tr id="i193" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopProcedureExecutor--">stopProcedureExecutor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i193" class="rowColor">
+<tr id="i194" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopServiceThreads--">stopServiceThreads</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i194" class="altColor">
+<tr id="i195" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#switchSnapshotCleanup-boolean-">switchSnapshotCleanup</a></span>(boolean&nbsp;on)</code>&nbsp;</td>
 </tr>
-<tr id="i195" class="rowColor">
+<tr id="i196" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#switchSnapshotCleanup-boolean-boolean-">switchSnapshotCleanup</a></span>(boolean&nbsp;on,
                      boolean&nbsp;synchronous)</code>
 <div class="block">Turn on/off Snapshot Cleanup Chore</div>
 </td>
 </tr>
-<tr id="i196" class="altColor">
+<tr id="i197" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#transitReplicationPeerSyncReplicationState-java.lang.String-org.apache.hadoop.hbase.replication.SyncReplicationState-">transitReplicationPeerSyncReplicationState</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                           <a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)</code>
 <div class="block">Set current cluster state for a synchronous replication peer.</div>
 </td>
 </tr>
-<tr id="i197" class="rowColor">
+<tr id="i198" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-long-long-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits,
@@ -1676,41 +1686,41 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Truncate a table</div>
 </td>
 </tr>
-<tr id="i198" class="altColor">
+<tr id="i199" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#tryMigrateMetaLocationsFromZooKeeper--">tryMigrateMetaLocationsFromZooKeeper</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i199" class="rowColor">
+<tr id="i200" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#updateConfigurationForQuotasObserver-org.apache.hadoop.conf.Configuration-">updateConfigurationForQuotasObserver</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">Adds the <code>MasterQuotasObserver</code> to the list of configured Master observers to
  automatically remove quotas for a table when that table is deleted.</div>
 </td>
 </tr>
-<tr id="i200" class="altColor">
+<tr id="i201" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
 <div class="block">Update the peerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i201" class="rowColor">
+<tr id="i202" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForMetaOnline--">waitForMetaOnline</a></span>()</code>
 <div class="block">Check hbase:meta is up and ready for reading.</div>
 </td>
 </tr>
-<tr id="i202" class="altColor">
+<tr id="i203" class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForNamespaceOnline--">waitForNamespaceOnline</a></span>()</code>
 <div class="block">Check hbase:namespace table is assigned.</div>
 </td>
 </tr>
-<tr id="i203" class="rowColor">
+<tr id="i204" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForRegionServers-org.apache.hadoop.hbase.monitoring.MonitoredTask-">waitForRegionServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr id="i204" class="altColor">
+<tr id="i205" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#warmUpRegion-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-">warmUpRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>&nbsp;</td>
@@ -1785,7 +1795,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.309">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.310">LOG</a></pre>
 </li>
 </ul>
 <a name="MASTER">
@@ -1794,7 +1804,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>MASTER</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.313">MASTER</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.314">MASTER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.MASTER">Constant Field Values</a></dd>
@@ -1807,7 +1817,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>activeMasterManager</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.316">activeMasterManager</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.317">activeMasterManager</a></pre>
 </li>
 </ul>
 <a name="regionServerTracker">
@@ -1816,7 +1826,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServerTracker</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/RegionServerTracker.html" title="class in org.apache.hadoop.hbase.master">RegionServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.318">regionServerTracker</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/RegionServerTracker.html" title="class in org.apache.hadoop.hbase.master">RegionServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.319">regionServerTracker</a></pre>
 </li>
 </ul>
 <a name="drainingServerTracker">
@@ -1825,7 +1835,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>drainingServerTracker</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/DrainingServerTracker.html" title="class in org.apache.hadoop.hbase.master">DrainingServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.320">drainingServerTracker</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/DrainingServerTracker.html" title="class in org.apache.hadoop.hbase.master">DrainingServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.321">drainingServerTracker</a></pre>
 </li>
 </ul>
 <a name="loadBalancerStateStore">
@@ -1834,7 +1844,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>loadBalancerStateStore</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/balancer/LoadBalancerStateStore.html" title="class in org.apache.hadoop.hbase.master.balancer">LoadBalancerStateStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.322">loadBalancerStateStore</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/balancer/LoadBalancerStateStore.html" title="class in org.apache.hadoop.hbase.master.balancer">LoadBalancerStateStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.323">loadBalancerStateStore</a></pre>
 </li>
 </ul>
 <a name="metaLocationSyncer">
@@ -1843,7 +1853,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>metaLocationSyncer</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/zksyncer/MetaLocationSyncer.html" title="class in org.apache.hadoop.hbase.master.zksyncer">MetaLocationSyncer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.324">metaLocationSyncer</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/zksyncer/MetaLocationSyncer.html" title="class in org.apache.hadoop.hbase.master.zksyncer">MetaLocationSyncer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.325">metaLocationSyncer</a></pre>
 </li>
 </ul>
 <a name="masterAddressSyncer">
@@ -1853,7 +1863,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <li class="blockList">
 <h4>masterAddressSyncer</h4>
 <pre>@InterfaceAudience.Private
-<a href="../../../../../org/apache/hadoop/hbase/master/zksyncer/MasterAddressSyncer.html" title="class in org.apache.hadoop.hbase.master.zksyncer">MasterAddressSyncer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.327">masterAddressSyncer</a></pre>
+<a href="../../../../../org/apache/hadoop/hbase/master/zksyncer/MasterAddressSyncer.html" title="class in org.apache.hadoop.hbase.master.zksyncer">MasterAddressSyncer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.328">masterAddressSyncer</a></pre>
 </li>
 </ul>
 <a name="snapshotCleanupStateStore">
@@ -1862,7 +1872,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotCleanupStateStore</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotCleanupStateStore.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotCleanupStateStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.329">snapshotCleanupStateStore</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotCleanupStateStore.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotCleanupStateStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.330">snapshotCleanupStateStore</a></pre>
 </li>
 </ul>
 <a name="splitOrMergeStateStore">
@@ -1871,7 +1881,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>splitOrMergeStateStore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeStateStore.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeStateStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.332">splitOrMergeStateStore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeStateStore.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeStateStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.333">splitOrMergeStateStore</a></pre>
 </li>
 </ul>
 <a name="clusterSchemaService">
@@ -1880,7 +1890,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterSchemaService</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchemaService.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchemaService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.334">clusterSchemaService</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchemaService.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchemaService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.335">clusterSchemaService</a></pre>
 </li>
 </ul>
 <a name="HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS">
@@ -1889,7 +1899,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.336">HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.337">HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS">Constant Field Values</a></dd>
@@ -1902,7 +1912,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.338">DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.339">DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS">Constant Field Values</a></dd>
@@ -1915,7 +1925,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_MASTER_CLEANER_INTERVAL</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.340">HBASE_MASTER_CLEANER_INTERVAL</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.341">HBASE_MASTER_CLEANER_INTERVAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.HBASE_MASTER_CLEANER_INTERVAL">Constant Field Values</a></dd>
@@ -1928,7 +1938,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_MASTER_CLEANER_INTERVAL</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.342">DEFAULT_HBASE_MASTER_CLEANER_INTERVAL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.343">DEFAULT_HBASE_MASTER_CLEANER_INTERVAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.DEFAULT_HBASE_MASTER_CLEANER_INTERVAL">Constant Field Values</a></dd>
@@ -1941,7 +1951,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterId</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.344">clusterId</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.345">clusterId</a></pre>
 </li>
 </ul>
 <a name="metricsMaster">
@@ -1950,7 +1960,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>metricsMaster</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.347">metricsMaster</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.348">metricsMaster</a></pre>
 </li>
 </ul>
 <a name="fileSystemManager">
@@ -1959,7 +1969,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>fileSystemManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.349">fileSystemManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.350">fileSystemManager</a></pre>
 </li>
 </ul>
 <a name="walManager">
@@ -1968,7 +1978,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>walManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.350">walManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.351">walManager</a></pre>
 </li>
 </ul>
 <a name="splitWALManager">
@@ -1977,7 +1987,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>splitWALManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitWALManager.html" title="class in org.apache.hadoop.hbase.master">SplitWALManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.357">splitWALManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitWALManager.html" title="class in org.apache.hadoop.hbase.master">SplitWALManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.358">splitWALManager</a></pre>
 </li>
 </ul>
 <a name="serverManager">
@@ -1986,7 +1996,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>serverManager</h4>
-<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.360">serverManager</a></pre>
+<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.361">serverManager</a></pre>
 </li>
 </ul>
 <a name="assignmentManager">
@@ -1995,7 +2005,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>assignmentManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.363">assignmentManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.364">assignmentManager</a></pre>
 </li>
 </ul>
 <a name="rsGroupInfoManager">
@@ -2004,7 +2014,16 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>rsGroupInfoManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.365">rsGroupInfoManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.366">rsGroupInfoManager</a></pre>
+</li>
+</ul>
+<a name="replicationLogCleanerBarrier">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>replicationLogCleanerBarrier</h4>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.368">replicationLogCleanerBarrier</a></pre>
 </li>
 </ul>
 <a name="replicationPeerManager">
@@ -2013,7 +2032,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationPeerManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.368">replicationPeerManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.372">replicationPeerManager</a></pre>
 </li>
 </ul>
 <a name="syncReplicationReplayWALManager">
@@ -2022,7 +2041,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>syncReplicationReplayWALManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.370">syncReplicationReplayWALManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.374">syncReplicationReplayWALManager</a></pre>
 </li>
 </ul>
 <a name="rsFatals">
@@ -2031,7 +2050,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>rsFatals</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.375">rsFatals</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.379">rsFatals</a></pre>
 </li>
 </ul>
 <a name="activeMaster">
@@ -2040,7 +2059,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>activeMaster</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.378">activeMaster</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.382">activeMaster</a></pre>
 </li>
 </ul>
 <a name="initialized">
@@ -2049,7 +2068,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initialized</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.381">initialized</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.385">initialized</a></pre>
 </li>
 </ul>
 <a name="serviceStarted">
@@ -2058,7 +2077,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>serviceStarted</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.385">serviceStarted</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.389">serviceStarted</a></pre>
 </li>
 </ul>
 <a name="maxBalancingTime">
@@ -2067,7 +2086,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>maxBalancingTime</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.388">maxBalancingTime</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.392">maxBalancingTime</a></pre>
 </li>
 </ul>
 <a name="maxRitPercent">
@@ -2076,7 +2095,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>maxRitPercent</h4>
-<pre>private final&nbsp;double <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.390">maxRitPercent</a></pre>
+<pre>private final&nbsp;double <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.394">maxRitPercent</a></pre>
 </li>
 </ul>
 <a name="lockManager">
@@ -2085,7 +2104,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>lockManager</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking">LockManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.392">lockManager</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking">LockManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.396">lockManager</a></pre>
 </li>
 </ul>
 <a name="balancer">
@@ -2094,7 +2113,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>balancer</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupBasedLoadBalancer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.394">balancer</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupBasedLoadBalancer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.398">balancer</a></pre>
 </li>
 </ul>
 <a name="balancerChore">
@@ -2103,7 +2122,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>balancerChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/balancer/BalancerChore.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.395">balancerChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/balancer/BalancerChore.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.399">balancerChore</a></pre>
 </li>
 </ul>
 <a name="disableBalancerChoreForTest">
@@ -2112,7 +2131,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>disableBalancerChoreForTest</h4>
-<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.396">disableBalancerChoreForTest</a></pre>
+<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.400">disableBalancerChoreForTest</a></pre>
 </li>
 </ul>
 <a name="regionNormalizerManager">
@@ -2121,7 +2140,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>regionNormalizerManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerManager.html" title="class in org.apache.hadoop.hbase.master.normalizer">RegionNormalizerManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.397">regionNormalizerManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerManager.html" title="class in org.apache.hadoop.hbase.master.normalizer">RegionNormalizerManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.401">regionNormalizerManager</a></pre>
 </li>
 </ul>
 <a name="clusterStatusChore">
@@ -2130,7 +2149,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterStatusChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.html" title="class in org.apache.hadoop.hbase.master.balancer">ClusterStatusChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.398">clusterStatusChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.html" title="class in org.apache.hadoop.hbase.master.balancer">ClusterStatusChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.402">clusterStatusChore</a></pre>
 </li>
 </ul>
 <a name="clusterStatusPublisherChore">
@@ -2139,7 +2158,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterStatusPublisherChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterStatusPublisher.html" title="class in org.apache.hadoop.hbase.master">ClusterStatusPublisher</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.399">clusterStatusPublisherChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterStatusPublisher.html" title="class in org.apache.hadoop.hbase.master">ClusterStatusPublisher</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.403">clusterStatusPublisherChore</a></pre>
 </li>
 </ul>
 <a name="snapshotCleanerChore">
@@ -2148,7 +2167,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotCleanerChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/SnapshotCleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">SnapshotCleanerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.400">snapshotCleanerChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/SnapshotCleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">SnapshotCleanerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.404">snapshotCleanerChore</a></pre>
 </li>
 </ul>
 <a name="hbckChore">
@@ -2157,7 +2176,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>hbckChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/hbck/HbckChore.html" title="class in org.apache.hadoop.hbase.master.hbck">HbckChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.402">hbckChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/hbck/HbckChore.html" title="class in org.apache.hadoop.hbase.master.hbck">HbckChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.406">hbckChore</a></pre>
 </li>
 </ul>
 <a name="catalogJanitorChore">
@@ -2166,7 +2185,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>catalogJanitorChore</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/janitor/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master.janitor">CatalogJanitor</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.403">catalogJanitorChore</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/janitor/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master.janitor">CatalogJanitor</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.407">catalogJanitorChore</a></pre>
 </li>
 </ul>
 <a name="logCleanerPool">
@@ -2175,7 +2194,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>logCleanerPool</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.405">logCleanerPool</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.409">logCleanerPool</a></pre>
 </li>
 </ul>
 <a name="logCleaner">
@@ -2184,7 +2203,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>logCleaner</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.406">logCleaner</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.410">logCleaner</a></pre>
 </li>
 </ul>
 <a name="hfileCleaners">
@@ -2193,7 +2212,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>hfileCleaners</h4>
-<pre>private&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/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.409">hfileCleaners</a></pre>
+<pre>private&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/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.413">hfileCleaners</a></pre>
 </li>
 </ul>
 <a name="hfileCleanerPaths">
@@ -2202,7 +2221,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>hfileCleanerPaths</h4>
-<pre>private&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.fs.Path&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.411">hfileCleanerPaths</a></pre>
+<pre>private&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.fs.Path&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.415">hfileCleanerPaths</a></pre>
 </li>
 </ul>
 <a name="sharedHFileCleanerPool">
@@ -2211,7 +2230,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>sharedHFileCleanerPool</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.413">sharedHFileCleanerPool</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.417">sharedHFileCleanerPool</a></pre>
 </li>
 </ul>
 <a name="exclusiveHFileCleanerPool">
@@ -2220,7 +2239,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>exclusiveHFileCleanerPool</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.415">exclusiveHFileCleanerPool</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.419">exclusiveHFileCleanerPool</a></pre>
 </li>
 </ul>
 <a name="replicationBarrierCleaner">
@@ -2229,7 +2248,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationBarrierCleaner</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/ReplicationBarrierCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">ReplicationBarrierCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.416">replicationBarrierCleaner</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/ReplicationBarrierCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">ReplicationBarrierCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.420">replicationBarrierCleaner</a></pre>
 </li>
 </ul>
 <a name="mobFileCleanerChore">
@@ -2238,7 +2257,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFileCleanerChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCleanerChore.html" title="class in org.apache.hadoop.hbase.mob">MobFileCleanerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.417">mobFileCleanerChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCleanerChore.html" title="class in org.apache.hadoop.hbase.mob">MobFileCleanerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.421">mobFileCleanerChore</a></pre>
 </li>
 </ul>
 <a name="mobFileCompactionChore">
@@ -2247,7 +2266,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFileCompactionChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCompactionChore.html" title="class in org.apache.hadoop.hbase.mob">MobFileCompactionChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.418">mobFileCompactionChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCompactionChore.html" title="class in org.apache.hadoop.hbase.mob">MobFileCompactionChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.422">mobFileCompactionChore</a></pre>
 </li>
 </ul>
 <a name="rollingUpgradeChore">
@@ -2256,7 +2275,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>rollingUpgradeChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/migrate/RollingUpgradeChore.html" title="class in org.apache.hadoop.hbase.master.migrate">RollingUpgradeChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.419">rollingUpgradeChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/migrate/RollingUpgradeChore.html" title="class in org.apache.hadoop.hbase.master.migrate">RollingUpgradeChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.423">rollingUpgradeChore</a></pre>
 </li>
 </ul>
 <a name="mobCompactionLock">
@@ -2265,7 +2284,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mobCompactionLock</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/IdLock.html" title="class in org.apache.hadoop.hbase.util">IdLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.421">mobCompactionLock</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/IdLock.html" title="class in org.apache.hadoop.hbase.util">IdLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.425">mobCompactionLock</a></pre>
 </li>
 </ul>
 <a name="mobCompactionStates">
@@ -2274,7 +2293,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mobCompactionStates</h4>
-<pre>private&nbsp;<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/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a>&gt; <a href="../../../.. [...]
+<pre>private&nbsp;<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/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a>&gt; <a href="../../../.. [...]
 </li>
 </ul>
 <a name="cpHost">
@@ -2283,7 +2302,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>cpHost</h4>
-<pre>volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.426">cpHost</a></pre>
+<pre>volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.430">cpHost</a></pre>
 </li>
 </ul>
 <a name="preLoadTableDescriptors">
@@ -2292,7 +2311,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>preLoadTableDescriptors</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.428">preLoadTableDescriptors</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.432">preLoadTableDescriptors</a></pre>
 </li>
 </ul>
 <a name="masterActiveTime">
@@ -2301,7 +2320,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>masterActiveTime</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.431">masterActiveTime</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.435">masterActiveTime</a></pre>
 </li>
 </ul>
 <a name="masterFinishedInitializationTime">
@@ -2310,7 +2329,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>masterFinishedInitializationTime</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.434">masterFinishedInitializationTime</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.438">masterFinishedInitializationTime</a></pre>
 </li>
 </ul>
 <a name="coprocessorServiceHandlers">
@@ -2319,7 +2338,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorServiceHandlers</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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hbase.thirdparty.com.google.protobuf.Service&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.436">coprocessorServiceHandlers</a></pre>
+<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hbase.thirdparty.com.google.protobuf.Service&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.440">coprocessorServiceHandlers</a></pre>
 </li>
 </ul>
 <a name="snapshotManager">
@@ -2328,7 +2347,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.439">snapshotManager</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.443">snapshotManager</a></pre>
 </li>
 </ul>
 <a name="mpmHost">
@@ -2337,7 +2356,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mpmHost</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.441">mpmHost</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.445">mpmHost</a></pre>
 </li>
 </ul>
 <a name="regionsRecoveryChore">
@@ -2346,7 +2365,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>regionsRecoveryChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/RegionsRecoveryChore.html" title="class in org.apache.hadoop.hbase.master">RegionsRecoveryChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.443">regionsRecoveryChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/RegionsRecoveryChore.html" title="class in org.apache.hadoop.hbase.master">RegionsRecoveryChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.447">regionsRecoveryChore</a></pre>
 </li>
 </ul>
 <a name="regionsRecoveryConfigManager">
@@ -2355,7 +2374,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>regionsRecoveryConfigManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/RegionsRecoveryConfigManager.html" title="class in org.apache.hadoop.hbase.master">RegionsRecoveryConfigManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.445">regionsRecoveryConfigManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/RegionsRecoveryConfigManager.html" title="class in org.apache.hadoop.hbase.master">RegionsRecoveryConfigManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.449">regionsRecoveryConfigManager</a></pre>
 </li>
 </ul>
 <a name="quotaManager">
@@ -2364,7 +2383,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>quotaManager</h4>
-<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.447">quotaManager</a></pre>
+<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.451">quotaManager</a></pre>
 </li>
 </ul>
 <a name="spaceQuotaSnapshotNotifier">
@@ -2373,7 +2392,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>spaceQuotaSnapshotNotifier</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.448">spaceQuotaSnapshotNotifier</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.452">spaceQuotaSnapshotNotifier</a></pre>
 </li>
 </ul>
 <a name="quotaObserverChore">
@@ -2382,7 +2401,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>quotaObserverChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">QuotaObserverChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.449">quotaObserverChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">QuotaObserverChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.453">quotaObserverChore</a></pre>
 </li>
 </ul>
 <a name="snapshotQuotaChore">
@@ -2391,7 +2410,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotQuotaChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.450">snapshotQuotaChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.454">snapshotQuotaChore</a></pre>
 </li>
 </ul>
 <a name="procedureExecutor">
@@ -2400,7 +2419,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>procedureExecutor</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.452">procedureExecutor</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.456">procedureExecutor</a></pre>
 </li>
 </ul>
 <a name="procedureStore">
@@ -2409,7 +2428,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>procedureStore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/ProcedureStore.html" title="interface in org.apache.hadoop.hbase.procedure2.store">ProcedureStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.453">procedureStore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/ProcedureStore.html" title="interface in org.apache.hadoop.hbase.procedure2.store">ProcedureStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.457">procedureStore</a></pre>
 </li>
 </ul>
 <a name="masterRegion">
@@ -2418,7 +2437,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>masterRegion</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/region/MasterRegion.html" title="class in org.apache.hadoop.hbase.master.region">MasterRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.456">masterRegion</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/region/MasterRegion.html" title="class in org.apache.hadoop.hbase.master.region">MasterRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.460">masterRegion</a></pre>
 </li>
 </ul>
 <a name="rsListStorage">
@@ -2427,7 +2446,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>rsListStorage</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/RegionServerList.html" title="interface in org.apache.hadoop.hbase.master">RegionServerList</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.458">rsListStorage</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/RegionServerList.html" title="interface in org.apache.hadoop.hbase.master">RegionServerList</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.462">rsListStorage</a></pre>
 </li>
 </ul>
 <a name="tableStateManager">
@@ -2436,7 +2455,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>tableStateManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.461">tableStateManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.465">tableStateManager</a></pre>
 </li>
 </ul>
 <a name="masterJettyServer">
@@ -2445,7 +2464,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>masterJettyServer</h4>
-<pre>private&nbsp;org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.464">masterJettyServer</a></pre>
+<pre>private&nbsp;org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.468">masterJettyServer</a></pre>
 <div class="block">jetty server for master to redirect requests to regionserver infoServer</div>
 </li>
 </ul>
@@ -2455,7 +2474,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>maintenanceMode</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.468">maintenanceMode</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.472">maintenanceMode</a></pre>
 </li>
 </ul>
 <a name="MAINTENANCE_MODE">
@@ -2464,7 +2483,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>MAINTENANCE_MODE</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.469">MAINTENANCE_MODE</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.473">MAINTENANCE_MODE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.MAINTENANCE_MODE">Constant Field Values</a></dd>
@@ -2477,7 +2496,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>maintenanceRegionServer</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/JVMClusterUtil.RegionServerThread.html" title="class in org.apache.hadoop.hbase.util">JVMClusterUtil.RegionServerThread</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.472">maintenanceRegionServer</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/JVMClusterUtil.RegionServerThread.html" title="class in org.apache.hadoop.hbase.util">JVMClusterUtil.RegionServerThread</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.476">maintenanceRegionServer</a></pre>
 </li>
 </ul>
 <a name="cachedClusterId">
@@ -2486,7 +2505,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>cachedClusterId</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/CachedClusterId.html" title="class in org.apache.hadoop.hbase.master">CachedClusterId</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.475">cachedClusterId</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/CachedClusterId.html" title="class in org.apache.hadoop.hbase.master">CachedClusterId</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.479">cachedClusterId</a></pre>
 </li>
 </ul>
 <a name="WARMUP_BEFORE_MOVE">
@@ -2495,7 +2514,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>WARMUP_BEFORE_MOVE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.477">WARMUP_BEFORE_MOVE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.481">WARMUP_BEFORE_MOVE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.WARMUP_BEFORE_MOVE">Constant Field Values</a></dd>
@@ -2508,7 +2527,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WARMUP_BEFORE_MOVE</h4>
-<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.478">DEFAULT_WARMUP_BEFORE_MOVE</a></pre>
+<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.482">DEFAULT_WARMUP_BEFORE_MOVE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.DEFAULT_WARMUP_BEFORE_MOVE">Constant Field Values</a></dd>
@@ -2521,7 +2540,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>startupTaskGroup</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskGroup.html" title="class in org.apache.hadoop.hbase.monitoring">TaskGroup</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.480">startupTaskGroup</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskGroup.html" title="class in org.apache.hadoop.hbase.monitoring">TaskGroup</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.484">startupTaskGroup</a></pre>
 </li>
 </ul>
 <a name="replicationPeerModificationStateStore">
@@ -2530,7 +2549,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockListLast">
 <li class="blockList">
 <h4>replicationPeerModificationStateStore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerModificationStateStore.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerModificationStateStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.485">replicationPeerModificationStateStore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerModificationStateStore.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerModificationStateStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.489">replicationPeerModificationStateStore</a></pre>
 <div class="block">Store whether we allow replication peer modification operations.</div>
 </li>
 </ul>
@@ -2548,7 +2567,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HMaster</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.498">HMaster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.502">HMaster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Initializes the HMaster. The steps are as follows:
  <p>
@@ -2579,7 +2598,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createActiveMasterManager</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.577">createActiveMasterManager</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zk,
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.581">createActiveMasterManager</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zk,
                                                         <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
                                                         <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server)
                                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
@@ -2597,7 +2616,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getUseThisHostnameInstead</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.583">getUseThisHostnameInstead</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.587">getUseThisHostnameInstead</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#getUseThisHostnameInstead-org.apache.hadoop.conf.Configuration-">getUseThisHostnameInstead</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt; [...]
@@ -2610,7 +2629,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>registerConfigurationObservers</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.587">registerConfigurationObservers</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.591">registerConfigurationObservers</a>()</pre>
 </li>
 </ul>
 <a name="run--">
@@ -2619,7 +2638,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.595">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.599">run</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -2634,7 +2653,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>putUpJettyServer</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.647">putUpJettyServer</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.651">putUpJettyServer</a>()
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2648,7 +2667,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>login</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.702">login</a>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;user,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.706">login</a>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;user,
                      <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;host)
               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">For compatibility, if failed with regionserver credentials, try the master one</div>
@@ -2666,7 +2685,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterRpcServices</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.712">getMasterRpcServices</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.716">getMasterRpcServices</a>()</pre>
 </li>
 </ul>
 <a name="balanceSwitch-boolean-">
@@ -2675,7 +2694,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>balanceSwitch</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.716">balanceSwitch</a>(boolean&nbsp;b)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.720">balanceSwitch</a>(boolean&nbsp;b)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2689,7 +2708,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcessName</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.721">getProcessName</a>()</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.725">getProcessName</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#getProcessName--">getProcessName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;</code></dd>
@@ -2702,7 +2721,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>canCreateBaseZNode</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.726">canCreateBaseZNode</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.730">canCreateBaseZNode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#canCreateBaseZNode--">canCreateBaseZNode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;</code></dd>
@@ -2715,7 +2734,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>canUpdateTableDescriptor</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.731">canUpdateTableDescriptor</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.735">canUpdateTableDescriptor</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#canUpdateTableDescriptor--">canUpdateTableDescriptor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;</code></dd>
@@ -2728,7 +2747,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheTableDescriptor</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.736">cacheTableDescriptor</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.740">cacheTableDescriptor</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#cacheTableDescriptor--">cacheTableDescriptor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;</code></dd>
@@ -2741,7 +2760,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createRpcServices</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.740">createRpcServices</a>()
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.744">createRpcServices</a>()
                                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -2757,7 +2776,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>configureInfoServer</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.745">configureInfoServer</a>(<a href="../../../../../org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a>&nbsp;infoServer)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.749">configureInfoServer</a>(<a href="../../../../../org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a>&nbsp;infoServer)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#configureInfoServer-org.apache.hadoop.hbase.http.InfoServer-">configureInfoServer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;</code></dd>
@@ -2770,7 +2789,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>buildApiV1Servlet</h4>
-<pre>private&nbsp;org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.752">buildApiV1Servlet</a>()</pre>
+<pre>private&nbsp;org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.756">buildApiV1Servlet</a>()</pre>
 </li>
 </ul>
 <a name="getDumpServlet--">
@@ -2779,7 +2798,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getDumpServlet</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends javax.servlet.http.HttpServlet&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.758">getDumpServlet</a>()</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends javax.servlet.http.HttpServlet&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.762">getDumpServlet</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#getDumpServlet--">getDumpServlet</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;</code></dd>
@@ -2792,7 +2811,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.763">getMasterMetrics</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.767">getMasterMetrics</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterMetrics--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master"><code>MetricsMaster</code></a></div>
 <dl>
@@ -2807,7 +2826,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeZKBasedSystemTrackers</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.771">initializeZKBasedSystemTrackers</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.775">initializeZKBasedSystemTrackers</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>,
                                              org.apache.zookeeper.KeeperException,
                                              <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
@@ -2830,7 +2849,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <li class="blockList">
 <h4>createAssignmentManager</h4>
 <pre>@InterfaceAudience.Private
-protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.849">createAssignmentManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master,
+protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.853">createAssignmentManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master,
                                                                                <a href="../../../../../org/apache/hadoop/hbase/master/region/MasterRegion.html" title="class in org.apache.hadoop.hbase.master.region">MasterRegion</a>&nbsp;masterRegion)</pre>
 </li>
 </ul>
@@ -2840,7 +2859,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment
 <ul class="blockList">
 <li class="blockList">
 <h4>tryMigrateMetaLocationsFromZooKeeper</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.854">tryMigrateMetaLocationsFromZooKeeper</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.858">tryMigrateMetaLocationsFromZooKeeper</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>,
                                                   org.apache.zookeeper.KeeperException</pre>
 <dl>
@@ -2856,7 +2875,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment
 <ul class="blockList">
 <li class="blockList">
 <h4>finishActiveMasterInitialization</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.932">finishActiveMasterInitialization</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.936">finishActiveMasterInitialization</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>,
                                               <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>,
                                               org.apache.zookeeper.KeeperException,
@@ -2914,7 +2933,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment
 <ul class="blockList">
 <li class="blockList">
 <h4>createMissingCFsInMetaDuringUpgrade</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1358">createMissingCFsInMetaDuringUpgrade</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;metaDescriptor)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1362">createMissingCFsInMetaDuringUpgrade</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;metaDescriptor)
                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2929,7 +2948,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment
 <li class="blockList">
 <h4>waitForMetaOnline</h4>
 <pre>@InterfaceAudience.Private
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1394">waitForMetaOnline</a>()</pre>
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1398">waitForMetaOnline</a>()</pre>
 <div class="block">Check hbase:meta is up and ready for reading. For use during Master startup only.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -2944,7 +2963,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>isRegionOnline</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1402">isRegionOnline</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;ri)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1406">isRegionOnline</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;ri)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>True if region is online and scannable else false if an error or shutdown (Otherwise we
@@ -2958,7 +2977,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForNamespaceOnline</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1438">waitForNamespaceOnline</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1442">waitForNamespaceOnline</a>()
                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Check hbase:namespace table is assigned. If not, startup will hang looking for the ns table
  <p/>
@@ -2980,7 +2999,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>updateConfigurationForQuotasObserver</h4>
 <pre>@InterfaceAudience.Private
-public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1466">updateConfigurationForQuotasObserver</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1470">updateConfigurationForQuotasObserver</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Adds the <code>MasterQuotasObserver</code> to the list of configured Master observers to
  automatically remove quotas for a table when that table is deleted.</div>
 </li>
@@ -2991,7 +3010,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>initMobCleaner</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1484">initMobCleaner</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1488">initMobCleaner</a>()</pre>
 </li>
 </ul>
 <a name="createServerManager-org.apache.hadoop.hbase.master.MasterServices-org.apache.hadoop.hbase.master.RegionServerList-">
@@ -3001,7 +3020,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <li class="blockList">
 <h4>createServerManager</h4>
 <pre>@InterfaceAudience.Private
-protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1500">createServerManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master,
+protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1504">createServerManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master,
                                                                        <a href="../../../../../org/apache/hadoop/hbase/master/RegionServerList.html" title="interface in org.apache.hadoop.hbase.master">RegionServerList</a>&nbsp;storage)
                                                                 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"><p>
@@ -3022,7 +3041,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerMana
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForRegionServers</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1508">waitForRegionServers</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1512">waitForRegionServers</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
                            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>
 <dl>
@@ -3039,7 +3058,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerMana
 <li class="blockList">
 <h4>initClusterSchemaService</h4>
 <pre>@InterfaceAudience.Private
-protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1515">initClusterSchemaService</a>()
+protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1519">initClusterSchemaService</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>,
                                                                    <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>
 <dl>
@@ -3055,7 +3074,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>initQuotaManager</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1527">initQuotaManager</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1531">initQuotaManager</a>()
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3069,7 +3088,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>createQuotaSnapshotNotifier</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1533">createQuotaSnapshotNotifier</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1537">createQuotaSnapshotNotifier</a>()</pre>
 </li>
 </ul>
 <a name="isCatalogJanitorEnabled--">
@@ -3078,7 +3097,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>isCatalogJanitorEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1539">isCatalogJanitorEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1543">isCatalogJanitorEnabled</a>()</pre>
 </li>
 </ul>
 <a name="isCleanerChoreEnabled--">
@@ -3087,7 +3106,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>isCleanerChoreEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1543">isCleanerChoreEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1547">isCleanerChoreEnabled</a>()</pre>
 </li>
 </ul>
 <a name="getServerManager--">
@@ -3096,7 +3115,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1558">getServerManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1562">getServerManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getServerManager--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master"><code>ServerManager</code></a> instance.</div>
 <dl>
@@ -3111,7 +3130,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterFileSystem</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1563">getMasterFileSystem</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1567">getMasterFileSystem</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterFileSystem--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's filesystem <a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master"><code>MasterFileSystem</code></a> utility class.</div>
 <dl>
@@ -3126,7 +3145,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterWalManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1568">getMasterWalManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1572">getMasterWalManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterWalManager--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's WALs <a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master"><code>MasterWalManager</code></a> utility class.</div>
 <dl>
@@ -3141,7 +3160,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitWALManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitWALManager.html" title="class in org.apache.hadoop.hbase.master">SplitWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1573">getSplitWALManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitWALManager.html" title="class in org.apache.hadoop.hbase.master">SplitWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1577">getSplitWALManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getSplitWALManager--">MasterServices</a></code></span></div>
 <div class="block">Returns return null if current is zk-based WAL splitting</div>
 <dl>
@@ -3156,7 +3175,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableStateManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1578">getTableStateManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1582">getTableStateManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getTableStateManager--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master"><code>TableStateManager</code></a></div>
 <dl>
@@ -3171,7 +3190,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>startServiceThreads</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1588">startServiceThreads</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1592">startServiceThreads</a>()
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3185,7 +3204,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>stopServiceThreads</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1723">stopServiceThreads</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1727">stopServiceThreads</a>()</pre>
 </li>
 </ul>
 <a name="createProcedureExecutor--">
@@ -3194,7 +3213,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>createProcedureExecutor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1790">createProcedureExecutor</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1794">createProcedureExecutor</a>()
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3208,7 +3227,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>startProcedureExecutor</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1822">startProcedureExecutor</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1826">startProcedureExecutor</a>()
                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3222,7 +3241,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>switchSnapshotCleanup</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1830">switchSnapshotCleanup</a>(boolean&nbsp;on,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1834">switchSnapshotCleanup</a>(boolean&nbsp;on,
                            boolean&nbsp;synchronous)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Turn on/off Snapshot Cleanup Chore</div>
@@ -3240,7 +3259,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>switchSnapshotCleanup</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1840">switchSnapshotCleanup</a>(boolean&nbsp;on)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1844">switchSnapshotCleanup</a>(boolean&nbsp;on)
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3254,7 +3273,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>stopProcedureExecutor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1849">stopProcedureExecutor</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1853">stopProcedureExecutor</a>()</pre>
 </li>
 </ul>
 <a name="stopChores--">
@@ -3263,7 +3282,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>stopChores</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1864">stopChores</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1868">stopChores</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#stopChores--">stopChores</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;</code></dd>
@@ -3276,7 +3295,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteInetAddress</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1890">getRemoteInetAddress</a>(int&nbsp;port,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1894">getRemoteInetAddress</a>(int&nbsp;port,
                                  long&nbsp;serverStartCode)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/UnknownHostException.html?is-external=true" title="class or interface in java.net">UnknownHostException</a></pre>
 <div class="block">Returns Get remote side's InetAddress</div>
@@ -3292,7 +3311,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxBalancingTime</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1908">getMaxBalancingTime</a>()</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1912">getMaxBalancingTime</a>()</pre>
 <div class="block">Returns Maximum time we should run balancer for</div>
 </li>
 </ul>
@@ -3302,7 +3321,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxRegionsInTransition</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1917">getMaxRegionsInTransition</a>()</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1921">getMaxRegionsInTransition</a>()</pre>
 <div class="block">Returns Maximum number of regions in transition</div>
 </li>
 </ul>
@@ -3312,7 +3331,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>balanceThrottling</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1929">balanceThrottling</a>(long&nbsp;nextBalanceStartTime,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1933">balanceThrottling</a>(long&nbsp;nextBalanceStartTime,
                                int&nbsp;maxRegionsInTransition,
                                long&nbsp;cutoffTime)</pre>
 <div class="block">It first sleep to the next balance plan start time. Meanwhile, throttling by the max number
@@ -3331,7 +3350,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>balance</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/BalanceResponse.html" title="class in org.apache.hadoop.hbase.client">BalanceResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1964">balance</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/BalanceResponse.html" title="class in org.apache.hadoop.hbase.client">BalanceResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1968">balance</a>()
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3345,7 +3364,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>balanceOrUpdateMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/BalanceResponse.html" title="class in org.apache.hadoop.hbase.client">BalanceResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1975">balanceOrUpdateMetrics</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/BalanceResponse.html" title="class in org.apache.hadoop.hbase.client">BalanceResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1979">balanceOrUpdateMetrics</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">Trigger a normal balance, see <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance--"><code>balance()</code></a> . If the balance is not executed this
  time, the metrics related to the balance will be updated. When balance is running, related
@@ -3364,7 +3383,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>skipRegionManagementAction</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1997">skipRegionManagementAction</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;action)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2001">skipRegionManagementAction</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;action)</pre>
 <div class="block">Checks master state before initiating action over region topology.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -3382,7 +3401,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>balance</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/BalanceResponse.html" title="class in org.apache.hadoop.hbase.client">BalanceResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2014">balance</a>(<a href="../../../../../org/apache/hadoop/hbase/client/BalanceRequest.html" title="class in org.apache.hadoop.hbase.client">BalanceRequest</a>&nbsp;request)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/BalanceResponse.html" title="class in org.apache.hadoop.hbase.client">BalanceResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2018">balance</a>(<a href="../../../../../org/apache/hadoop/hbase/client/BalanceRequest.html" title="class in org.apache.hadoop.hbase.client">BalanceRequest</a>&nbsp;request)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3396,7 +3415,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>executeRegionPlansWithThrottling</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master">RegionPlan</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2113">executeRegionPlansWithThrottling</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master">RegionPlan</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2117">executeRegionPlansWithThrottling</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List [...]
 <div class="block">Execute region plans with throttling</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -3414,7 +3433,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionNormalizerManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerManager.html" title="class in org.apache.hadoop.hbase.master.normalizer">RegionNormalizerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2163">getRegionNormalizerManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerManager.html" title="class in org.apache.hadoop.hbase.master.normalizer">RegionNormalizerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2167">getRegionNormalizerManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getRegionNormalizerManager--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerManager.html" title="class in org.apache.hadoop.hbase.master.normalizer"><code>RegionNormalizerManager</code></a></div>
 <dl>
@@ -3429,7 +3448,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>normalizeRegions</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2168">normalizeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2172">normalizeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp,
                                 boolean&nbsp;isHighPriority)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#normalizeRegions-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-boolean-">MasterServices</a></code></span></div>
@@ -3454,7 +3473,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getClientIdAuditPrefix</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2194">getClientIdAuditPrefix</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2198">getClientIdAuditPrefix</a>()</pre>
 <div class="block">Returns Client info for use as prefix on an audit log string; who did an action</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -3468,7 +3487,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setCatalogJanitorEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2204">setCatalogJanitorEnabled</a>(boolean&nbsp;b)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2208">setCatalogJanitorEnabled</a>(boolean&nbsp;b)</pre>
 <div class="block">Switch for the background CatalogJanitor thread. Used for testing. The thread will continue to
  run. It will just be a noop if disabled.</div>
 <dl>
@@ -3483,7 +3502,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeRegions</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2209">mergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2213">mergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                          boolean&nbsp;forcible,
                          long&nbsp;ng,
                          long&nbsp;nonce)
@@ -3511,7 +3530,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>splitRegion</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2241">splitRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2245">splitRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                         byte[]&nbsp;splitRow,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
@@ -3539,7 +3558,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>warmUpRegion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2269">warmUpRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2273">warmUpRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
                           <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</pre>
 </li>
 </ul>
@@ -3550,7 +3569,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>move</h4>
 <pre>@InterfaceAudience.Private
-public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2282">move</a>(byte[]&nbsp;encodedRegionName,
+public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2286">move</a>(byte[]&nbsp;encodedRegionName,
                                             byte[]&nbsp;destServerName)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -3565,7 +3584,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2378">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2382">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor,
                         byte[][]&nbsp;splitKeys,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
@@ -3590,7 +3609,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>createSystemTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2420">createSystemTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2424">createSystemTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#createSystemTable-org.apache.hadoop.hbase.client.TableDescriptor-">MasterServices</a></code></span></div>
 <div class="block">Create a system table using the given table definition.</div>
@@ -3610,7 +3629,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>startActiveMasterManager</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2443">startActiveMasterManager</a>(int&nbsp;infoPort)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2447">startActiveMasterManager</a>(int&nbsp;infoPort)
                                throws org.apache.zookeeper.KeeperException</pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3624,7 +3643,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>isCatalogTable</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2498">isCatalogTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2502">isCatalogTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
 <a name="deleteTable-org.apache.hadoop.hbase.TableName-long-long-">
@@ -3633,7 +3652,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2503">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2507">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
                  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>
@@ -3655,7 +3674,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>truncateTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2535">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2539">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           boolean&nbsp;preserveSplits,
                           long&nbsp;nonceGroup,
                           long&nbsp;nonce)
@@ -3679,7 +3698,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>addColumn</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2562">addColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2566">addColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                       <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;column,
                       long&nbsp;nonceGroup,
                       long&nbsp;nonce)
@@ -3703,7 +3722,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyColumn</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2590">modifyColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2594">modifyColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                          <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;descriptor,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce)
@@ -3727,7 +3746,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyColumnStoreFileTracker</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2610">modifyColumnStoreFileTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2614">modifyColumnStoreFileTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                          byte[]&nbsp;family,
                                          <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;dstSFT,
                                          long&nbsp;nonceGroup,
@@ -3749,7 +3768,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteColumn</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2636">deleteColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2640">deleteColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                          byte[]&nbsp;columnName,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce)
@@ -3773,7 +3792,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2661">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2665">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
                  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>
@@ -3795,7 +3814,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2719">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2723">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce)
                   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>
@@ -3817,7 +3836,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTable</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2754">modifyTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2758">modifyTable</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/master/HMaster.TableDescriptorGetter.html" title="interface in org.apache.hadoop.hbase.master">HMaster.TableDescriptorGetter</a>&nbsp;newDescriptorGetter,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce,
@@ -3835,7 +3854,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2791">modifyTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2795">modifyTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
@@ -3859,7 +3878,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTableStoreFileTracker</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2804">modifyTableStoreFileTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2808">modifyTableStoreFileTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dstSFT,
                                         long&nbsp;nonceGroup,
                                         long&nbsp;nonce)
@@ -3880,7 +3899,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2828">restoreSnapshot</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshotDesc,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2832">restoreSnapshot</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshotDesc,
                             long&nbsp;nonceGroup,
                             long&nbsp;nonce,
                             boolean&nbsp;restoreAcl,
@@ -3898,7 +3917,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTableExists</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2852">checkTableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2856">checkTableExists</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>,
                               <a href="../../../../../org/apache/hadoop/hbase/TableNotFoundException.html" title="class in org.apache.hadoop.hbase">TableNotFoundException</a></pre>
 <dl>
@@ -3914,7 +3933,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTableModifiable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2860">checkTableModifiable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2864">checkTableModifiable</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>,
                                  <a href="../../../../../org/apache/hadoop/hbase/TableNotFoundException.html" title="class in org.apache.hadoop.hbase">TableNotFoundException</a>,
                                  <a href="../../../../../org/apache/hadoop/hbase/TableNotDisabledException.html" title="class in org.apache.hadoop.hbase">TableNotDisabledException</a></pre>
@@ -3938,7 +3957,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetricsWithoutCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2872">getClusterMetricsWithoutCoprocessor</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2876">getClusterMetricsWithoutCoprocessor</a>()
                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3952,7 +3971,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetricsWithoutCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2876">getClusterMetricsWithoutCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2880">getClusterMetricsWithoutCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics [...]
                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3966,7 +3985,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getUnknownServers</h4>
-<pre>private&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/master/HMaster.html#line.3005">getUnknownServers</a>()</pre>
+<pre>private&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/master/HMaster.html#line.3009">getUnknownServers</a>()</pre>
 </li>
 </ul>
 <a name="getOnlineServers--">
@@ -3975,7 +3994,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineServers</h4>
-<pre>private&nbsp;<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="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.ht [...]
+<pre>private&nbsp;<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="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.ht [...]
 </li>
 </ul>
 <a name="getClusterMetrics--">
@@ -3984,7 +4003,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3026">getClusterMetrics</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3030">getClusterMetrics</a>()
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns cluster status</div>
 <dl>
@@ -3999,7 +4018,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3030">getClusterMetrics</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" titl [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3034">getClusterMetrics</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" titl [...]
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -4013,7 +4032,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getActiveMasterInfoPort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3042">getActiveMasterInfoPort</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3046">getActiveMasterInfoPort</a>()</pre>
 <div class="block">Returns info port of active master or 0 if any exception occurs.</div>
 </li>
 </ul>
@@ -4023,7 +4042,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getBackupMasterInfoPort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3050">getBackupMasterInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3054">getBackupMasterInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>sn</code> - is ServerName of the backup master</dd>
@@ -4038,7 +4057,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadedCoprocessors</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3059">getLoadedCoprocessors</a>()</pre>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3063">getLoadedCoprocessors</a>()</pre>
 <div class="block">The set of loaded coprocessors is stored in a static set. Since it's statically allocated, it
  does not require that HMaster's cpHost be initialized prior to accessing it.</div>
 <dl>
@@ -4053,7 +4072,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterStartTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3064">getMasterStartTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3068">getMasterStartTime</a>()</pre>
 <div class="block">Returns timestamp in millis when HMaster was started.</div>
 </li>
 </ul>
@@ -4063,7 +4082,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterActiveTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3069">getMasterActiveTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3073">getMasterActiveTime</a>()</pre>
 <div class="block">Returns timestamp in millis when HMaster became the active master.</div>
 </li>
 </ul>
@@ -4073,7 +4092,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterFinishedInitializationTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3074">getMasterFinishedInitializationTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3078">getMasterFinishedInitializationTime</a>()</pre>
 <div class="block">Returns timestamp in millis when HMaster finished becoming the active master</div>
 </li>
 </ul>
@@ -4083,7 +4102,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumWALFiles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3078">getNumWALFiles</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3082">getNumWALFiles</a>()</pre>
 </li>
 </ul>
 <a name="getProcedureStore--">
@@ -4092,7 +4111,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedureStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/ProcedureStore.html" title="interface in org.apache.hadoop.hbase.procedure2.store">ProcedureStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3082">getProcedureStore</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/ProcedureStore.html" title="interface in org.apache.hadoop.hbase.procedure2.store">ProcedureStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3086">getProcedureStore</a>()</pre>
 </li>
 </ul>
 <a name="getRegionServerInfoPort-org.apache.hadoop.hbase.ServerName-">
@@ -4101,7 +4120,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerInfoPort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3086">getRegionServerInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3090">getRegionServerInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
 </li>
 </ul>
 <a name="getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">
@@ -4110,7 +4129,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerVersion</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3094">getRegionServerVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3098">getRegionServerVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">getRegionServerVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4123,7 +4142,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>checkIfShouldMoveSystemRegionAsync</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3101">checkIfShouldMoveSystemRegionAsync</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3105">checkIfShouldMoveSystemRegionAsync</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#checkIfShouldMoveSystemRegionAsync--">MasterServices</a></code></span></div>
 <div class="block">Called when a new RegionServer is added to the cluster. Checks if new server has a newer
  version than any existing server and will move system tables there if so.</div>
@@ -4139,7 +4158,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterCoprocessors</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3106">getMasterCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3110">getMasterCoprocessors</a>()</pre>
 <div class="block">Returns array of coprocessor SimpleNames.</div>
 </li>
 </ul>
@@ -4149,7 +4168,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3112">abort</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;reason,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3116">abort</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;reason,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;cause)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html#abort-java.lang.String-java.lang.Throwable-">Abortable</a></code></span></div>
 <div class="block">Abort the server or client.</div>
@@ -4168,7 +4187,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterCoprocessorHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3137">getMasterCoprocessorHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3141">getMasterCoprocessorHost</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterCoprocessorHost--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master"><code>MasterCoprocessorHost</code></a></div>
 <dl>
@@ -4183,7 +4202,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterQuotaManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3142">getMasterQuotaManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3146">getMasterQuotaManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterQuotaManager--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><code>MasterQuotaManager</code></a></div>
 <dl>
@@ -4198,7 +4217,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterProcedureExecutor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3147">getMasterProcedureExecutor</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3151">getMasterProcedureExecutor</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterProcedureExecutor--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureExecutor</code></a></div>
 <dl>
@@ -4213,7 +4232,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3152">getServerName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3156">getServerName</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getServerName--">Server</a></code></span></div>
 <div class="block">Returns The unique server name for this server.</div>
 <dl>
@@ -4230,7 +4249,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getAssignmentManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3157">getAssignmentManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3161">getAssignmentManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getAssignmentManager--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's instance of the <a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>AssignmentManager</code></a></div>
 <dl>
@@ -4245,7 +4264,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getCatalogJanitor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/janitor/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master.janitor">CatalogJanitor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3162">getCatalogJanitor</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/janitor/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master.janitor">CatalogJanitor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3166">getCatalogJanitor</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getCatalogJanitor--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/janitor/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master.janitor"><code>CatalogJanitor</code></a></div>
 <dl>
@@ -4260,7 +4279,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerFatalLogBuffer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3166">getRegionServerFatalLogBuffer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3170">getRegionServerFatalLogBuffer</a>()</pre>
 </li>
 </ul>
 <a name="getStartupProgress--">
@@ -4269,7 +4288,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartupProgress</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskGroup.html" title="class in org.apache.hadoop.hbase.monitoring">TaskGroup</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3170">getStartupProgress</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskGroup.html" title="class in org.apache.hadoop.hbase.monitoring">TaskGroup</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3174">getStartupProgress</a>()</pre>
 </li>
 </ul>
 <a name="shutdown--">
@@ -4278,7 +4297,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3177">shutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3181">shutdown</a>()
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Shutdown the cluster. Master runs a coordinated stop of all RegionServers and then itself.</div>
 <dl>
@@ -4293,7 +4312,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>stopMaster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3212">stopMaster</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3216">stopMaster</a>()
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -4307,7 +4326,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3220">stop</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;msg)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3224">stop</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;msg)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#stop-java.lang.String-">Stoppable</a></code></span></div>
 <div class="block">Stop this service. Implementers should favor logging errors over throwing RuntimeExceptions.</div>
 <dl>
@@ -4324,7 +4343,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>checkServiceStarted</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3233">checkServiceStarted</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3237">checkServiceStarted</a>()
                             throws <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc">ServerNotRunningYetException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -4338,7 +4357,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>checkInitialized</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3239">checkInitialized</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3243">checkInitialized</a>()
                throws <a href="../../../../../org/apache/hadoop/hbase/PleaseHoldException.html" title="class in org.apache.hadoop.hbase">PleaseHoldException</a>,
                       <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc">ServerNotRunningYetException</a>,
                       <a href="../../../../../org/apache/hadoop/hbase/MasterNotRunningException.html" title="class in org.apache.hadoop.hbase">MasterNotRunningException</a>,
@@ -4358,7 +4377,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>isActiveMaster</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3256">isActiveMaster</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3260">isActiveMaster</a>()</pre>
 <div class="block">Report whether this master is currently the active master or not. If not active master, we are
  parked on ZK waiting to become active. This method is used for testing.</div>
 <dl>
@@ -4375,7 +4394,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>isInitialized</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3267">isInitialized</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3271">isInitialized</a>()</pre>
 <div class="block">Report whether this master has completed with its initialization and is ready. If ready, the
  master is also the active master. A standby master is never ready. This method is used for
  testing.</div>
@@ -4393,7 +4412,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>isOnline</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3275">isOnline</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3279">isOnline</a>()</pre>
 <div class="block">Report whether this master is started This method is used for testing.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -4407,7 +4426,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>isInMaintenanceMode</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3284">isInMaintenanceMode</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3288">isInMaintenanceMode</a>()</pre>
 <div class="block">Report whether this master is in maintenance mode.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4423,7 +4442,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>setInitialized</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3288">setInitialized</a>(boolean&nbsp;isInitialized)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3292">setInitialized</a>(boolean&nbsp;isInitialized)</pre>
 </li>
 </ul>
 <a name="getInitializedEvent--">
@@ -4432,7 +4451,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitializedEvent</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3293">getInitializedEvent</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3297">getInitializedEvent</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getInitializedEvent--">MasterServices</a></code></span></div>
 <div class="block">Returns Tripped when Master has finished initialization.</div>
 <dl>
@@ -4447,7 +4466,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getAverageLoad</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3303">getAverageLoad</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3307">getAverageLoad</a>()</pre>
 <div class="block">Compute the average load across all region servers. Currently, this uses a very naive
  computation - just uses the number of regions being served, ignoring stats about number of
  requests.</div>
@@ -4463,7 +4482,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>registerService</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3316">registerService</a>(org.apache.hbase.thirdparty.com.google.protobuf.Service&nbsp;instance)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3320">registerService</a>(org.apache.hbase.thirdparty.com.google.protobuf.Service&nbsp;instance)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#registerService-org.apache.hbase.thirdparty.com.google.protobuf.Service-">MasterServices</a></code></span></div>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a master coprocessor endpoint.
  <p/>
@@ -4488,7 +4507,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>constructMaster</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3339">constructMaster</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" titl [...]
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3343">constructMaster</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" titl [...]
                                       org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Utility for constructing an instance of the passed HMaster class.</div>
 <dl>
@@ -4503,7 +4522,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3360">main</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;args)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3364">main</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;args)</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/master/HMasterCommandLine.html" title="class in org.apache.hadoop.hbase.master"><code>HMasterCommandLine</code></a></dd>
@@ -4516,7 +4535,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getHFileCleaner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3366">getHFileCleaner</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3370">getHFileCleaner</a>()</pre>
 </li>
 </ul>
 <a name="getHFileCleaners--">
@@ -4525,7 +4544,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getHFileCleaners</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3370">getHFileCleaners</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3374">getHFileCleaners</a>()</pre>
 </li>
 </ul>
 <a name="getLogCleaner--">
@@ -4534,7 +4553,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogCleaner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3374">getLogCleaner</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3378">getLogCleaner</a>()</pre>
 </li>
 </ul>
 <a name="getSnapshotManager--">
@@ -4543,7 +4562,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getSnapshotManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3380">getSnapshotManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3384">getSnapshotManager</a>()</pre>
 <div class="block">Returns the underlying snapshot manager</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4557,7 +4576,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterProcedureManagerHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3386">getMasterProcedureManagerHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3390">getMasterProcedureManagerHost</a>()</pre>
 <div class="block">Returns the underlying MasterProcedureManagerHost</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4571,7 +4590,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterSchema</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchema</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3391">getClusterSchema</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchema</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3395">getClusterSchema</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getClusterSchema--">MasterServices</a></code></span></div>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master"><code>ClusterSchema</code></a></div>
 <dl>
@@ -4586,7 +4605,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>createNamespace</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3404">createNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3408">createNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               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>
@@ -4611,7 +4630,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyNamespace</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3441">modifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3445">modifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               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>
@@ -4635,7 +4654,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteNamespace</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3481">deleteNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3485">deleteNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               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>
@@ -4659,7 +4678,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespace</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3516">getNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3520">getNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get a Namespace</div>
 <dl>
@@ -4678,7 +4697,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespaces</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/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3528">getNamespaces</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/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3532">getNamespaces</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 all Namespaces</div>
 <dl>
@@ -4695,7 +4714,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>listNamespaces</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="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/master/HMaster.html#line.3545">listNamespaces</a>()
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="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/master/HMaster.html#line.3549">listNamespaces</a>()
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">List namespace names</div>
 <dl>
@@ -4712,7 +4731,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNamesByNamespace</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3561">listTableNamesByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=tru [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3565">listTableNamesByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=tru [...]
                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listTableNamesByNamespace-java.lang.String-">MasterServices</a></code></span></div>
 <div class="block">Get list of table names by namespace</div>
@@ -4734,7 +4753,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableDescriptorsByNamespace</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3567">listTableDescriptorsByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/j [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3571">listTableDescriptorsByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/j [...]
                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listTableDescriptorsByNamespace-java.lang.String-">MasterServices</a></code></span></div>
 <div class="block">Get list of table descriptors by namespace</div>
@@ -4754,7 +4773,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>abortProcedure</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3573">abortProcedure</a>(long&nbsp;procId,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3577">abortProcedure</a>(long&nbsp;procId,
                               boolean&nbsp;mayInterruptIfRunning)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#abortProcedure-long-boolean-">MasterServices</a></code></span></div>
@@ -4778,7 +4797,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedures</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3589">getProcedures</a>()
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3593">getProcedures</a>()
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getProcedures--">MasterServices</a></code></span></div>
 <div class="block">Get procedures</div>
@@ -4798,7 +4817,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocks</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3605">getLocks</a>()
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3609">getLocks</a>()
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getLocks--">MasterServices</a></code></span></div>
 <div class="block">Get locks</div>
@@ -4818,7 +4837,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableDescriptors</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3630">listTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/St [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3634">listTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/St [...]
                                                   <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;regex,
                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNameList,
                                                   boolean&nbsp;includeSysTables)
@@ -4843,7 +4862,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNames</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3650">listTableNames</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="c [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3654">listTableNames</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="c [...]
                                       <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;regex,
                                       boolean&nbsp;includeSysTables)
                                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>
@@ -4866,7 +4885,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptors</h4>
-<pre>private&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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3671">getTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Li [...]
+<pre>private&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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3675">getTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Li [...]
                                                   <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,
                                                   <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;regex,
                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNameList,
@@ -4887,7 +4906,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>filterTablesByRegex</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3713">filterTablesByRegex</a>(<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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3717">filterTablesByRegex</a>(<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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
                                         <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>
 <div class="block">Removes the table descriptors that don't match the pattern.</div>
 <dl>
@@ -4903,7 +4922,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestamp</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3731">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3735">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4924,7 +4943,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestampForRegion</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3737">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3741">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
                                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getLastMajorCompactionTimestampForRegion-byte:A-">MasterServices</a></code></span></div>
 <div class="block">Returns the timestamp of the last successful major compaction for the passed region or 0 if no
@@ -4943,7 +4962,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobCompactionState</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3751">getMobCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3755">getMobCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Gets the mob file compaction state for a specific table. Whether all the mob files are selected
  is known during the compaction execution, but the statistic is done just before compaction
  starts, it is hard to know the compaction type at that time, so the rough statistics are chosen
@@ -4963,7 +4982,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>reportMobCompactionStart</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3759">reportMobCompactionStart</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3763">reportMobCompactionStart</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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -4977,7 +4996,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>reportMobCompactionEnd</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3776">reportMobCompactionEnd</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3780">reportMobCompactionEnd</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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -4991,7 +5010,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>isBalancerOn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3800">isBalancerOn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3804">isBalancerOn</a>()</pre>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/master/balancer/LoadBalancerStateStore.html" title="class in org.apache.hadoop.hbase.master.balancer"><code>LoadBalancerStateStore</code></a>. If the balancer is not initialized,
  false is returned.</div>
 <dl>
@@ -5008,7 +5027,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>isNormalizerOn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3808">isNormalizerOn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3812">isNormalizerOn</a>()</pre>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerStateStore.html" title="class in org.apache.hadoop.hbase.master.normalizer"><code>RegionNormalizerStateStore</code></a>. If it's not initialized, false is
  returned.</div>
 </li>
@@ -5019,7 +5038,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>isSplitOrMergeEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3819">isSplitOrMergeEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3823">isSplitOrMergeEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</pre>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeStateStore.html" title="class in org.apache.hadoop.hbase.master"><code>SplitOrMergeStateStore</code></a>. If it is not initialized, false is
  returned. If switchType is illegal, false will return.</div>
 <dl>
@@ -5038,7 +5057,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadBalancerClassName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3831">getLoadBalancerClassName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3835">getLoadBalancerClassName</a>()</pre>
 <div class="block">Fetch the configured <a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master"><code>LoadBalancer</code></a> class name. If none is set, a default is returned.
  <p/>
  Notice that, the base load balancer will always be <a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.html" title="class in org.apache.hadoop.hbase.rsgroup"><code>RSGroupBasedLoadBalancer</code></a> now, so
@@ -5055,7 +5074,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitOrMergeStateStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeStateStore.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeStateStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3836">getSplitOrMergeStateStore</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeStateStore.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeStateStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3840">getSplitOrMergeStateStore</a>()</pre>
 </li>
 </ul>
 <a name="getLoadBalancer--">
@@ -5064,7 +5083,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadBalancer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupBasedLoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3841">getLoadBalancer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupBasedLoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3845">getLoadBalancer</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getLoadBalancer--">MasterServices</a></code></span></div>
 <div class="block">Returns load balancer</div>
 <dl>
@@ -5079,7 +5098,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getFavoredNodesManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesManager.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3846">getFavoredNodesManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesManager.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3850">getFavoredNodesManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getFavoredNodesManager--">MasterServices</a></code></span></div>
 <div class="block">Returns Favored Nodes Manager</div>
 <dl>
@@ -5094,7 +5113,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>executePeerProcedure</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3850">executePeerProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a>&lt;?&gt;&nbsp;procedure)
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3854">executePeerProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a>&lt;?&gt;&nbsp;procedure)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -5108,7 +5127,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>addReplicationPeer</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3860">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>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3864">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="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
@@ -5134,7 +5153,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>removeReplicationPeer</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3868">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>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3872">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="../../../../../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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#removeReplicationPeer-java.lang.String-">MasterServices</a></code></span></div>
@@ -5156,7 +5175,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>enableReplicationPeer</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3874">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>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3878">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="../../../../../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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#enableReplicationPeer-java.lang.String-">MasterServices</a></code></span></div>
@@ -5178,7 +5197,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>disableReplicationPeer</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3880">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>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3884">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="../../../../../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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#disableReplicationPeer-java.lang.String-">MasterServices</a></code></span></div>
@@ -5200,7 +5219,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationPeerConfig</h4>
-<pre>public&nbsp;<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/master/HMaster.html#line.3886">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>public&nbsp;<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/master/HMaster.html#line.3890">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="../../../../../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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationPeerConfig-java.lang.String-">MasterServices</a></code></span></div>
@@ -5224,7 +5243,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>updateReplicationPeerConfig</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3901">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>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3905">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="../../../../../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>
@@ -5248,7 +5267,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>listReplicationPeers</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3909">listReplicationPeers</a>(<a href="https://docs.oracle.com/ja [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3913">listReplicationPeers</a>(<a href="https://docs.oracle.com/ja [...]
                                                       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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listReplicationPeers-java.lang.String-">MasterServices</a></code></span></div>
@@ -5272,7 +5291,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>transitReplicationPeerSyncReplicationState</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3924">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>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3928">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="../../../../../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>
@@ -5296,7 +5315,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationPeerModificationSwitch</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3934">replicationPeerModificationSwitch</a>(boolean&nbsp;on)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3938">replicationPeerModificationSwitch</a>(boolean&nbsp;on)
                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -5312,7 +5331,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>isReplicationPeerModificationEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3939">isReplicationPeerModificationEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3943">isReplicationPeerModificationEnabled</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#isReplicationPeerModificationEnabled--">isReplicationPeerModificationEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -5325,7 +5344,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>decommissionRegionServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3948">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>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3952">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 (previously called 'draining') to prevent additional
@@ -5344,7 +5363,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>listDecommissionedRegionServers</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3987">listDecommissionedRegionServers</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3991">listDecommissionedRegionServers</a>()</pre>
 <div class="block">List region servers marked as decommissioned (previously called 'draining') to not get regions
  assigned to them.</div>
 <dl>
@@ -5359,7 +5378,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>recommissionRegionServer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3996">recommissionRegionServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4000">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 (previously called 'draining') from a region server to allow regions
@@ -5378,7 +5397,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getLockManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking">LockManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4035">getLockManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking">LockManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4039">getLockManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getLockManager--">MasterServices</a></code></span></div>
 <div class="block">Returns <a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking"><code>LockManager</code></a> to lock namespaces/tables/regions.</div>
 <dl>
@@ -5393,7 +5412,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotaObserverChore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">QuotaObserverChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4039">getQuotaObserverChore</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">QuotaObserverChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4043">getQuotaObserverChore</a>()</pre>
 </li>
 </ul>
 <a name="getSpaceQuotaSnapshotNotifier--">
@@ -5402,7 +5421,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getSpaceQuotaSnapshotNotifier</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4043">getSpaceQuotaSnapshotNotifier</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4047">getSpaceQuotaSnapshotNotifier</a>()</pre>
 </li>
 </ul>
 <a name="getRemoteProcedure-long-">
@@ -5411,7 +5430,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteProcedure</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html" title="interface in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteProcedure</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#lin [...]
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html" title="interface in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteProcedure</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#lin [...]
 </li>
 </ul>
 <a name="remoteProcedureCompleted-long-">
@@ -5420,7 +5439,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteProcedureCompleted</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4057">remoteProcedureCompleted</a>(long&nbsp;procId)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4061">remoteProcedureCompleted</a>(long&nbsp;procId)</pre>
 </li>
 </ul>
 <a name="remoteProcedureFailed-long-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">
@@ -5429,7 +5448,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteProcedureFailed</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4065">remoteProcedureFailed</a>(long&nbsp;procId,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4069">remoteProcedureFailed</a>(long&nbsp;procId,
                                   <a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a>&nbsp;error)</pre>
 </li>
 </ul>
@@ -5439,7 +5458,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>reopenRegions</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4084">reopenRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4088">reopenRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;regionNames,
                    long&nbsp;nonceGroup,
                    long&nbsp;nonce)
@@ -5466,7 +5485,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationPeerManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4105">getReplicationPeerManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4109">getReplicationPeerManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationPeerManager--">MasterServices</a></code></span></div>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>ReplicationPeerManager</code></a>.</div>
 <dl>
@@ -5475,13 +5494,29 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 </dl>
 </li>
 </ul>
+<a name="getReplicationLogCleanerBarrier--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReplicationLogCleanerBarrier</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4114">getReplicationLogCleanerBarrier</a>()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationLogCleanerBarrier--">MasterServices</a></code></span></div>
+<div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master"><code>ReplicationLogCleanerBarrier</code></a>. It will be used at multiple places so we put
+ it in MasterServices directly.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getReplicationLoad-org.apache.hadoop.hbase.ServerName:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationLoad</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</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/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hba [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</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/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hba [...]
 </li>
 </ul>
 <a name="decorateMasterConfiguration-org.apache.hadoop.conf.Configuration-">
@@ -5491,7 +5526,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/m
 <li class="blockList">
 <h4>decorateMasterConfiguration</h4>
 <pre>@InterfaceAudience.Private
-public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4146">decorateMasterConfiguration</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4155">decorateMasterConfiguration</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">This method modifies the master's configuration in order to inject replication-related features</div>
 </li>
 </ul>
@@ -5501,7 +5536,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getSnapshotQuotaObserverChore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4161">getSnapshotQuotaObserverChore</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4170">getSnapshotQuotaObserverChore</a>()</pre>
 </li>
 </ul>
 <a name="getActiveMasterManager--">
@@ -5510,7 +5545,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getActiveMasterManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4165">getActiveMasterManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4174">getActiveMasterManager</a>()</pre>
 </li>
 </ul>
 <a name="getSyncReplicationReplayWALManager--">
@@ -5519,7 +5554,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getSyncReplicationReplayWALManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4170">getSyncReplicationReplayWALManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4179">getSyncReplicationReplayWALManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getSyncReplicationReplayWALManager--">MasterServices</a></code></span></div>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>SyncReplicationReplayWALManager</code></a>.</div>
 <dl>
@@ -5534,7 +5569,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getHbckChore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/hbck/HbckChore.html" title="class in org.apache.hadoop.hbase.master.hbck">HbckChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4174">getHbckChore</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/hbck/HbckChore.html" title="class in org.apache.hadoop.hbase.master.hbck">HbckChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4183">getHbckChore</a>()</pre>
 </li>
 </ul>
 <a name="runReplicationBarrierCleaner--">
@@ -5543,7 +5578,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>runReplicationBarrierCleaner</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4179">runReplicationBarrierCleaner</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4188">runReplicationBarrierCleaner</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#runReplicationBarrierCleaner--">MasterServices</a></code></span></div>
 <div class="block">Run the ReplicationBarrierChore.</div>
 <dl>
@@ -5558,7 +5593,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSGroupInfoManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4187">getRSGroupInfoManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4196">getRSGroupInfoManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getRSGroupInfoManager--">MasterServices</a></code></span></div>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup"><code>RSGroupInfoManager</code></a></div>
 <dl>
@@ -5573,7 +5608,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionState</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4196">getCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4205">getCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Get the compaction state of the table</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -5589,7 +5624,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaLocationSyncer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/zksyncer/MetaLocationSyncer.html" title="class in org.apache.hadoop.hbase.master.zksyncer">MetaLocationSyncer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4238">getMetaLocationSyncer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/zksyncer/MetaLocationSyncer.html" title="class in org.apache.hadoop.hbase.master.zksyncer">MetaLocationSyncer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4247">getMetaLocationSyncer</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMetaLocationSyncer--">MasterServices</a></code></span></div>
 <div class="block">Get the meta location syncer.
  <p/>
@@ -5606,7 +5641,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterRegion</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/region/MasterRegion.html" title="class in org.apache.hadoop.hbase.master.region">MasterRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4244">getMasterRegion</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/region/MasterRegion.html" title="class in org.apache.hadoop.hbase.master.region">MasterRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4253">getMasterRegion</a>()</pre>
 </li>
 </ul>
 <a name="onConfigurationChange-org.apache.hadoop.conf.Configuration-">
@@ -5615,7 +5650,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>onConfigurationChange</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4249">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4258">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">ConfigurationObserver</a></code></span></div>
 <div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a> object when the
  <code>Configuration</code> object is reloaded from disk.</div>
@@ -5631,7 +5666,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>createNamedQueueRecord</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/namequeues/NamedQueueRecorder.html" title="class in org.apache.hadoop.hbase.namequeues">NamedQueueRecorder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4268">createNamedQueueRecord</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/namequeues/NamedQueueRecorder.html" title="class in org.apache.hadoop.hbase.namequeues">NamedQueueRecorder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4277">createNamedQueueRecord</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#createNamedQueueRecord--">createNamedQueueRecord</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;</code></dd>
@@ -5644,7 +5679,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterMode</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4283">clusterMode</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4292">clusterMode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html#clusterMode--">clusterMode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HBaseServerBase.html" title="class in org.apache.hadoop.hbase">HBaseServerBase</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&gt;</code></dd>
@@ -5657,7 +5692,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterId</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4287">getClusterId</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4296">getClusterId</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistryEndpoint.html#getClusterId--">ConnectionRegistryEndpoint</a></code></span></div>
 <div class="block">Get cluster id.</div>
 <dl>
@@ -5672,7 +5707,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getActiveMaster</h4>
-<pre>public&nbsp;<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="../../../../../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/master/HMaster.html#line.4294">getActiveMaster</a>()</pre>
+<pre>public&nbsp;<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="../../../../../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/master/HMaster.html#line.4303">getActiveMaster</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistryEndpoint.html#getActiveMaster--">ConnectionRegistryEndpoint</a></code></span></div>
 <div class="block">Get active master address.</div>
 <dl>
@@ -5687,7 +5722,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getBackupMasters</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4298">getBackupMasters</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4307">getBackupMasters</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistryEndpoint.html#getBackupMasters--">ConnectionRegistryEndpoint</a></code></span></div>
 <div class="block">Get backup masters address.</div>
 <dl>
@@ -5702,7 +5737,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getBootstrapNodes</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&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/master/HMaster.html#line.4303">getBootstrapNodes</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&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/master/HMaster.html#line.4312">getBootstrapNodes</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistryEndpoint.html#getBootstrapNodes--">ConnectionRegistryEndpoint</a></code></span></div>
 <div class="block">Get a iterator of the available bootstrap nodes.</div>
 <dl>
@@ -5717,7 +5752,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaLocations</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4308">getMetaLocations</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4317">getMetaLocations</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistryEndpoint.html#getMetaLocations--">ConnectionRegistryEndpoint</a></code></span></div>
 <div class="block">Get the location of meta regions.</div>
 <dl>
@@ -5732,7 +5767,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>flushMasterStore</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4313">flushMasterStore</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4322">flushMasterStore</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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#flushMasterStore--">MasterServices</a></code></span></div>
 <div class="block">Flush master local region</div>
@@ -5750,7 +5785,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>getLiveRegionServers</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4332">getLiveRegionServers</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4341">getLiveRegionServers</a>()</pre>
 </li>
 </ul>
 <a name="setLoadBalancer-org.apache.hadoop.hbase.rsgroup.RSGroupBasedLoadBalancer-">
@@ -5759,7 +5794,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>setLoadBalancer</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4338">setLoadBalancer</a>(<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupBasedLoadBalancer</a>&nbsp;loadBalancer)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4347">setLoadBalancer</a>(<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupBasedLoadBalancer</a>&nbsp;loadBalancer)</pre>
 </li>
 </ul>
 <a name="setAssignmentManager-org.apache.hadoop.hbase.master.assignment.AssignmentManager-">
@@ -5768,7 +5803,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>setAssignmentManager</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4344">setAssignmentManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;assignmentManager)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4353">setAssignmentManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;assignmentManager)</pre>
 </li>
 </ul>
 <a name="setDisableBalancerChoreForTest-boolean-">
@@ -5777,7 +5812,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>setDisableBalancerChoreForTest</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4350">setDisableBalancerChoreForTest</a>(boolean&nbsp;disable)</pre>
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4359">setDisableBalancerChoreForTest</a>(boolean&nbsp;disable)</pre>
 </li>
 </ul>
 <a name="setQuotasObserver-org.apache.hadoop.conf.Configuration-">
@@ -5786,7 +5821,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>setQuotasObserver</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4354">setQuotasObserver</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4363">setQuotasObserver</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
 <a name="initializeCoprocessorHost-org.apache.hadoop.conf.Configuration-">
@@ -5795,7 +5830,7 @@ public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>initializeCoprocessorHost</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4362">initializeCoprocessorHost</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.4371">initializeCoprocessorHost</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html b/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
index 7f1910cc0e0..db100db0ea5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
@@ -245,7 +245,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" tit
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abort-java.lang.String-java.lang.Throwable-">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abortProcedure-long-boolean-">abortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#addColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-long-long-">addColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/mas [...]
+<code><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abort-java.lang.String-java.lang.Throwable-">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abortProcedure-long-boolean-">abortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#addColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-long-long-">addColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/mas [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.HBaseServerBase">
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterServices.html b/devapidocs/org/apache/hadoop/hbase/master/MasterServices.html
index 133c52b2145..b6f1074d323 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterServices.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterServices.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":18,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":6,"i59":6,"i60": [...]
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":18,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":6,"i59":6,"i60": [...]
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.67">MasterServices</a>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.68">MasterServices</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></pre>
 <div class="block">A curated subset of services provided by <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master"><code>HMaster</code></a>. For use internally only. Passed to
  Managers, Services and Chores so can pass less-than-a full-on HMaster at test-time. Be judicious
@@ -381,120 +381,126 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">getRegionServerVersion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
 </tr>
 <tr id="i39" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier</a></span>()</code>
+<div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master"><code>ReplicationLogCleanerBarrier</code></a>.</div>
+</td>
+</tr>
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationPeerConfig-java.lang.String-">getReplicationPeerConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationPeerManager--">getReplicationPeerManager</a></span>()</code>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>ReplicationPeerManager</code></a>.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getRSGroupInfoManager--">getRSGroupInfoManager</a></span>()</code>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup"><code>RSGroupInfoManager</code></a></div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getServerManager--">getServerManager</a></span>()</code>
 <div class="block">Returns Master's <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master"><code>ServerManager</code></a> instance.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getSnapshotManager--">getSnapshotManager</a></span>()</code>
 <div class="block">Returns the underlying snapshot manager</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/master/SplitWALManager.html" title="class in org.apache.hadoop.hbase.master">SplitWALManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getSplitWALManager--">getSplitWALManager</a></span>()</code>
 <div class="block">Returns return null if current is zk-based WAL splitting</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getSyncReplicationReplayWALManager--">getSyncReplicationReplayWALManager</a></span>()</code>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>SyncReplicationReplayWALManager</code></a>.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getTableDescriptors--">getTableDescriptors</a></span>()</code>
 <div class="block">Returns Return table descriptors implementation.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getTableStateManager--">getTableStateManager</a></span>()</code>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master"><code>TableStateManager</code></a></div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/security/access/ZKPermissionWatcher.html" title="class in org.apache.hadoop.hbase.security.access">ZKPermissionWatcher</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getZKPermissionWatcher--">getZKPermissionWatcher</a></span>()</code>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/security/access/ZKPermissionWatcher.html" title="class in org.apache.hadoop.hbase.security.access"><code>ZKPermissionWatcher</code></a></div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#isActiveMaster--">isActiveMaster</a></span>()</code>
 <div class="block">Returns true if master is the active one</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#isBalancerOn--">isBalancerOn</a></span>()</code>
 <div class="block">Queries the state of the <code>LoadBalancerStateStore</code>.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#isClusterUp--">isClusterUp</a></span>()</code>
 <div class="block">Returns True if cluster is up; false if cluster is not up (we are shutting down).</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#isInitialized--">isInitialized</a></span>()</code>
 <div class="block">Returns true if master is initialized</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#isInMaintenanceMode--">isInMaintenanceMode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#isReplicationPeerModificationEnabled--">isReplicationPeerModificationEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#isSplitOrMergeEnabled-org.apache.hadoop.hbase.client.MasterSwitchType-">isSplitOrMergeEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listReplicationPeers-java.lang.String-">listReplicationPeers</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)</code>
 <div class="block">Return a list of replication peers.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listTableDescriptorsByNamespace-java.lang.String-">listTableDescriptorsByNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get list of table descriptors by namespace</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listTableNamesByNamespace-java.lang.String-">listTableNamesByNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get list of table names by namespace</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo:A-boolean-long-long-">mergeRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
             boolean&nbsp;forcible,
@@ -503,7 +509,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <div class="block">Merge regions in a table.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-long-long-">modifyColumn</a></span>(<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/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;descriptor,
@@ -512,7 +518,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <div class="block">Modify the column descriptor of an existing column in an existing table</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#modifyColumnStoreFileTracker-org.apache.hadoop.hbase.TableName-byte:A-java.lang.String-long-long-">modifyColumnStoreFileTracker</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                             byte[]&nbsp;family,
@@ -522,7 +528,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <div class="block">Modify the store file tracker of an existing column in an existing table</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-long-long-">modifyTable</a></span>(<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/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;descriptor,
@@ -531,7 +537,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <div class="block">Modify the descriptor of an existing table</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#modifyTableStoreFileTracker-org.apache.hadoop.hbase.TableName-java.lang.String-long-long-">modifyTableStoreFileTracker</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dstSFT,
@@ -540,42 +546,42 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <div class="block">Modify the store file tracker of an existing table</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#normalizeRegions-org.apache.hadoop.hbase.client.NormalizeTableFilterParams-boolean-">normalizeRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp,
                 boolean&nbsp;isHighPriority)</code>
 <div class="block">Perform normalization of cluster.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#registerService-org.apache.hbase.thirdparty.com.google.protobuf.Service-">registerService</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.Service&nbsp;instance)</code>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a master coprocessor endpoint.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Removes a peer and stops the replication</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#replicationPeerModificationSwitch-boolean-">replicationPeerModificationSwitch</a></span>(boolean&nbsp;on)</code>&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#runReplicationBarrierCleaner--">runReplicationBarrierCleaner</a></span>()</code>
 <div class="block">Run the ReplicationBarrierChore.</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#skipRegionManagementAction-java.lang.String-">skipRegionManagementAction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;action)</code>
 <div class="block">Checks master state before initiating action over region topology.</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#splitRegion-org.apache.hadoop.hbase.client.RegionInfo-byte:A-long-long-">splitRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
            byte[]&nbsp;splitRow,
@@ -584,14 +590,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <div class="block">Split a region.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#transitReplicationPeerSyncReplicationState-java.lang.String-org.apache.hadoop.hbase.replication.SyncReplicationState-">transitReplicationPeerSyncReplicationState</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                           <a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;clusterState)</code>
 <div class="block">Set current cluster state for a synchronous replication peer.</div>
 </td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-long-long-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits,
@@ -600,7 +606,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <div class="block">Truncate a table</div>
 </td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
@@ -649,7 +655,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getSnapshotManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.69">getSnapshotManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.70">getSnapshotManager</a>()</pre>
 <div class="block">Returns the underlying snapshot manager</div>
 </li>
 </ul>
@@ -659,7 +665,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterProcedureManagerHost</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.72">getMasterProcedureManagerHost</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.73">getMasterProcedureManagerHost</a>()</pre>
 <div class="block">Returns the underlying MasterProcedureManagerHost</div>
 </li>
 </ul>
@@ -669,7 +675,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterSchema</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchema</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.75">getClusterSchema</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchema</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.76">getClusterSchema</a>()</pre>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master"><code>ClusterSchema</code></a></div>
 </li>
 </ul>
@@ -679,7 +685,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getAssignmentManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.78">getAssignmentManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.79">getAssignmentManager</a>()</pre>
 <div class="block">Returns Master's instance of the <a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>AssignmentManager</code></a></div>
 </li>
 </ul>
@@ -689,7 +695,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterFileSystem</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.81">getMasterFileSystem</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.82">getMasterFileSystem</a>()</pre>
 <div class="block">Returns Master's filesystem <a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master"><code>MasterFileSystem</code></a> utility class.</div>
 </li>
 </ul>
@@ -699,7 +705,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterWalManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.84">getMasterWalManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.85">getMasterWalManager</a>()</pre>
 <div class="block">Returns Master's WALs <a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master"><code>MasterWalManager</code></a> utility class.</div>
 </li>
 </ul>
@@ -709,7 +715,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.87">getServerManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.88">getServerManager</a>()</pre>
 <div class="block">Returns Master's <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master"><code>ServerManager</code></a> instance.</div>
 </li>
 </ul>
@@ -719,7 +725,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getExecutorService</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.90">getExecutorService</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.91">getExecutorService</a>()</pre>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor"><code>ExecutorService</code></a></div>
 </li>
 </ul>
@@ -729,7 +735,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableStateManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.93">getTableStateManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.94">getTableStateManager</a>()</pre>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master"><code>TableStateManager</code></a></div>
 </li>
 </ul>
@@ -739,7 +745,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterCoprocessorHost</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.96">getMasterCoprocessorHost</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.97">getMasterCoprocessorHost</a>()</pre>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master"><code>MasterCoprocessorHost</code></a></div>
 </li>
 </ul>
@@ -749,7 +755,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterQuotaManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.99">getMasterQuotaManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.100">getMasterQuotaManager</a>()</pre>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><code>MasterQuotaManager</code></a></div>
 </li>
 </ul>
@@ -759,7 +765,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionNormalizerManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerManager.html" title="class in org.apache.hadoop.hbase.master.normalizer">RegionNormalizerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.102">getRegionNormalizerManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerManager.html" title="class in org.apache.hadoop.hbase.master.normalizer">RegionNormalizerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.103">getRegionNormalizerManager</a>()</pre>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerManager.html" title="class in org.apache.hadoop.hbase.master.normalizer"><code>RegionNormalizerManager</code></a></div>
 </li>
 </ul>
@@ -769,7 +775,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getCatalogJanitor</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/janitor/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master.janitor">CatalogJanitor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.105">getCatalogJanitor</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/janitor/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master.janitor">CatalogJanitor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.106">getCatalogJanitor</a>()</pre>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/janitor/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master.janitor"><code>CatalogJanitor</code></a></div>
 </li>
 </ul>
@@ -779,7 +785,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterProcedureExecutor</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.108">getMasterProcedureExecutor</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.109">getMasterProcedureExecutor</a>()</pre>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureExecutor</code></a></div>
 </li>
 </ul>
@@ -789,7 +795,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitializedEvent</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.111">getInitializedEvent</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.112">getInitializedEvent</a>()</pre>
 <div class="block">Returns Tripped when Master has finished initialization.</div>
 </li>
 </ul>
@@ -799,7 +805,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterMetrics</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.114">getMasterMetrics</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.115">getMasterMetrics</a>()</pre>
 <div class="block">Returns Master's instance of <a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master"><code>MetricsMaster</code></a></div>
 </li>
 </ul>
@@ -809,7 +815,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTableModifiable</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.121">checkTableModifiable</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/master/MasterServices.html#line.122">checkTableModifiable</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>,
                           <a href="../../../../../org/apache/hadoop/hbase/TableNotFoundException.html" title="class in org.apache.hadoop.hbase">TableNotFoundException</a>,
                           <a href="../../../../../org/apache/hadoop/hbase/TableNotDisabledException.html" title="class in org.apache.hadoop.hbase">TableNotDisabledException</a></pre>
@@ -830,7 +836,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.130">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.131">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
                  byte[][]&nbsp;splitKeys,
                  long&nbsp;nonceGroup,
                  long&nbsp;nonce)
@@ -852,7 +858,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>createSystemTable</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.137">createSystemTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor)
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.138">createSystemTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a system table using the given table definition.</div>
 <dl>
@@ -869,7 +875,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTable</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.143">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.144">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                  long&nbsp;nonceGroup,
                  long&nbsp;nonce)
           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>
@@ -888,7 +894,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>truncateTable</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.151">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.152">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                    boolean&nbsp;preserveSplits,
                    long&nbsp;nonceGroup,
                    long&nbsp;nonce)
@@ -909,7 +915,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTable</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.159">modifyTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.160">modifyTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                  <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;descriptor,
                  long&nbsp;nonceGroup,
                  long&nbsp;nonce)
@@ -930,7 +936,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTableStoreFileTracker</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.165">modifyTableStoreFileTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.166">modifyTableStoreFileTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dstSFT,
                                  long&nbsp;nonceGroup,
                                  long&nbsp;nonce)
@@ -948,7 +954,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTable</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.172">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.173">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                  long&nbsp;nonceGroup,
                  long&nbsp;nonce)
           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>
@@ -967,7 +973,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTable</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.179">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.180">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   long&nbsp;nonceGroup,
                   long&nbsp;nonce)
            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>
@@ -986,7 +992,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>addColumn</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.187">addColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.188">addColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;column,
                long&nbsp;nonceGroup,
                long&nbsp;nonce)
@@ -1007,7 +1013,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyColumn</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.195">modifyColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.196">modifyColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;descriptor,
                   long&nbsp;nonceGroup,
                   long&nbsp;nonce)
@@ -1028,7 +1034,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyColumnStoreFileTracker</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.201">modifyColumnStoreFileTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.202">modifyColumnStoreFileTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                   byte[]&nbsp;family,
                                   <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;dstSFT,
                                   long&nbsp;nonceGroup,
@@ -1047,7 +1053,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteColumn</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.209">deleteColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.210">deleteColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   byte[]&nbsp;columnName,
                   long&nbsp;nonceGroup,
                   long&nbsp;nonce)
@@ -1068,7 +1074,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeRegions</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.220">mergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.221">mergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                   boolean&nbsp;forcible,
                   long&nbsp;nonceGroup,
                   long&nbsp;nonce)
@@ -1093,7 +1099,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>splitRegion</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.231">splitRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.232">splitRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                  byte[]&nbsp;splitRow,
                  long&nbsp;nonceGroup,
                  long&nbsp;nonce)
@@ -1118,7 +1124,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptors</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.235">getTableDescriptors</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.236">getTableDescriptors</a>()</pre>
 <div class="block">Returns Return table descriptors implementation.</div>
 </li>
 </ul>
@@ -1128,7 +1134,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>registerService</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.248">registerService</a>(org.apache.hbase.thirdparty.com.google.protobuf.Service&nbsp;instance)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.249">registerService</a>(org.apache.hbase.thirdparty.com.google.protobuf.Service&nbsp;instance)</pre>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a master coprocessor endpoint.
  <p/>
  Only a single instance may be registered for a given <code>Service</code> subclass (the instances
@@ -1150,7 +1156,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>isActiveMaster</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.251">isActiveMaster</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.252">isActiveMaster</a>()</pre>
 <div class="block">Returns true if master is the active one</div>
 </li>
 </ul>
@@ -1160,7 +1166,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>isInitialized</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.254">isInitialized</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.255">isInitialized</a>()</pre>
 <div class="block">Returns true if master is initialized</div>
 </li>
 </ul>
@@ -1170,7 +1176,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>isInMaintenanceMode</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.260">isInMaintenanceMode</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.261">isInMaintenanceMode</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if master is in maintanceMode</dd>
@@ -1185,7 +1191,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>skipRegionManagementAction</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.267">skipRegionManagementAction</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;action)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.268">skipRegionManagementAction</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;action)</pre>
 <div class="block">Checks master state before initiating action over region topology.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1201,7 +1207,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>abortProcedure</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.275">abortProcedure</a>(long&nbsp;procId,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.276">abortProcedure</a>(long&nbsp;procId,
                        boolean&nbsp;mayInterruptIfRunning)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Abort a procedure.</div>
@@ -1222,7 +1228,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedures</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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.282">getProcedures</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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.283">getProcedures</a>()
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get procedures</div>
 <dl>
@@ -1239,7 +1245,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocks</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/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.288">getLocks</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/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.289">getLocks</a>()
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get locks</div>
 <dl>
@@ -1256,7 +1262,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableDescriptorsByNamespace</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.294">listTableDescriptorsByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/la [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.295">listTableDescriptorsByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/la [...]
                                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get list of table descriptors by namespace</div>
 <dl>
@@ -1273,7 +1279,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNamesByNamespace</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.301">listTableNamesByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" tit [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.302">listTableNamesByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" tit [...]
                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get list of table names by namespace</div>
 <dl>
@@ -1292,7 +1298,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestamp</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.308">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.309">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1311,7 +1317,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestampForRegion</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.314">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.315">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
                                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns the timestamp of the last successful major compaction for the passed region or 0 if no
  HFile resulting from a major compaction exists</div>
@@ -1327,7 +1333,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadBalancer</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.317">getLoadBalancer</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.318">getLoadBalancer</a>()</pre>
 <div class="block">Returns load balancer</div>
 </li>
 </ul>
@@ -1337,7 +1343,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>isSplitOrMergeEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.319">isSplitOrMergeEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.320">isSplitOrMergeEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</pre>
 </li>
 </ul>
 <a name="getFavoredNodesManager--">
@@ -1346,7 +1352,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getFavoredNodesManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesManager.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.322">getFavoredNodesManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesManager.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.323">getFavoredNodesManager</a>()</pre>
 <div class="block">Returns Favored Nodes Manager</div>
 </li>
 </ul>
@@ -1356,7 +1362,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>addReplicationPeer</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.330">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>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.331">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="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
@@ -1379,7 +1385,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>removeReplicationPeer</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.337">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>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.338">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="../../../../../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>
 <div class="block">Removes a peer and stops the replication</div>
@@ -1398,7 +1404,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>enableReplicationPeer</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.343">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>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.344">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="../../../../../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>
 <div class="block">Restart the replication stream to the specified peer</div>
@@ -1417,7 +1423,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>disableReplicationPeer</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.349">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>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.350">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="../../../../../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>
 <div class="block">Stop the replication stream to the specified peer</div>
@@ -1436,7 +1442,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <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/master/MasterServices.html#line.356">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/master/MasterServices.html#line.357">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="../../../../../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>
 <div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
@@ -1457,17 +1463,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationPeerManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.362">getReplicationPeerManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.363">getReplicationPeerManager</a>()</pre>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>ReplicationPeerManager</code></a>.</div>
 </li>
 </ul>
+<a name="getReplicationLogCleanerBarrier--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReplicationLogCleanerBarrier</h4>
+<pre><a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.369">getReplicationLogCleanerBarrier</a>()</pre>
+<div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master"><code>ReplicationLogCleanerBarrier</code></a>. It will be used at multiple places so we put
+ it in MasterServices directly.</div>
+</li>
+</ul>
 <a name="getSyncReplicationReplayWALManager--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getSyncReplicationReplayWALManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.367">getSyncReplicationReplayWALManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.374">getSyncReplicationReplayWALManager</a>()</pre>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>SyncReplicationReplayWALManager</code></a>.</div>
 </li>
 </ul>
@@ -1477,7 +1494,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>updateReplicationPeerConfig</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.374">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>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.381">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="../../../../../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>
@@ -1498,7 +1515,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <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/master/MasterServices.html#line.382">listReplicationPeers</a>(<a href="https://docs.oracle.com/javase/8 [...]
+<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/master/MasterServices.html#line.389">listReplicationPeers</a>(<a href="https://docs.oracle.com/javase/8 [...]
                                                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>
 <div class="block">Return a list of replication peers.</div>
@@ -1519,7 +1536,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>transitReplicationPeerSyncReplicationState</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.390">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>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.397">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;clusterState)
                                          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>
@@ -1540,7 +1557,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationPeerModificationSwitch</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.393">replicationPeerModificationSwitch</a>(boolean&nbsp;on)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.400">replicationPeerModificationSwitch</a>(boolean&nbsp;on)
                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1554,7 +1571,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>isReplicationPeerModificationEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.395">isReplicationPeerModificationEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.402">isReplicationPeerModificationEnabled</a>()</pre>
 </li>
 </ul>
 <a name="getLockManager--">
@@ -1563,7 +1580,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getLockManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking">LockManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.398">getLockManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking">LockManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.405">getLockManager</a>()</pre>
 <div class="block">Returns <a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking"><code>LockManager</code></a> to lock namespaces/tables/regions.</div>
 </li>
 </ul>
@@ -1573,7 +1590,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerVersion</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.400">getRegionServerVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.407">getRegionServerVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
 </li>
 </ul>
 <a name="checkIfShouldMoveSystemRegionAsync--">
@@ -1582,7 +1599,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>checkIfShouldMoveSystemRegionAsync</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.406">checkIfShouldMoveSystemRegionAsync</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.413">checkIfShouldMoveSystemRegionAsync</a>()</pre>
 <div class="block">Called when a new RegionServer is added to the cluster. Checks if new server has a newer
  version than any existing server and will move system tables there if so.</div>
 </li>
@@ -1593,7 +1610,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getClientIdAuditPrefix</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.408">getClientIdAuditPrefix</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.415">getClientIdAuditPrefix</a>()</pre>
 </li>
 </ul>
 <a name="isClusterUp--">
@@ -1602,7 +1619,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>isClusterUp</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.411">isClusterUp</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.418">isClusterUp</a>()</pre>
 <div class="block">Returns True if cluster is up; false if cluster is not up (we are shutting down).</div>
 </li>
 </ul>
@@ -1612,7 +1629,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitWALManager</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitWALManager.html" title="class in org.apache.hadoop.hbase.master">SplitWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.414">getSplitWALManager</a>()</pre>
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitWALManager.html" title="class in org.apache.hadoop.hbase.master">SplitWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.421">getSplitWALManager</a>()</pre>
 <div class="block">Returns return null if current is zk-based WAL splitting</div>
 </li>
 </ul>
@@ -1622,7 +1639,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getAccessChecker</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/security/access/AccessChecker.html" title="class in org.apache.hadoop.hbase.security.access">AccessChecker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.419">getAccessChecker</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/security/access/AccessChecker.html" title="class in org.apache.hadoop.hbase.security.access">AccessChecker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.426">getAccessChecker</a>()</pre>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/security/access/AccessChecker.html" title="class in org.apache.hadoop.hbase.security.access"><code>AccessChecker</code></a></div>
 </li>
 </ul>
@@ -1632,7 +1649,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getZKPermissionWatcher</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/security/access/ZKPermissionWatcher.html" title="class in org.apache.hadoop.hbase.security.access">ZKPermissionWatcher</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.422">getZKPermissionWatcher</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/security/access/ZKPermissionWatcher.html" title="class in org.apache.hadoop.hbase.security.access">ZKPermissionWatcher</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.429">getZKPermissionWatcher</a>()</pre>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/security/access/ZKPermissionWatcher.html" title="class in org.apache.hadoop.hbase.security.access"><code>ZKPermissionWatcher</code></a></div>
 </li>
 </ul>
@@ -1642,7 +1659,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>executeRegionPlansWithThrottling</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/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master">RegionPlan</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.429">executeRegionPlansWithThrottling</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.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/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master">RegionPlan</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.436">executeRegionPlansWithThrottling</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html? [...]
 <div class="block">Execute region plans with throttling</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1658,7 +1675,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>runReplicationBarrierCleaner</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.434">runReplicationBarrierCleaner</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.441">runReplicationBarrierCleaner</a>()</pre>
 <div class="block">Run the ReplicationBarrierChore.</div>
 </li>
 </ul>
@@ -1668,7 +1685,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSGroupInfoManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.437">getRSGroupInfoManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.444">getRSGroupInfoManager</a>()</pre>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.html" title="interface in org.apache.hadoop.hbase.rsgroup"><code>RSGroupInfoManager</code></a></div>
 </li>
 </ul>
@@ -1678,7 +1695,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>isBalancerOn</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.444">isBalancerOn</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.451">isBalancerOn</a>()</pre>
 <div class="block">Queries the state of the <code>LoadBalancerStateStore</code>. If the balancer is not initialized,
  false is returned.</div>
 <dl>
@@ -1693,7 +1710,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>normalizeRegions</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.453">normalizeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.460">normalizeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/NormalizeTableFilterParams.html" title="class in org.apache.hadoop.hbase.client">NormalizeTableFilterParams</a>&nbsp;ntfp,
                          boolean&nbsp;isHighPriority)
                   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">Perform normalization of cluster.</div>
@@ -1715,7 +1732,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaLocationSyncer</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/zksyncer/MetaLocationSyncer.html" title="class in org.apache.hadoop.hbase.master.zksyncer">MetaLocationSyncer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.461">getMetaLocationSyncer</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/zksyncer/MetaLocationSyncer.html" title="class in org.apache.hadoop.hbase.master.zksyncer">MetaLocationSyncer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.468">getMetaLocationSyncer</a>()</pre>
 <div class="block">Get the meta location syncer.
  <p/>
  We need to get this in MTP to tell the syncer the new meta replica count.</div>
@@ -1727,7 +1744,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
 <ul class="blockListLast">
 <li class="blockList">
 <h4>flushMasterStore</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.466">flushMasterStore</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterServices.html#line.473">flushMasterStore</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">Flush master local region</div>
 <dl>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 7c93e4c3a07..c5a2f8c1b02 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -322,12 +322,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.ServerLiveState.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">ServerManager.ServerLiveState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
index a29d908f868..c7f51cc7b1d 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -228,10 +228,10 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">PeerProcedureInterface.PeerOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MetaProcedureInterface.MetaOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">MetaProcedureInterface.MetaOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ExceptionalRunnable.html b/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ExceptionalRunnable.html
index c5b461d3f44..877b1ec4f02 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ExceptionalRunnable.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ExceptionalRunnable.html
@@ -105,7 +105,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.800">ReplicationPeerManager.ExceptionalRunnable</a></pre>
+<pre>private static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.792">ReplicationPeerManager.ExceptionalRunnable</a></pre>
 </li>
 </ul>
 </div>
@@ -149,7 +149,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ExceptionalRunnable.html#line.801">run</a>()
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ExceptionalRunnable.html#line.793">run</a>()
   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html b/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html
index 7c0e9e97646..672567b3290 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.131">ReplicationPeerManager.ReplicationQueueStorageInitializer</a></pre>
+static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.127">ReplicationPeerManager.ReplicationQueueStorageInitializer</a></pre>
 </li>
 </ul>
 </div>
@@ -154,7 +154,7 @@ static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/mas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html#line.133">initialize</a>()
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html#line.129">initialize</a>()
          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html b/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html
index fe45b5b757c..69978bc4022 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":9,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":9,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.97">ReplicationPeerManager</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.96">ReplicationPeerManager</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></pre>
 <div class="block">Manages and performs all replication admin operations.
@@ -201,14 +201,10 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#queueStorageInitializer">queueStorageInitializer</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#replicationLogCleanerBarrier">replicationLogCleanerBarrier</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#syncReplicationPeerLock">syncReplicationPeerLock</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#zk">zk</a></span></code>&nbsp;</td>
 </tr>
@@ -339,130 +335,126 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#getQueueStorage--">getQueueStorage</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="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;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#getSerialPeerIdsBelongsTo-org.apache.hadoop.hbase.TableName-">getSerialPeerIdsBelongsTo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#initializeQueueStorage--">initializeQueueStorage</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#isStringEquals-java.lang.String-java.lang.String-">isStringEquals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s1,
               <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;s2)</code>
 <div class="block">For replication peer cluster key or endpoint class, null and empty string is same.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#listPeers-java.util.regex.Pattern-">listPeers</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#migrateHFileRefs-org.apache.hadoop.hbase.replication.ZKReplicationQueueStorageForMigration-">migrateHFileRefs</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorageForMigration</a>&nbsp;oldQueueSto [...]
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#migrateLastPushedSeqIds-org.apache.hadoop.hbase.replication.ZKReplicationQueueStorageForMigration-">migrateLastPushedSeqIds</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorageForMigration</a>&nb [...]
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#migrateQueues-org.apache.hadoop.hbase.replication.ZKReplicationQueueStorageForMigration-">migrateQueues</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorageForMigration</a>&nbsp;oldQueueStorage)< [...]
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#migrateQueuesFromZk-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.util.concurrent.ExecutorService-">migrateQueuesFromZk</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zookeeper,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;executor)</code>
 <div class="block">Submit the migration tasks to the given <code>executor</code>.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">This method would be called by the <a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a> object when the
  <code>Configuration</code> object is reloaded from disk.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#preAddPeer-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
           <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#preDisablePeer-java.lang.String-">preDisablePeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#preEnablePeer-java.lang.String-">preEnablePeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#preRemovePeer-java.lang.String-">preRemovePeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#preTransitPeerSyncReplicationState-java.lang.String-org.apache.hadoop.hbase.replication.SyncReplicationState-">preTransitPeerSyncReplicationState</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                   <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)</code>
 <div class="block">Returns the old desciption of the peer</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#preUpdatePeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdatePeerConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                    <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
 <div class="block">Return the old peer description.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#releaseSyncReplicationPeerLock--">releaseSyncReplicationPeerLock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#removeAllLastPushedSeqIds-java.lang.String-">removeAllLastPushedSeqIds</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#removeAllQueues-java.lang.String-">removeAllQueues</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#removeAllQueuesAndHFileRefs-java.lang.String-">removeAllQueuesAndHFileRefs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#removePeer-java.lang.String-">removePeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#runAsync-org.apache.hadoop.hbase.master.replication.ReplicationPeerManager.ExceptionalRunnable-java.util.concurrent.ExecutorService-">runAsync</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ExceptionalRunnable.html" title="interface in org.apache.hadoop.hbase.master.replication">Re [...]
         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;executor)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#setPeerNewSyncReplicationState-java.lang.String-org.apache.hadoop.hbase.replication.SyncReplicationState-">setPeerNewSyncReplicationState</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                               <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#setPeerState-java.lang.String-boolean-">setPeerState</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
             boolean&nbsp;enabled)</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#transitPeerSyncReplicationState-java.lang.String-org.apache.hadoop.hbase.replication.SyncReplicationState-">transitPeerSyncReplicationState</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;newState)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#tryAcquireSyncReplicationPeerLock--">tryAcquireSyncReplicationPeerLock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#updatePeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updatePeerConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                 <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>&nbsp;</td>
@@ -495,7 +487,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.99">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.98">LOG</a></pre>
 </li>
 </ul>
 <a name="peerStorage">
@@ -504,7 +496,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>peerStorage</h4>
-<pre>private volatile&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeerStorage</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.101">peerStorage</a></pre>
+<pre>private volatile&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeerStorage</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.100">peerStorage</a></pre>
 </li>
 </ul>
 <a name="queueStorage">
@@ -513,7 +505,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>queueStorage</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.103">queueStorage</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.102">queueStorage</a></pre>
 </li>
 </ul>
 <a name="peers">
@@ -522,7 +514,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>peers</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replicati [...]
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replicati [...]
 </li>
 </ul>
 <a name="allowedTransition">
@@ -531,7 +523,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>allowedTransition</h4>
-<pre>private final&nbsp;org.apache.hbase.thirdparty.com.google.common.collect.ImmutableMap&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState. [...]
+<pre>private final&nbsp;org.apache.hbase.thirdparty.com.google.common.collect.ImmutableMap&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState. [...]
 </li>
 </ul>
 <a name="syncReplicationPeerLock">
@@ -540,16 +532,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>syncReplicationPeerLock</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.116">syncReplicationPeerLock</a></pre>
-</li>
-</ul>
-<a name="replicationLogCleanerBarrier">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>replicationLogCleanerBarrier</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.118">replicationLogCleanerBarrier</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.115">syncReplicationPeerLock</a></pre>
 </li>
 </ul>
 <a name="clusterId">
@@ -558,7 +541,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterId</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.121">clusterId</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.117">clusterId</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -567,7 +550,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>private volatile&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.123">conf</a></pre>
+<pre>private volatile&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.119">conf</a></pre>
 </li>
 </ul>
 <a name="fs">
@@ -576,7 +559,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>fs</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.126">fs</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.122">fs</a></pre>
 </li>
 </ul>
 <a name="zk">
@@ -585,7 +568,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>zk</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.128">zk</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.124">zk</a></pre>
 </li>
 </ul>
 <a name="queueStorageInitializer">
@@ -594,7 +577,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockListLast">
 <li class="blockList">
 <h4>queueStorageInitializer</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html" title="interface in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager.ReplicationQueueStorageInitializer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.136">queueStorageInitializer</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html" title="interface in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager.ReplicationQueueStorageInitializer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.132">queueStorageInitializer</a></pre>
 </li>
 </ul>
 </li>
@@ -611,7 +594,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReplicationPeerManager</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.140">ReplicationPeerManager</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.136">ReplicationPeerManager</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                        <a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zk,
                        <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeerStorage</a>&nbsp;peerStorage,
                        <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;queueStorage,
@@ -635,7 +618,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkQueuesDeleted</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.154">checkQueuesDeleted</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.150">checkQueuesDeleted</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                 <a href="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
@@ -651,7 +634,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeQueueStorage</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.166">initializeQueueStorage</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.162">initializeQueueStorage</a>()
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -665,7 +648,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>preAddPeer</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.170">preAddPeer</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>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.166">preAddPeer</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="../../../../../../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>
@@ -682,7 +665,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkPeerExists</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.192">checkPeerExists</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>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.188">checkPeerExists</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="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -696,7 +679,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkPeerInDAStateIfSyncReplication</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.200">checkPeerInDAStateIfSyncReplication</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.196">checkPeerInDAStateIfSyncReplication</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="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -710,7 +693,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>preRemovePeer</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/master/replication/ReplicationPeerManager.html#line.212">preRemovePeer</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/master/replication/ReplicationPeerManager.html#line.208">preRemovePeer</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="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -724,7 +707,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>preEnablePeer</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.218">preEnablePeer</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>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.214">preEnablePeer</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="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -738,7 +721,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>preDisablePeer</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.225">preDisablePeer</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>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.221">preDisablePeer</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="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -752,7 +735,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>preUpdatePeerConfig</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.235">preUpdatePeerConfig</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/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.231">preUpdatePeerConfig</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="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <div class="block">Return the old peer description. Can never be null.</div>
@@ -768,7 +751,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>preTransitPeerSyncReplicationState</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.275">preTransitPeerSyncReplicationState</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 [...]
+<pre><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.271">preTransitPeerSyncReplicationState</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 [...]
                                                               <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)
                                                        throws <a href="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <div class="block">Returns the old desciption of the peer</div>
@@ -784,7 +767,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>addPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.287">addPeer</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.283">addPeer</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
@@ -800,7 +783,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>removePeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.303">removePeer</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.299">removePeer</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -814,7 +797,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>setPeerState</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.312">setPeerState</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.308">setPeerState</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,
                           boolean&nbsp;enabled)
                    throws <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
@@ -829,7 +812,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>getPeerState</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.323">getPeerState</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>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.319">getPeerState</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -843,7 +826,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>enablePeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.332">enablePeer</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.328">enablePeer</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -857,7 +840,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>disablePeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.336">disablePeer</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.332">disablePeer</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -871,7 +854,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePeerConfig</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.340">updatePeerConfig</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.336">updatePeerConfig</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
@@ -886,7 +869,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>listPeers</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.356">listPeers</a>(<a href="https [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.352">listPeers</a>(<a href="https [...]
 </li>
 </ul>
 <a name="getPeerConfig-java.lang.String-">
@@ -895,7 +878,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>getPeerConfig</h4>
-<pre>public&nbsp;<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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.364">getPeerConfig</a>(<a href="htt [...]
+<pre>public&nbsp;<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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.360">getPeerConfig</a>(<a href="htt [...]
 </li>
 </ul>
 <a name="removeAllLastPushedSeqIds-java.lang.String-">
@@ -904,7 +887,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>removeAllLastPushedSeqIds</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.369">removeAllLastPushedSeqIds</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>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.365">removeAllLastPushedSeqIds</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -918,7 +901,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>setPeerNewSyncReplicationState</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.373">setPeerNewSyncReplicationState</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.369">setPeerNewSyncReplicationState</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
@@ -933,7 +916,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>transitPeerSyncReplicationState</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.378">transitPeerSyncReplicationState</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.374">transitPeerSyncReplicationState</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;newState)
                                      throws <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
@@ -948,7 +931,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>removeAllQueues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.392">removeAllQueues</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.388">removeAllQueues</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -962,7 +945,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>removeAllQueuesAndHFileRefs</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.408">removeAllQueuesAndHFileRefs</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.404">removeAllQueuesAndHFileRefs</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="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -976,7 +959,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkPeerConfig</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.413">checkPeerConfig</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.409">checkPeerConfig</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                       throws <a href="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -990,7 +973,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkPeerConfigForSyncReplication</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.473">checkPeerConfigForSyncReplication</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.469">checkPeerConfigForSyncReplication</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                                         throws <a href="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1004,7 +987,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkSyncReplicationPeerConfigConflict</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.508">checkSyncReplicationPeerConfigConflict</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.504">checkSyncReplicationPeerConfigConflict</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                                              throws <a href="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1018,7 +1001,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkNamespacesAndTableCfsConfigConflict</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.540">checkNamespacesAndTableCfsConfigConflict</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="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;namespaces,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.536">checkNamespacesAndTableCfsConfigConflict</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="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;namespaces,
                                                       <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="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="https [...]
                                                throws <a href="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <div class="block">Set a namespace in the peer config means that all tables in this namespace will be replicated
@@ -1050,7 +1033,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkConfiguredWALEntryFilters</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.557">checkConfiguredWALEntryFilters</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.553">checkConfiguredWALEntryFilters</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                                      throws <a href="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1064,7 +1047,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkClusterKey</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.574">checkClusterKey</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;clusterKey)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.570">checkClusterKey</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;clusterKey)
                       throws <a href="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1078,7 +1061,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>checkSameClusterKey</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.582">checkSameClusterKey</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;clusterKey)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.578">checkSameClusterKey</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;clusterKey)
                           throws <a href="../../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1092,7 +1075,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>getSerialPeerIdsBelongsTo</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="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/master/replication/ReplicationPeerManager.html#line.601">getSerialPeerIdsBelongsTo</a>(<a href="../../../../../../org/apach [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="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/master/replication/ReplicationPeerManager.html#line.597">getSerialPeerIdsBelongsTo</a>(<a href="../../../../../../org/apach [...]
 </li>
 </ul>
 <a name="getPeerStorage--">
@@ -1101,7 +1084,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>getPeerStorage</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeerStorage</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.609">getPeerStorage</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeerStorage</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.605">getPeerStorage</a>()</pre>
 </li>
 </ul>
 <a name="getQueueStorage--">
@@ -1110,7 +1093,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>getQueueStorage</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.613">getQueueStorage</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.609">getQueueStorage</a>()</pre>
 </li>
 </ul>
 <a name="createReplicationQueueStorage-org.apache.hadoop.hbase.master.MasterServices-">
@@ -1119,7 +1102,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>createReplicationQueueStorage</h4>
-<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html" title="interface in org.apache [...]
+<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ReplicationQueueStorageInitializer.html" title="interface in org.apache [...]
                                                                                                                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1133,7 +1116,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.660">create</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> [...]
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.656">create</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</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;clusterId)
                                      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>
@@ -1150,7 +1133,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>isStringEquals</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.713">isStringEquals</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;s1,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.709">isStringEquals</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;s1,
                                <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;s2)</pre>
 <div class="block">For replication peer cluster key or endpoint class, null and empty string is same. So here
  don't use <code>StringUtils.equals(CharSequence, CharSequence)</code> directly.</div>
@@ -1162,7 +1145,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>tryAcquireSyncReplicationPeerLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.720">tryAcquireSyncReplicationPeerLock</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.716">tryAcquireSyncReplicationPeerLock</a>()</pre>
 </li>
 </ul>
 <a name="releaseSyncReplicationPeerLock--">
@@ -1171,16 +1154,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseSyncReplicationPeerLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.724">releaseSyncReplicationPeerLock</a>()</pre>
-</li>
-</ul>
-<a name="getReplicationLogCleanerBarrier--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getReplicationLogCleanerBarrier</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.728">getReplicationLogCleanerBarrier</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.720">releaseSyncReplicationPeerLock</a>()</pre>
 </li>
 </ul>
 <a name="onConfigurationChange-org.apache.hadoop.conf.Configuration-">
@@ -1189,7 +1163,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>onConfigurationChange</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.733">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.725">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">ConfigurationObserver</a></code></span></div>
 <div class="block">This method would be called by the <a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a> object when the
  <code>Configuration</code> object is reloaded from disk.</div>
@@ -1205,7 +1179,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>convert</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueData.html" title="class in org.apache.hadoop.hbase.replication">ReplicationQueueData</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.738">convert</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.ZkReplicationQueueData.html" title="class in org.apache.hadoop.hbase.re [...]
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueData.html" title="class in org.apache.hadoop.hbase.replication">ReplicationQueueData</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.730">convert</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.ZkReplicationQueueData.html" title="class in org.apache.hadoop.hbase.re [...]
 </li>
 </ul>
 <a name="migrateQueues-org.apache.hadoop.hbase.replication.ZKReplicationQueueStorageForMigration-">
@@ -1214,7 +1188,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>migrateQueues</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.758">migrateQueues</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorageForMigration</a>&nbsp;oldQueueStorage)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.750">migrateQueues</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorageForMigration</a>&nbsp;oldQueueStorage)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1228,7 +1202,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>migrateLastPushedSeqIds</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.773">migrateLastPushedSeqIds</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorageForMigration</a>&nbsp;oldQueueStorage)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.765">migrateLastPushedSeqIds</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorageForMigration</a>&nbsp;oldQueueStorage)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1242,7 +1216,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>migrateHFileRefs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.786">migrateHFileRefs</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorageForMigration</a>&nbsp;oldQueueStorage)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.778">migrateHFileRefs</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorageForMigration.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorageForMigration</a>&nbsp;oldQueueStorage)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1256,7 +1230,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockList">
 <li class="blockList">
 <h4>runAsync</h4>
-<pre>private&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;?&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.804">runAsync</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ExceptionalRunnable.html" title="interface in org.a [...]
+<pre>private&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;?&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.796">runAsync</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.ExceptionalRunnable.html" title="interface in org.a [...]
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;executor)</pre>
 </li>
 </ul>
@@ -1266,7 +1240,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/conf/Configuration
 <ul class="blockListLast">
 <li class="blockList">
 <h4>migrateQueuesFromZk</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;?&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.820">migrateQueuesFromZk</a>(<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&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;?&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#line.812">migrateQueuesFromZk</a>(<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp [...]
                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;executor)</pre>
 <div class="block">Submit the migration tasks to the given <code>executor</code>.</div>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index e891972c39a..a760d9b9518 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -484,22 +484,22 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaRegionLocationCache.ZNodeOpType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaRegionLocationCache.ZNodeOpType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClientMetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClientMetaTableAccessor.QueryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ServerTask.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ServerTask.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CatalogReplicaMode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CatalogReplicaMode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClientMetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClientMetaTableAccessor.QueryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ServerTask.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ServerTask.State</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html b/devapidocs/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html
index 8dd7f83c547..cfb422802d8 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html
@@ -248,7 +248,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html#line.30">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html#line.55">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -268,7 +268,7 @@ for (Procedure.LockState c : Procedure.LockState.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html#line.30">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html#line.55">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 007921c3a5d..b9cd7081efa 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -217,11 +217,11 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 928687b1693..ee82fe9ea8e 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -240,12 +240,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">RpcThrottlingException.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html
index a57b1384fbc..08cf926edf2 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html
@@ -249,7 +249,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver">ChunkCreator.ChunkType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html#line.30">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver">ChunkCreator.ChunkType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html#line.62">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -269,7 +269,7 @@ for (ChunkCreator.ChunkType c : ChunkCreator.ChunkType.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver">ChunkCreator.ChunkType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html#line.30">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver">ChunkCreator.ChunkType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html#line.62">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index a99e1c0f6aa..7765f4048ac 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -748,21 +748,21 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ReadPointCalculationLock.LockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ReadPointCalculationLock.LockType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
index 927e057e190..1b57548216e 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -130,8 +130,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
index 08fbd29af44..ec9fea50bff 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -244,9 +244,9 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.RollRequestReason.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">WALActionsListener.RollRequestReason</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEventTrackerListener.WalState.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">WALEventTrackerListener.WalState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.DictionaryIndex.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">CompressionContext.DictionaryIndex</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.RollRequestReason.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">WALActionsListener.RollRequestReason</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html b/devapidocs/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html
index 635bccefa58..0421c0ecafe 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html
@@ -155,34 +155,38 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#barrier">barrier</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#canFilter">canFilter</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#getNotFullyDeadServers">getNotFullyDeadServers</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static org.slf4j.Logger</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#LOG">LOG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#notFullyDeadServers">notFullyDeadServers</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <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;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#peerIds">peerIds</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <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/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 [...]
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#replicationOffsets">replicationOffsets</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#rpm">rpm</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#stopped">stopped</a></span></code>&nbsp;</td>
 </tr>
@@ -359,13 +363,22 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <pre>private&nbsp;<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/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 [...]
 </li>
 </ul>
+<a name="barrier">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>barrier</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.68">barrier</a></pre>
+</li>
+</ul>
 <a name="rpm">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rpm</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.68">rpm</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.69">rpm</a></pre>
 </li>
 </ul>
 <a name="getNotFullyDeadServers">
@@ -374,7 +387,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>getNotFullyDeadServers</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt; <a href="../../../../../../src-html/ [...]
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt; <a href="../../../../../../src-html/ [...]
 </li>
 </ul>
 <a name="canFilter">
@@ -383,7 +396,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>canFilter</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.71">canFilter</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.72">canFilter</a></pre>
 </li>
 </ul>
 <a name="stopped">
@@ -392,7 +405,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockListLast">
 <li class="blockList">
 <h4>stopped</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.72">stopped</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.73">stopped</a></pre>
 </li>
 </ul>
 </li>
@@ -426,7 +439,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>preClean</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.75">preClean</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.76">preClean</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.html#preClean--">FileCleanerDelegate</a></code></span></div>
 <div class="block">Used to do some initialize work before every period clean</div>
 </li>
@@ -437,7 +450,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>postClean</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.123">postClean</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.124">postClean</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.html#postClean--">FileCleanerDelegate</a></code></span></div>
 <div class="block">Will be called after cleaner run.</div>
 </li>
@@ -448,7 +461,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldDelete</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.134">shouldDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationGroupOffset.html" title="class in org.apache.hadoop.hbase.replication">ReplicationGroupOffset</a>&nbsp;offset,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.135">shouldDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationGroupOffset.html" title="class in org.apache.hadoop.hbase.replication">ReplicationGroupOffset</a>&nbsp;offset,
                              org.apache.hadoop.fs.FileStatus&nbsp;file)</pre>
 </li>
 </ul>
@@ -458,7 +471,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>filterForLiveRegionServer</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.138">filterForLiveRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.139">filterForLiveRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                                           org.apache.hadoop.fs.FileStatus&nbsp;file)</pre>
 </li>
 </ul>
@@ -468,7 +481,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>filterForDeadRegionServer</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.162">filterForDeadRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.163">filterForDeadRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                                           org.apache.hadoop.fs.FileStatus&nbsp;file)</pre>
 </li>
 </ul>
@@ -478,7 +491,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeletableFiles</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.188">getDeletableFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&l [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.189">getDeletableFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&l [...]
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.html#getDeletableFiles-java.lang.Iterable-">FileCleanerDelegate</a></code></span></div>
 <div class="block">Determines which of the given files are safe to delete</div>
 <dl>
@@ -499,7 +512,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>getNotFullyDeadServers</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.231">getNotFullyDeadServers</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/M [...]
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.232">getNotFullyDeadServers</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/M [...]
 </li>
 </ul>
 <a name="init-java.util.Map-">
@@ -508,7 +521,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.241">init</a>(<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/lan [...]
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.242">init</a>(<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/lan [...]
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.html#init-java.util.Map-">FileCleanerDelegate</a></code></span></div>
 <div class="block">this method is used to pass some instance into subclass</div>
 <dl>
@@ -525,7 +538,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.256">stop</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;why)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.258">stop</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;why)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html#stop-java.lang.String-">Stoppable</a></code></span></div>
 <div class="block">Stop this service. Implementers should favor logging errors over throwing RuntimeExceptions.</div>
 <dl>
@@ -540,7 +553,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLo
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isStopped</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.261">isStopped</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#line.263">isStopped</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped--">Stoppable</a></code></span></div>
 <div class="block">Returns True if <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html#stop-java.lang.String-"><code>Stoppable.stop(String)</code></a> has been closed.</div>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html b/devapidocs/org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html
index 58bb2990166..454041ae468 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html
@@ -248,7 +248,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html" title="enum in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier.State</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html#line.85">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html" title="enum in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier.State</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html#line.26">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -268,7 +268,7 @@ for (ReplicationLogCleanerBarrier.State c : ReplicationLogCleanerBarrier.State.v
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html" title="enum in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier.State</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html#line.85">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interfa [...]
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html" title="enum in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier.State</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.State.html#line.26">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interfa [...]
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/master/class-use/ReplicationLogCleanerBarrier.html b/devapidocs/org/apache/hadoop/hbase/replication/master/class-use/ReplicationLogCleanerBarrier.html
index be05e54e144..b24fa8ebaf1 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/master/class-use/ReplicationLogCleanerBarrier.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/master/class-use/ReplicationLogCleanerBarrier.html
@@ -83,7 +83,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master">org.apache.hadoop.hbase.master</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.master">org.apache.hadoop.hbase.replication.master</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
@@ -91,12 +95,12 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></h3>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Field and Description</th>
@@ -104,12 +108,12 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#replicationLogCleanerBarrier">replicationLogCleanerBarrier</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/HMaster.html#replicationLogCleanerBarrier">replicationLogCleanerBarrier</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -117,7 +121,31 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MasterServices.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationLogCleanerBarrier--">getReplicationLogCleanerBarrier</a></span>()</code>
+<div class="block">Returns the <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master"><code>ReplicationLogCleanerBarrier</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.replication.master">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a> in <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/package-summary.html">org.apache.hadoop.hbase.replication.master</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/package-summary.html">org.apache.hadoop.hbase.replication.master</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleanerBarrier.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationLogCleaner.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html#barrier">barrier</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/master/package-use.html b/devapidocs/org/apache/hadoop/hbase/replication/master/package-use.html
index 933dce6675b..74056319b18 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/master/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/master/package-use.html
@@ -83,7 +83,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master">org.apache.hadoop.hbase.master</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -93,17 +93,17 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master">
 <!--   -->
 </a>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/replication/master/package-summary.html">org.apache.hadoop.hbase.replication.master</a> used by <a href="../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/replication/master/package-summary.html">org.apache.hadoop.hbase.replication.master</a> used by <a href="../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colOne" scope="col">Class and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/class-use/ReplicationLogCleanerBarrier.html#org.apache.hadoop.hbase.master.replication">ReplicationLogCleanerBarrier</a>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/class-use/ReplicationLogCleanerBarrier.html#org.apache.hadoop.hbase.master">ReplicationLogCleanerBarrier</a>
 <div class="block">A barrier to guard the execution of <a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html" title="class in org.apache.hadoop.hbase.replication.master"><code>ReplicationLogCleaner</code></a>.</div>
 </td>
 </tr>
@@ -120,6 +120,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/class-use/ReplicationLogCleanerBarrier.html#org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier</a>
+<div class="block">A barrier to guard the execution of <a href="../../../../../../org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.html" title="class in org.apache.hadoop.hbase.replication.master"><code>ReplicationLogCleaner</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/master/class-use/ReplicationLogCleanerBarrier.State.html#org.apache.hadoop.hbase.replication.master">ReplicationLogCleanerBarrier.State</a>&nbsp;</td>
 </tr>
 </tbody>
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html b/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
index b852db5d283..48d47c7b0fb 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
@@ -187,9 +187,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.PeerState.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ReplicationPeer.PeerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerStorageType.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ReplicationPeerStorageType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">SyncReplicationState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.PeerState.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ReplicationPeer.PeerState</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
index 3dd15fa3d38..195ec954005 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
@@ -217,9 +217,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.SourceHolder.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">MetricsReplicationSourceFactoryImpl.SourceHolder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.HasNext.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">WALEntryStream.HasNext</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceShipper.WorkerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.SourceHolder.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">MetricsReplicationSourceFactoryImpl.SourceHolder</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
index 91aa2fa7d79..9dcb9133315 100644
--- a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
@@ -110,8 +110,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index 43ad2642b79..49f7f286f01 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -162,12 +162,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Scope.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Scope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclHelper.HDFSAclOperation.OperationType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">SnapshotScannerHDFSAclHelper.HDFSAclOperation.OperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclHelper.HDFSAclOperation.AclType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">SnapshotScannerHDFSAclHelper.HDFSAclOperation.AclType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Scope.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Scope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index db818ed0461..59a4f5f65b8 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -196,9 +196,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/trace/package-tree.html b/devapidocs/org/apache/hadoop/hbase/trace/package-tree.html
index 244257ce770..d62f397a5a6 100644
--- a/devapidocs/org/apache/hadoop/hbase/trace/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/trace/package-tree.html
@@ -97,9 +97,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
+<li type="circle">org.apache.hadoop.hbase.trace.<a href="../../../../../org/apache/hadoop/hbase/trace/HBaseSemanticAttributes.Operation.html" title="enum in org.apache.hadoop.hbase.trace"><span class="typeNameLink">HBaseSemanticAttributes.Operation</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.trace.<a href="../../../../../org/apache/hadoop/hbase/trace/HBaseSemanticAttributes.ReadType.html" title="enum in org.apache.hadoop.hbase.trace"><span class="typeNameLink">HBaseSemanticAttributes.ReadType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.trace.<a href="../../../../../org/apache/hadoop/hbase/trace/HBaseSemanticAttributes.RpcSystem.html" title="enum in org.apache.hadoop.hbase.trace"><span class="typeNameLink">HBaseSemanticAttributes.RpcSystem</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.trace.<a href="../../../../../org/apache/hadoop/hbase/trace/HBaseSemanticAttributes.Operation.html" title="enum in org.apache.hadoop.hbase.trace"><span class="typeNameLink">HBaseSemanticAttributes.Operation</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index 565316ddcc7..bddf463991d 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -537,15 +537,15 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/DNS.ServerType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">DNS.ServerType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HbckErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HbckErrorReporter.ERROR_CODE</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLockWithObjectPool.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLockWithObjectPool.ReferenceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HbckErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HbckErrorReporter.ERROR_CODE</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/DNS.ServerType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">DNS.ServerType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index ef43ab40312..4195643ae7e 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -198,8 +198,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALTailingReader.State.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALTailingReader.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
 </ul>
 </li>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
index d77498d4396..1a31d62043c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
@@ -237,4141 +237,4150 @@
 <span class="sourceLineNo">229</span>import org.apache.hadoop.hbase.replication.ZKReplicationQueueStorageForMigration;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>import org.apache.hadoop.hbase.replication.master.ReplicationHFileCleaner;<a name="line.230"></a>
 <span class="sourceLineNo">231</span>import org.apache.hadoop.hbase.replication.master.ReplicationLogCleaner;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>import org.apache.hadoop.hbase.replication.master.ReplicationSinkTrackerTableCreator;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>import org.apache.hadoop.hbase.replication.regionserver.ReplicationSyncUp;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>import org.apache.hadoop.hbase.replication.regionserver.ReplicationSyncUp.ReplicationSyncUpToolInfo;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>import org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>import org.apache.hadoop.hbase.rsgroup.RSGroupBasedLoadBalancer;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>import org.apache.hadoop.hbase.rsgroup.RSGroupInfoManager;<a name="line.237"></a>
-<span class="sourceLineNo">238</span>import org.apache.hadoop.hbase.rsgroup.RSGroupUtil;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>import org.apache.hadoop.hbase.security.SecurityConstants;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.242"></a>
-<span class="sourceLineNo">243</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>import org.apache.hadoop.hbase.util.CommonFSUtils;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>import org.apache.hadoop.hbase.util.CoprocessorConfigurationUtil;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>import org.apache.hadoop.hbase.util.FutureUtils;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>import org.apache.hadoop.hbase.util.HBaseFsck;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>import org.apache.hadoop.hbase.util.JVMClusterUtil;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>import org.apache.hadoop.hbase.util.JsonMapper;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>import org.apache.hadoop.hbase.util.RetryCounter;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>import org.apache.hadoop.hbase.util.RetryCounterFactory;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>import org.apache.hadoop.hbase.util.TableDescriptorChecker;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>import org.apache.hadoop.hbase.zookeeper.ZKWatcher;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>import org.apache.hadoop.hbase.zookeeper.ZNodePaths;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>import org.apache.zookeeper.KeeperException;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>import org.slf4j.Logger;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>import org.slf4j.LoggerFactory;<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>import org.apache.hbase.thirdparty.com.google.common.collect.Sets;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>import org.apache.hbase.thirdparty.com.google.common.io.ByteStreams;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>import org.apache.hbase.thirdparty.com.google.common.io.Closeables;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>import org.apache.hbase.thirdparty.com.google.gson.JsonParseException;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>import org.apache.hbase.thirdparty.com.google.protobuf.Descriptors;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>import org.apache.hbase.thirdparty.com.google.protobuf.Service;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>import org.apache.hbase.thirdparty.org.eclipse.jetty.server.ServerConnector;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>import org.apache.hbase.thirdparty.org.eclipse.jetty.webapp.WebAppContext;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>import org.apache.hbase.thirdparty.org.glassfish.jersey.server.ResourceConfig;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>import org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>/**<a name="line.293"></a>
-<span class="sourceLineNo">294</span> * HMaster is the "master server" for HBase. An HBase cluster has one active master. If many masters<a name="line.294"></a>
-<span class="sourceLineNo">295</span> * are started, all compete. Whichever wins goes on to run the cluster. All others park themselves<a name="line.295"></a>
-<span class="sourceLineNo">296</span> * in their constructor until master or cluster shutdown or until the active master loses its lease<a name="line.296"></a>
-<span class="sourceLineNo">297</span> * in zookeeper. Thereafter, all running master jostle to take over master role.<a name="line.297"></a>
-<span class="sourceLineNo">298</span> * &lt;p/&gt;<a name="line.298"></a>
-<span class="sourceLineNo">299</span> * The Master can be asked shutdown the cluster. See {@link #shutdown()}. In this case it will tell<a name="line.299"></a>
-<span class="sourceLineNo">300</span> * all regionservers to go down and then wait on them all reporting in that they are down. This<a name="line.300"></a>
-<span class="sourceLineNo">301</span> * master will then shut itself down.<a name="line.301"></a>
-<span class="sourceLineNo">302</span> * &lt;p/&gt;<a name="line.302"></a>
-<span class="sourceLineNo">303</span> * You can also shutdown just this master. Call {@link #stopMaster()}.<a name="line.303"></a>
-<span class="sourceLineNo">304</span> * @see org.apache.zookeeper.Watcher<a name="line.304"></a>
-<span class="sourceLineNo">305</span> */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.306"></a>
-<span class="sourceLineNo">307</span>public class HMaster extends HBaseServerBase&lt;MasterRpcServices&gt; implements MasterServices {<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>  private static final Logger LOG = LoggerFactory.getLogger(HMaster.class);<a name="line.309"></a>
-<span class="sourceLineNo">310</span><a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  // instance into a web context !! AND OTHER PLACES !!<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public static final String MASTER = "master";<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // Manager and zk listener for master election<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private final ActiveMasterManager activeMasterManager;<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // Region server tracker<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  private final RegionServerTracker regionServerTracker;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Draining region server tracker<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private DrainingServerTracker drainingServerTracker;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // Tracker for load balancer state<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  LoadBalancerStateStore loadBalancerStateStore;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // Tracker for meta location, if any client ZK quorum specified<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  private MetaLocationSyncer metaLocationSyncer;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  // Tracker for active master location, if any client ZK quorum specified<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  @InterfaceAudience.Private<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  MasterAddressSyncer masterAddressSyncer;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  // Tracker for auto snapshot cleanup state<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  SnapshotCleanupStateStore snapshotCleanupStateStore;<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  // Tracker for split and merge state<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private SplitOrMergeStateStore splitOrMergeStateStore;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  private ClusterSchemaService clusterSchemaService;<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public static final String HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS =<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    "hbase.master.wait.on.service.seconds";<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  public static final int DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS = 5 * 60;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  public static final String HBASE_MASTER_CLEANER_INTERVAL = "hbase.master.cleaner.interval";<a name="line.340"></a>
-<span class="sourceLineNo">341</span><a name="line.341"></a>
-<span class="sourceLineNo">342</span>  public static final int DEFAULT_HBASE_MASTER_CLEANER_INTERVAL = 600 * 1000;<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>  private String clusterId;<a name="line.344"></a>
-<span class="sourceLineNo">345</span><a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // Metrics for the HMaster<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  final MetricsMaster metricsMaster;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // file system manager for the master FS operations<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  private MasterFileSystem fileSystemManager;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  private MasterWalManager walManager;<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  // manager to manage procedure-based WAL splitting, can be null if current<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  // is zk-based WAL splitting. SplitWALManager will replace SplitLogManager<a name="line.353"></a>
-<span class="sourceLineNo">354</span>  // and MasterWalManager, which means zk-based WAL splitting code will be<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  // useless after we switch to the procedure-based one. our eventual goal<a name="line.355"></a>
-<span class="sourceLineNo">356</span>  // is to remove all the zk-based WAL splitting code.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private SplitWALManager splitWALManager;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // server manager to deal with region server info<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile ServerManager serverManager;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  // manager of assignment nodes in zookeeper<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private AssignmentManager assignmentManager;<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>  private RSGroupInfoManager rsGroupInfoManager;<a name="line.365"></a>
-<span class="sourceLineNo">366</span><a name="line.366"></a>
-<span class="sourceLineNo">367</span>  // manager of replication<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  private ReplicationPeerManager replicationPeerManager;<a name="line.368"></a>
-<span class="sourceLineNo">369</span><a name="line.369"></a>
-<span class="sourceLineNo">370</span>  private SyncReplicationReplayWALManager syncReplicationReplayWALManager;<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>  // buffer for "fatal error" notices from region servers<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  // in the cluster. This is only used for assisting<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  // operations/debugging.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>  // flag set after we become the active master (used for testing)<a name="line.377"></a>
-<span class="sourceLineNo">378</span>  private volatile boolean activeMaster = false;<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>  // flag set after we complete initialization once active<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  private final ProcedureEvent&lt;?&gt; initialized = new ProcedureEvent&lt;&gt;("master initialized");<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  // flag set after master services are started,<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  // initialization may have not completed yet.<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  volatile boolean serviceStarted = false;<a name="line.385"></a>
+<span class="sourceLineNo">232</span>import org.apache.hadoop.hbase.replication.master.ReplicationLogCleanerBarrier;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>import org.apache.hadoop.hbase.replication.master.ReplicationSinkTrackerTableCreator;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>import org.apache.hadoop.hbase.replication.regionserver.ReplicationSyncUp;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>import org.apache.hadoop.hbase.replication.regionserver.ReplicationSyncUp.ReplicationSyncUpToolInfo;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>import org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>import org.apache.hadoop.hbase.rsgroup.RSGroupBasedLoadBalancer;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>import org.apache.hadoop.hbase.rsgroup.RSGroupInfoManager;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>import org.apache.hadoop.hbase.rsgroup.RSGroupUtil;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>import org.apache.hadoop.hbase.security.SecurityConstants;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.245"></a>
+<span class="sourceLineNo">246</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>import org.apache.hadoop.hbase.util.CommonFSUtils;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>import org.apache.hadoop.hbase.util.CoprocessorConfigurationUtil;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>import org.apache.hadoop.hbase.util.FutureUtils;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>import org.apache.hadoop.hbase.util.HBaseFsck;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>import org.apache.hadoop.hbase.util.JVMClusterUtil;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>import org.apache.hadoop.hbase.util.JsonMapper;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.257"></a>
+<span class="sourceLineNo">258</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>import org.apache.hadoop.hbase.util.RetryCounter;<a name="line.259"></a>
+<span class="sourceLineNo">260</span>import org.apache.hadoop.hbase.util.RetryCounterFactory;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>import org.apache.hadoop.hbase.util.TableDescriptorChecker;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.264"></a>
+<span class="sourceLineNo">265</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.265"></a>
+<span class="sourceLineNo">266</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.267"></a>
+<span class="sourceLineNo">268</span>import org.apache.hadoop.hbase.zookeeper.ZKWatcher;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>import org.apache.hadoop.hbase.zookeeper.ZNodePaths;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>import org.apache.zookeeper.KeeperException;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>import org.slf4j.Logger;<a name="line.272"></a>
+<span class="sourceLineNo">273</span>import org.slf4j.LoggerFactory;<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>import org.apache.hbase.thirdparty.com.google.common.collect.Sets;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>import org.apache.hbase.thirdparty.com.google.common.io.ByteStreams;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>import org.apache.hbase.thirdparty.com.google.common.io.Closeables;<a name="line.279"></a>
+<span class="sourceLineNo">280</span>import org.apache.hbase.thirdparty.com.google.gson.JsonParseException;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>import org.apache.hbase.thirdparty.com.google.protobuf.Descriptors;<a name="line.281"></a>
+<span class="sourceLineNo">282</span>import org.apache.hbase.thirdparty.com.google.protobuf.Service;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>import org.apache.hbase.thirdparty.org.eclipse.jetty.server.ServerConnector;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>import org.apache.hbase.thirdparty.org.eclipse.jetty.webapp.WebAppContext;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>import org.apache.hbase.thirdparty.org.glassfish.jersey.server.ResourceConfig;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>import org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer;<a name="line.288"></a>
+<span class="sourceLineNo">289</span><a name="line.289"></a>
+<span class="sourceLineNo">290</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.292"></a>
+<span class="sourceLineNo">293</span><a name="line.293"></a>
+<span class="sourceLineNo">294</span>/**<a name="line.294"></a>
+<span class="sourceLineNo">295</span> * HMaster is the "master server" for HBase. An HBase cluster has one active master. If many masters<a name="line.295"></a>
+<span class="sourceLineNo">296</span> * are started, all compete. Whichever wins goes on to run the cluster. All others park themselves<a name="line.296"></a>
+<span class="sourceLineNo">297</span> * in their constructor until master or cluster shutdown or until the active master loses its lease<a name="line.297"></a>
+<span class="sourceLineNo">298</span> * in zookeeper. Thereafter, all running master jostle to take over master role.<a name="line.298"></a>
+<span class="sourceLineNo">299</span> * &lt;p/&gt;<a name="line.299"></a>
+<span class="sourceLineNo">300</span> * The Master can be asked shutdown the cluster. See {@link #shutdown()}. In this case it will tell<a name="line.300"></a>
+<span class="sourceLineNo">301</span> * all regionservers to go down and then wait on them all reporting in that they are down. This<a name="line.301"></a>
+<span class="sourceLineNo">302</span> * master will then shut itself down.<a name="line.302"></a>
+<span class="sourceLineNo">303</span> * &lt;p/&gt;<a name="line.303"></a>
+<span class="sourceLineNo">304</span> * You can also shutdown just this master. Call {@link #stopMaster()}.<a name="line.304"></a>
+<span class="sourceLineNo">305</span> * @see org.apache.zookeeper.Watcher<a name="line.305"></a>
+<span class="sourceLineNo">306</span> */<a name="line.306"></a>
+<span class="sourceLineNo">307</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.307"></a>
+<span class="sourceLineNo">308</span>public class HMaster extends HBaseServerBase&lt;MasterRpcServices&gt; implements MasterServices {<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>  private static final Logger LOG = LoggerFactory.getLogger(HMaster.class);<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  // instance into a web context !! AND OTHER PLACES !!<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  public static final String MASTER = "master";<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>  // Manager and zk listener for master election<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  private final ActiveMasterManager activeMasterManager;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  // Region server tracker<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  private final RegionServerTracker regionServerTracker;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  // Draining region server tracker<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  private DrainingServerTracker drainingServerTracker;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  // Tracker for load balancer state<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  LoadBalancerStateStore loadBalancerStateStore;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  // Tracker for meta location, if any client ZK quorum specified<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  private MetaLocationSyncer metaLocationSyncer;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  // Tracker for active master location, if any client ZK quorum specified<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  @InterfaceAudience.Private<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  MasterAddressSyncer masterAddressSyncer;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  // Tracker for auto snapshot cleanup state<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  SnapshotCleanupStateStore snapshotCleanupStateStore;<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // Tracker for split and merge state<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  private SplitOrMergeStateStore splitOrMergeStateStore;<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  private ClusterSchemaService clusterSchemaService;<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  public static final String HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS =<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    "hbase.master.wait.on.service.seconds";<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public static final int DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS = 5 * 60;<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>  public static final String HBASE_MASTER_CLEANER_INTERVAL = "hbase.master.cleaner.interval";<a name="line.341"></a>
+<span class="sourceLineNo">342</span><a name="line.342"></a>
+<span class="sourceLineNo">343</span>  public static final int DEFAULT_HBASE_MASTER_CLEANER_INTERVAL = 600 * 1000;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  private String clusterId;<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>  // Metrics for the HMaster<a name="line.347"></a>
+<span class="sourceLineNo">348</span>  final MetricsMaster metricsMaster;<a name="line.348"></a>
+<span class="sourceLineNo">349</span>  // file system manager for the master FS operations<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  private MasterFileSystem fileSystemManager;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>  private MasterWalManager walManager;<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  // manager to manage procedure-based WAL splitting, can be null if current<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  // is zk-based WAL splitting. SplitWALManager will replace SplitLogManager<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  // and MasterWalManager, which means zk-based WAL splitting code will be<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  // useless after we switch to the procedure-based one. our eventual goal<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  // is to remove all the zk-based WAL splitting code.<a name="line.357"></a>
+<span class="sourceLineNo">358</span>  private SplitWALManager splitWALManager;<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span>  // server manager to deal with region server info<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  private volatile ServerManager serverManager;<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>  // manager of assignment nodes in zookeeper<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  private AssignmentManager assignmentManager;<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  private RSGroupInfoManager rsGroupInfoManager;<a name="line.366"></a>
+<span class="sourceLineNo">367</span><a name="line.367"></a>
+<span class="sourceLineNo">368</span>  private final ReplicationLogCleanerBarrier replicationLogCleanerBarrier =<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    new ReplicationLogCleanerBarrier();<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  // manager of replication<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  private ReplicationPeerManager replicationPeerManager;<a name="line.372"></a>
+<span class="sourceLineNo">373</span><a name="line.373"></a>
+<span class="sourceLineNo">374</span>  private SyncReplicationReplayWALManager syncReplicationReplayWALManager;<a name="line.374"></a>
+<span class="sourceLineNo">375</span><a name="line.375"></a>
+<span class="sourceLineNo">376</span>  // buffer for "fatal error" notices from region servers<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  // in the cluster. This is only used for assisting<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  // operations/debugging.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>  // flag set after we become the active master (used for testing)<a name="line.381"></a>
+<span class="sourceLineNo">382</span>  private volatile boolean activeMaster = false;<a name="line.382"></a>
+<span class="sourceLineNo">383</span><a name="line.383"></a>
+<span class="sourceLineNo">384</span>  // flag set after we complete initialization once active<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  private final ProcedureEvent&lt;?&gt; initialized = new ProcedureEvent&lt;&gt;("master initialized");<a name="line.385"></a>
 <span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  // Maximum time we should run balancer for<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  private final int maxBalancingTime;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>  // Maximum percent of regions in transition when balancing<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  private final double maxRitPercent;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  private final LockManager lockManager = new LockManager(this);<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span>  private RSGroupBasedLoadBalancer balancer;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>  private BalancerChore balancerChore;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  private static boolean disableBalancerChoreForTest = false;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  private RegionNormalizerManager regionNormalizerManager;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  private ClusterStatusChore clusterStatusChore;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  private SnapshotCleanerChore snapshotCleanerChore = null;<a name="line.400"></a>
-<span class="sourceLineNo">401</span><a name="line.401"></a>
-<span class="sourceLineNo">402</span>  private HbckChore hbckChore;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  CatalogJanitor catalogJanitorChore;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>  // Threadpool for scanning the Old logs directory, used by the LogCleaner<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  private DirScanPool logCleanerPool;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private LogCleaner logCleaner;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  // HFile cleaners for the custom hfile archive paths and the default archive path<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  // The archive path cleaner is the first element<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  private List&lt;HFileCleaner&gt; hfileCleaners = new ArrayList&lt;&gt;();<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  // The hfile cleaner paths, including custom paths and the default archive path<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  private List&lt;Path&gt; hfileCleanerPaths = new ArrayList&lt;&gt;();<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  // The shared hfile cleaner pool for the custom archive paths<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  private DirScanPool sharedHFileCleanerPool;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  // The exclusive hfile cleaner pool for scanning the archive directory<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  private DirScanPool exclusiveHFileCleanerPool;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  private ReplicationBarrierCleaner replicationBarrierCleaner;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>  private MobFileCleanerChore mobFileCleanerChore;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  private MobFileCompactionChore mobFileCompactionChore;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  private RollingUpgradeChore rollingUpgradeChore;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  // used to synchronize the mobCompactionStates<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  // save the information of mob compactions in tables.<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  volatile MasterCoprocessorHost cpHost;<a name="line.426"></a>
-<span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>  private final boolean preLoadTableDescriptors;<a name="line.428"></a>
+<span class="sourceLineNo">387</span>  // flag set after master services are started,<a name="line.387"></a>
+<span class="sourceLineNo">388</span>  // initialization may have not completed yet.<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  volatile boolean serviceStarted = false;<a name="line.389"></a>
+<span class="sourceLineNo">390</span><a name="line.390"></a>
+<span class="sourceLineNo">391</span>  // Maximum time we should run balancer for<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  private final int maxBalancingTime;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  // Maximum percent of regions in transition when balancing<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  private final double maxRitPercent;<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>  private final LockManager lockManager = new LockManager(this);<a name="line.396"></a>
+<span class="sourceLineNo">397</span><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  private RSGroupBasedLoadBalancer balancer;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  private BalancerChore balancerChore;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>  private static boolean disableBalancerChoreForTest = false;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  private RegionNormalizerManager regionNormalizerManager;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  private ClusterStatusChore clusterStatusChore;<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  private SnapshotCleanerChore snapshotCleanerChore = null;<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>  private HbckChore hbckChore;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  CatalogJanitor catalogJanitorChore;<a name="line.407"></a>
+<span class="sourceLineNo">408</span>  // Threadpool for scanning the Old logs directory, used by the LogCleaner<a name="line.408"></a>
+<span class="sourceLineNo">409</span>  private DirScanPool logCleanerPool;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>  private LogCleaner logCleaner;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>  // HFile cleaners for the custom hfile archive paths and the default archive path<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  // The archive path cleaner is the first element<a name="line.412"></a>
+<span class="sourceLineNo">413</span>  private List&lt;HFileCleaner&gt; hfileCleaners = new ArrayList&lt;&gt;();<a name="line.413"></a>
+<span class="sourceLineNo">414</span>  // The hfile cleaner paths, including custom paths and the default archive path<a name="line.414"></a>
+<span class="sourceLineNo">415</span>  private List&lt;Path&gt; hfileCleanerPaths = new ArrayList&lt;&gt;();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  // The shared hfile cleaner pool for the custom archive paths<a name="line.416"></a>
+<span class="sourceLineNo">417</span>  private DirScanPool sharedHFileCleanerPool;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>  // The exclusive hfile cleaner pool for scanning the archive directory<a name="line.418"></a>
+<span class="sourceLineNo">419</span>  private DirScanPool exclusiveHFileCleanerPool;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  private ReplicationBarrierCleaner replicationBarrierCleaner;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>  private MobFileCleanerChore mobFileCleanerChore;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  private MobFileCompactionChore mobFileCompactionChore;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  private RollingUpgradeChore rollingUpgradeChore;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>  // used to synchronize the mobCompactionStates<a name="line.424"></a>
+<span class="sourceLineNo">425</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  // save the information of mob compactions in tables.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.427"></a>
+<span class="sourceLineNo">428</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.428"></a>
 <span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>  // Time stamps for when a hmaster became active<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  private long masterActiveTime;<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span>  // Time stamp for when HMaster finishes becoming Active Master<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  private long masterFinishedInitializationTime;<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.436"></a>
-<span class="sourceLineNo">437</span><a name="line.437"></a>
-<span class="sourceLineNo">438</span>  // monitor for snapshot of hbase tables<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  SnapshotManager snapshotManager;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  // monitor for distributed procedures<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  private MasterProcedureManagerHost mpmHost;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>  private RegionsRecoveryChore regionsRecoveryChore = null;<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  private RegionsRecoveryConfigManager regionsRecoveryConfigManager = null;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private volatile MasterQuotaManager quotaManager;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  private SpaceQuotaSnapshotNotifier spaceQuotaSnapshotNotifier;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  private QuotaObserverChore quotaObserverChore;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>  private SnapshotQuotaObserverChore snapshotQuotaChore;<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.452"></a>
-<span class="sourceLineNo">453</span>  private ProcedureStore procedureStore;<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>  // the master local storage to store procedure data, meta region locations, etc.<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  private MasterRegion masterRegion;<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  private RegionServerList rsListStorage;<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>  // handle table states<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  private TableStateManager tableStateManager;<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  private Server masterJettyServer;<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>  // Determine if we should do normal startup or minimal "single-user" mode with no region<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  // servers and no user tables. Useful for repair and recovery of hbase:meta<a name="line.467"></a>
-<span class="sourceLineNo">468</span>  private final boolean maintenanceMode;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  static final String MAINTENANCE_MODE = "hbase.master.maintenance_mode";<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  // the in process region server for carry system regions in maintenanceMode<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  private JVMClusterUtil.RegionServerThread maintenanceRegionServer;<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  // Cached clusterId on stand by masters to serve clusterID requests from clients.<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  private final CachedClusterId cachedClusterId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span><a name="line.476"></a>
-<span class="sourceLineNo">477</span>  public static final String WARMUP_BEFORE_MOVE = "hbase.master.warmup.before.move";<a name="line.477"></a>
-<span class="sourceLineNo">478</span>  private static final boolean DEFAULT_WARMUP_BEFORE_MOVE = true;<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>  private TaskGroup startupTaskGroup;<a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * Store whether we allow replication peer modification operations.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  private ReplicationPeerModificationStateStore replicationPeerModificationStateStore;<a name="line.485"></a>
-<span class="sourceLineNo">486</span><a name="line.486"></a>
-<span class="sourceLineNo">487</span>  /**<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * Initializes the HMaster. The steps are as follows:<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * &lt;p&gt;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * &lt;ol&gt;<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * &lt;/ol&gt;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * &lt;p&gt;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * Remaining steps of initialization occur in {@link #finishActiveMasterInitialization()} after<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * the master becomes the active one.<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   */<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  public HMaster(final Configuration conf) throws IOException {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    super(conf, "Master");<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    final Span span = TraceUtil.createSpan("HMaster.cxtor");<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    try (Scope ignored = span.makeCurrent()) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      if (conf.getBoolean(MAINTENANCE_MODE, false)) {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        LOG.info("Detected {}=true via configuration.", MAINTENANCE_MODE);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        maintenanceMode = true;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      } else if (Boolean.getBoolean(MAINTENANCE_MODE)) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>        LOG.info("Detected {}=true via environment variables.", MAINTENANCE_MODE);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        maintenanceMode = true;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      } else {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        maintenanceMode = false;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      this.rsFatals = new MemoryBoundedLogMessageBuffer(<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        conf.getLong("hbase.master.buffer.for.rs.fatals", 1 * 1024 * 1024));<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      LOG.info("hbase.rootdir={}, hbase.cluster.distributed={}",<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        CommonFSUtils.getRootDir(this.conf),<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        this.conf.getBoolean(HConstants.CLUSTER_DISTRIBUTED, false));<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>      // Disable usage of meta replicas in the master<a name="line.517"></a>
-<span class="sourceLineNo">518</span>      this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>      decorateMasterConfiguration(this.conf);<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>      // Hack! Maps DFSClient =&gt; Master for logs. HDFS made this<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      // config param for task trackers, but we can piggyback off of it.<a name="line.523"></a>
-<span class="sourceLineNo">524</span>      if (this.conf.get("mapreduce.task.attempt.id") == null) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        this.conf.set("mapreduce.task.attempt.id", "hb_m_" + this.serverName.toString());<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this.metricsMaster = new MetricsMaster(new MetricsMasterWrapperImpl(this));<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>      // preload table descriptor at startup<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      this.preLoadTableDescriptors = conf.getBoolean("hbase.master.preload.tabledescriptors", true);<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>      this.maxBalancingTime = getMaxBalancingTime();<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      this.maxRitPercent = conf.getDouble(HConstants.HBASE_MASTER_BALANCER_MAX_RIT_PERCENT,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        HConstants.DEFAULT_HBASE_MASTER_BALANCER_MAX_RIT_PERCENT);<a name="line.535"></a>
+<span class="sourceLineNo">430</span>  volatile MasterCoprocessorHost cpHost;<a name="line.430"></a>
+<span class="sourceLineNo">431</span><a name="line.431"></a>
+<span class="sourceLineNo">432</span>  private final boolean preLoadTableDescriptors;<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  // Time stamps for when a hmaster became active<a name="line.434"></a>
+<span class="sourceLineNo">435</span>  private long masterActiveTime;<a name="line.435"></a>
+<span class="sourceLineNo">436</span><a name="line.436"></a>
+<span class="sourceLineNo">437</span>  // Time stamp for when HMaster finishes becoming Active Master<a name="line.437"></a>
+<span class="sourceLineNo">438</span>  private long masterFinishedInitializationTime;<a name="line.438"></a>
+<span class="sourceLineNo">439</span><a name="line.439"></a>
+<span class="sourceLineNo">440</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.440"></a>
+<span class="sourceLineNo">441</span><a name="line.441"></a>
+<span class="sourceLineNo">442</span>  // monitor for snapshot of hbase tables<a name="line.442"></a>
+<span class="sourceLineNo">443</span>  SnapshotManager snapshotManager;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>  // monitor for distributed procedures<a name="line.444"></a>
+<span class="sourceLineNo">445</span>  private MasterProcedureManagerHost mpmHost;<a name="line.445"></a>
+<span class="sourceLineNo">446</span><a name="line.446"></a>
+<span class="sourceLineNo">447</span>  private RegionsRecoveryChore regionsRecoveryChore = null;<a name="line.447"></a>
+<span class="sourceLineNo">448</span><a name="line.448"></a>
+<span class="sourceLineNo">449</span>  private RegionsRecoveryConfigManager regionsRecoveryConfigManager = null;<a name="line.449"></a>
+<span class="sourceLineNo">450</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.450"></a>
+<span class="sourceLineNo">451</span>  private volatile MasterQuotaManager quotaManager;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  private SpaceQuotaSnapshotNotifier spaceQuotaSnapshotNotifier;<a name="line.452"></a>
+<span class="sourceLineNo">453</span>  private QuotaObserverChore quotaObserverChore;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  private SnapshotQuotaObserverChore snapshotQuotaChore;<a name="line.454"></a>
+<span class="sourceLineNo">455</span><a name="line.455"></a>
+<span class="sourceLineNo">456</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  private ProcedureStore procedureStore;<a name="line.457"></a>
+<span class="sourceLineNo">458</span><a name="line.458"></a>
+<span class="sourceLineNo">459</span>  // the master local storage to store procedure data, meta region locations, etc.<a name="line.459"></a>
+<span class="sourceLineNo">460</span>  private MasterRegion masterRegion;<a name="line.460"></a>
+<span class="sourceLineNo">461</span><a name="line.461"></a>
+<span class="sourceLineNo">462</span>  private RegionServerList rsListStorage;<a name="line.462"></a>
+<span class="sourceLineNo">463</span><a name="line.463"></a>
+<span class="sourceLineNo">464</span>  // handle table states<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  private TableStateManager tableStateManager;<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
+<span class="sourceLineNo">467</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.467"></a>
+<span class="sourceLineNo">468</span>  private Server masterJettyServer;<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span>  // Determine if we should do normal startup or minimal "single-user" mode with no region<a name="line.470"></a>
+<span class="sourceLineNo">471</span>  // servers and no user tables. Useful for repair and recovery of hbase:meta<a name="line.471"></a>
+<span class="sourceLineNo">472</span>  private final boolean maintenanceMode;<a name="line.472"></a>
+<span class="sourceLineNo">473</span>  static final String MAINTENANCE_MODE = "hbase.master.maintenance_mode";<a name="line.473"></a>
+<span class="sourceLineNo">474</span><a name="line.474"></a>
+<span class="sourceLineNo">475</span>  // the in process region server for carry system regions in maintenanceMode<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  private JVMClusterUtil.RegionServerThread maintenanceRegionServer;<a name="line.476"></a>
+<span class="sourceLineNo">477</span><a name="line.477"></a>
+<span class="sourceLineNo">478</span>  // Cached clusterId on stand by masters to serve clusterID requests from clients.<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  private final CachedClusterId cachedClusterId;<a name="line.479"></a>
+<span class="sourceLineNo">480</span><a name="line.480"></a>
+<span class="sourceLineNo">481</span>  public static final String WARMUP_BEFORE_MOVE = "hbase.master.warmup.before.move";<a name="line.481"></a>
+<span class="sourceLineNo">482</span>  private static final boolean DEFAULT_WARMUP_BEFORE_MOVE = true;<a name="line.482"></a>
+<span class="sourceLineNo">483</span><a name="line.483"></a>
+<span class="sourceLineNo">484</span>  private TaskGroup startupTaskGroup;<a name="line.484"></a>
+<span class="sourceLineNo">485</span><a name="line.485"></a>
+<span class="sourceLineNo">486</span>  /**<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   * Store whether we allow replication peer modification operations.<a name="line.487"></a>
+<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
+<span class="sourceLineNo">489</span>  private ReplicationPeerModificationStateStore replicationPeerModificationStateStore;<a name="line.489"></a>
+<span class="sourceLineNo">490</span><a name="line.490"></a>
+<span class="sourceLineNo">491</span>  /**<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * Initializes the HMaster. The steps are as follows:<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * &lt;p&gt;<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   * &lt;ol&gt;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * &lt;/ol&gt;<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * &lt;p&gt;<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * Remaining steps of initialization occur in {@link #finishActiveMasterInitialization()} after<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * the master becomes the active one.<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   */<a name="line.501"></a>
+<span class="sourceLineNo">502</span>  public HMaster(final Configuration conf) throws IOException {<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    super(conf, "Master");<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    final Span span = TraceUtil.createSpan("HMaster.cxtor");<a name="line.504"></a>
+<span class="sourceLineNo">505</span>    try (Scope ignored = span.makeCurrent()) {<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      if (conf.getBoolean(MAINTENANCE_MODE, false)) {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>        LOG.info("Detected {}=true via configuration.", MAINTENANCE_MODE);<a name="line.507"></a>
+<span class="sourceLineNo">508</span>        maintenanceMode = true;<a name="line.508"></a>
+<span class="sourceLineNo">509</span>      } else if (Boolean.getBoolean(MAINTENANCE_MODE)) {<a name="line.509"></a>
+<span class="sourceLineNo">510</span>        LOG.info("Detected {}=true via environment variables.", MAINTENANCE_MODE);<a name="line.510"></a>
+<span class="sourceLineNo">511</span>        maintenanceMode = true;<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      } else {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>        maintenanceMode = false;<a name="line.513"></a>
+<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
+<span class="sourceLineNo">515</span>      this.rsFatals = new MemoryBoundedLogMessageBuffer(<a name="line.515"></a>
+<span class="sourceLineNo">516</span>        conf.getLong("hbase.master.buffer.for.rs.fatals", 1 * 1024 * 1024));<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      LOG.info("hbase.rootdir={}, hbase.cluster.distributed={}",<a name="line.517"></a>
+<span class="sourceLineNo">518</span>        CommonFSUtils.getRootDir(this.conf),<a name="line.518"></a>
+<span class="sourceLineNo">519</span>        this.conf.getBoolean(HConstants.CLUSTER_DISTRIBUTED, false));<a name="line.519"></a>
+<span class="sourceLineNo">520</span><a name="line.520"></a>
+<span class="sourceLineNo">521</span>      // Disable usage of meta replicas in the master<a name="line.521"></a>
+<span class="sourceLineNo">522</span>      this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.522"></a>
+<span class="sourceLineNo">523</span><a name="line.523"></a>
+<span class="sourceLineNo">524</span>      decorateMasterConfiguration(this.conf);<a name="line.524"></a>
+<span class="sourceLineNo">525</span><a name="line.525"></a>
+<span class="sourceLineNo">526</span>      // Hack! Maps DFSClient =&gt; Master for logs. HDFS made this<a name="line.526"></a>
+<span class="sourceLineNo">527</span>      // config param for task trackers, but we can piggyback off of it.<a name="line.527"></a>
+<span class="sourceLineNo">528</span>      if (this.conf.get("mapreduce.task.attempt.id") == null) {<a name="line.528"></a>
+<span class="sourceLineNo">529</span>        this.conf.set("mapreduce.task.attempt.id", "hb_m_" + this.serverName.toString());<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      }<a name="line.530"></a>
+<span class="sourceLineNo">531</span><a name="line.531"></a>
+<span class="sourceLineNo">532</span>      this.metricsMaster = new MetricsMaster(new MetricsMasterWrapperImpl(this));<a name="line.532"></a>
+<span class="sourceLineNo">533</span><a name="line.533"></a>
+<span class="sourceLineNo">534</span>      // preload table descriptor at startup<a name="line.534"></a>
+<span class="sourceLineNo">535</span>      this.preLoadTableDescriptors = conf.getBoolean("hbase.master.preload.tabledescriptors", true);<a name="line.535"></a>
 <span class="sourceLineNo">536</span><a name="line.536"></a>
-<span class="sourceLineNo">537</span>      // Do we publish the status?<a name="line.537"></a>
-<span class="sourceLineNo">538</span><a name="line.538"></a>
-<span class="sourceLineNo">539</span>      boolean shouldPublish =<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        conf.getBoolean(HConstants.STATUS_PUBLISHED, HConstants.STATUS_PUBLISHED_DEFAULT);<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      Class&lt;? extends ClusterStatusPublisher.Publisher&gt; publisherClass =<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        conf.getClass(ClusterStatusPublisher.STATUS_PUBLISHER_CLASS,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>          ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>          ClusterStatusPublisher.Publisher.class);<a name="line.544"></a>
-<span class="sourceLineNo">545</span><a name="line.545"></a>
-<span class="sourceLineNo">546</span>      if (shouldPublish) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        if (publisherClass == null) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>          LOG.warn(HConstants.STATUS_PUBLISHED + " is true, but "<a name="line.548"></a>
-<span class="sourceLineNo">549</span>            + ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS<a name="line.549"></a>
-<span class="sourceLineNo">550</span>            + " is not set - not publishing status");<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        } else {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>          clusterStatusPublisherChore = new ClusterStatusPublisher(this, conf, publisherClass);<a name="line.552"></a>
-<span class="sourceLineNo">553</span>          LOG.debug("Created {}", this.clusterStatusPublisherChore);<a name="line.553"></a>
-<span class="sourceLineNo">554</span>          getChoreService().scheduleChore(clusterStatusPublisherChore);<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        }<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      this.activeMasterManager = createActiveMasterManager(zooKeeper, serverName, this);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      cachedClusterId = new CachedClusterId(this, conf);<a name="line.558"></a>
-<span class="sourceLineNo">559</span>      this.regionServerTracker = new RegionServerTracker(zooKeeper, this);<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      this.rpcServices.start(zooKeeper);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      span.setStatus(StatusCode.OK);<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    } catch (Throwable t) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      // Make sure we log the exception. HMaster is often started via reflection and the<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      // cause of failed startup is lost.<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      TraceUtil.setError(span, t);<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      LOG.error("Failed construction of Master", t);<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      throw t;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    } finally {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      span.end();<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>  }<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>  /**<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * Protected to have custom implementations in tests override the default ActiveMaster<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * implementation.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   */<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  protected ActiveMasterManager createActiveMasterManager(ZKWatcher zk, ServerName sn,<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    org.apache.hadoop.hbase.Server server) throws InterruptedIOException {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    return new ActiveMasterManager(zk, sn, server);<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  }<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  @Override<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  protected String getUseThisHostnameInstead(Configuration conf) {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    return conf.get(MASTER_HOSTNAME_KEY);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  }<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private void registerConfigurationObservers() {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    configurationManager.registerObserver(this.rpcServices);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    configurationManager.registerObserver(this);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  }<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  // Main run loop. Calls through to the regionserver run loop AFTER becoming active Master; will<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  // block in here until then.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  @Override<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  public void run() {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    try {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      installShutdownHook();<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      registerConfigurationObservers();<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      Threads.setDaemonThreadRunning(new Thread(TraceUtil.tracedRunnable(() -&gt; {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        try {<a name="line.600"></a>
-<span class="sourceLineNo">601</span>          int infoPort = putUpJettyServer();<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          startActiveMasterManager(infoPort);<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        } catch (Throwable t) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>          // Make sure we log the exception.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>          String error = "Failed to become Active Master";<a name="line.605"></a>
-<span class="sourceLineNo">606</span>          LOG.error(error, t);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>          // Abort should have been called already.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>          if (!isAborted()) {<a name="line.608"></a>
-<span class="sourceLineNo">609</span>            abort(error, t);<a name="line.609"></a>
-<span class="sourceLineNo">610</span>          }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        }<a name="line.611"></a>
-<span class="sourceLineNo">612</span>      }, "HMaster.becomeActiveMaster")), getName() + ":becomeActiveMaster");<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      while (!isStopped() &amp;&amp; !isAborted()) {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>        sleeper.sleep();<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      }<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      final Span span = TraceUtil.createSpan("HMaster exiting main loop");<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      try (Scope ignored = span.makeCurrent()) {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        stopInfoServer();<a name="line.618"></a>
-<span class="sourceLineNo">619</span>        closeClusterConnection();<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        stopServiceThreads();<a name="line.620"></a>
-<span class="sourceLineNo">621</span>        if (this.rpcServices != null) {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>          this.rpcServices.stop();<a name="line.622"></a>
-<span class="sourceLineNo">623</span>        }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>        closeZooKeeper();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        closeTableDescriptors();<a name="line.625"></a>
-<span class="sourceLineNo">626</span>        span.setStatus(StatusCode.OK);<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      } finally {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        span.end();<a name="line.628"></a>
-<span class="sourceLineNo">629</span>      }<a name="line.629"></a>
-<span class="sourceLineNo">630</span>    } finally {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      if (this.clusterSchemaService != null) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        // If on way out, then we are no longer active master.<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        this.clusterSchemaService.stopAsync();<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        try {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>          this.clusterSchemaService<a name="line.635"></a>
-<span class="sourceLineNo">636</span>            .awaitTerminated(getConfiguration().getInt(HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS,<a name="line.636"></a>
-<span class="sourceLineNo">637</span>              DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS), TimeUnit.SECONDS);<a name="line.637"></a>
-<span class="sourceLineNo">638</span>        } catch (TimeoutException te) {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>          LOG.warn("Failed shutdown of clusterSchemaService", te);<a name="line.639"></a>
-<span class="sourceLineNo">640</span>        }<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      }<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      this.activeMaster = false;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    }<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  }<a name="line.644"></a>
-<span class="sourceLineNo">645</span><a name="line.645"></a>
-<span class="sourceLineNo">646</span>  // return the actual infoPort, -1 means disable info server.<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private int putUpJettyServer() throws IOException {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    if (!conf.getBoolean("hbase.master.infoserver.redirect", true)) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>      return -1;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    }<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    final int infoPort =<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      conf.getInt("hbase.master.info.port.orig", HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    // -1 is for disabling info server, so no redirecting<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    if (infoPort &lt; 0 || infoServer == null) {<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      return -1;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    if (infoPort == infoServer.getPort()) {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      // server is already running<a name="line.658"></a>
-<span class="sourceLineNo">659</span>      return infoPort;<a name="line.659"></a>
+<span class="sourceLineNo">537</span>      this.maxBalancingTime = getMaxBalancingTime();<a name="line.537"></a>
+<span class="sourceLineNo">538</span>      this.maxRitPercent = conf.getDouble(HConstants.HBASE_MASTER_BALANCER_MAX_RIT_PERCENT,<a name="line.538"></a>
+<span class="sourceLineNo">539</span>        HConstants.DEFAULT_HBASE_MASTER_BALANCER_MAX_RIT_PERCENT);<a name="line.539"></a>
+<span class="sourceLineNo">540</span><a name="line.540"></a>
+<span class="sourceLineNo">541</span>      // Do we publish the status?<a name="line.541"></a>
+<span class="sourceLineNo">542</span><a name="line.542"></a>
+<span class="sourceLineNo">543</span>      boolean shouldPublish =<a name="line.543"></a>
+<span class="sourceLineNo">544</span>        conf.getBoolean(HConstants.STATUS_PUBLISHED, HConstants.STATUS_PUBLISHED_DEFAULT);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>      Class&lt;? extends ClusterStatusPublisher.Publisher&gt; publisherClass =<a name="line.545"></a>
+<span class="sourceLineNo">546</span>        conf.getClass(ClusterStatusPublisher.STATUS_PUBLISHER_CLASS,<a name="line.546"></a>
+<span class="sourceLineNo">547</span>          ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS,<a name="line.547"></a>
+<span class="sourceLineNo">548</span>          ClusterStatusPublisher.Publisher.class);<a name="line.548"></a>
+<span class="sourceLineNo">549</span><a name="line.549"></a>
+<span class="sourceLineNo">550</span>      if (shouldPublish) {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>        if (publisherClass == null) {<a name="line.551"></a>
+<span class="sourceLineNo">552</span>          LOG.warn(HConstants.STATUS_PUBLISHED + " is true, but "<a name="line.552"></a>
+<span class="sourceLineNo">553</span>            + ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS<a name="line.553"></a>
+<span class="sourceLineNo">554</span>            + " is not set - not publishing status");<a name="line.554"></a>
+<span class="sourceLineNo">555</span>        } else {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>          clusterStatusPublisherChore = new ClusterStatusPublisher(this, conf, publisherClass);<a name="line.556"></a>
+<span class="sourceLineNo">557</span>          LOG.debug("Created {}", this.clusterStatusPublisherChore);<a name="line.557"></a>
+<span class="sourceLineNo">558</span>          getChoreService().scheduleChore(clusterStatusPublisherChore);<a name="line.558"></a>
+<span class="sourceLineNo">559</span>        }<a name="line.559"></a>
+<span class="sourceLineNo">560</span>      }<a name="line.560"></a>
+<span class="sourceLineNo">561</span>      this.activeMasterManager = createActiveMasterManager(zooKeeper, serverName, this);<a name="line.561"></a>
+<span class="sourceLineNo">562</span>      cachedClusterId = new CachedClusterId(this, conf);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      this.regionServerTracker = new RegionServerTracker(zooKeeper, this);<a name="line.563"></a>
+<span class="sourceLineNo">564</span>      this.rpcServices.start(zooKeeper);<a name="line.564"></a>
+<span class="sourceLineNo">565</span>      span.setStatus(StatusCode.OK);<a name="line.565"></a>
+<span class="sourceLineNo">566</span>    } catch (Throwable t) {<a name="line.566"></a>
+<span class="sourceLineNo">567</span>      // Make sure we log the exception. HMaster is often started via reflection and the<a name="line.567"></a>
+<span class="sourceLineNo">568</span>      // cause of failed startup is lost.<a name="line.568"></a>
+<span class="sourceLineNo">569</span>      TraceUtil.setError(span, t);<a name="line.569"></a>
+<span class="sourceLineNo">570</span>      LOG.error("Failed construction of Master", t);<a name="line.570"></a>
+<span class="sourceLineNo">571</span>      throw t;<a name="line.571"></a>
+<span class="sourceLineNo">572</span>    } finally {<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      span.end();<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
+<span class="sourceLineNo">575</span>  }<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span>  /**<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * Protected to have custom implementations in tests override the default ActiveMaster<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   * implementation.<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   */<a name="line.580"></a>
+<span class="sourceLineNo">581</span>  protected ActiveMasterManager createActiveMasterManager(ZKWatcher zk, ServerName sn,<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    org.apache.hadoop.hbase.Server server) throws InterruptedIOException {<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    return new ActiveMasterManager(zk, sn, server);<a name="line.583"></a>
+<span class="sourceLineNo">584</span>  }<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span>  @Override<a name="line.586"></a>
+<span class="sourceLineNo">587</span>  protected String getUseThisHostnameInstead(Configuration conf) {<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    return conf.get(MASTER_HOSTNAME_KEY);<a name="line.588"></a>
+<span class="sourceLineNo">589</span>  }<a name="line.589"></a>
+<span class="sourceLineNo">590</span><a name="line.590"></a>
+<span class="sourceLineNo">591</span>  private void registerConfigurationObservers() {<a name="line.591"></a>
+<span class="sourceLineNo">592</span>    configurationManager.registerObserver(this.rpcServices);<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    configurationManager.registerObserver(this);<a name="line.593"></a>
+<span class="sourceLineNo">594</span>  }<a name="line.594"></a>
+<span class="sourceLineNo">595</span><a name="line.595"></a>
+<span class="sourceLineNo">596</span>  // Main run loop. Calls through to the regionserver run loop AFTER becoming active Master; will<a name="line.596"></a>
+<span class="sourceLineNo">597</span>  // block in here until then.<a name="line.597"></a>
+<span class="sourceLineNo">598</span>  @Override<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  public void run() {<a name="line.599"></a>
+<span class="sourceLineNo">600</span>    try {<a name="line.600"></a>
+<span class="sourceLineNo">601</span>      installShutdownHook();<a name="line.601"></a>
+<span class="sourceLineNo">602</span>      registerConfigurationObservers();<a name="line.602"></a>
+<span class="sourceLineNo">603</span>      Threads.setDaemonThreadRunning(new Thread(TraceUtil.tracedRunnable(() -&gt; {<a name="line.603"></a>
+<span class="sourceLineNo">604</span>        try {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>          int infoPort = putUpJettyServer();<a name="line.605"></a>
+<span class="sourceLineNo">606</span>          startActiveMasterManager(infoPort);<a name="line.606"></a>
+<span class="sourceLineNo">607</span>        } catch (Throwable t) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span>          // Make sure we log the exception.<a name="line.608"></a>
+<span class="sourceLineNo">609</span>          String error = "Failed to become Active Master";<a name="line.609"></a>
+<span class="sourceLineNo">610</span>          LOG.error(error, t);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>          // Abort should have been called already.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>          if (!isAborted()) {<a name="line.612"></a>
+<span class="sourceLineNo">613</span>            abort(error, t);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>          }<a name="line.614"></a>
+<span class="sourceLineNo">615</span>        }<a name="line.615"></a>
+<span class="sourceLineNo">616</span>      }, "HMaster.becomeActiveMaster")), getName() + ":becomeActiveMaster");<a name="line.616"></a>
+<span class="sourceLineNo">617</span>      while (!isStopped() &amp;&amp; !isAborted()) {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>        sleeper.sleep();<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      }<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      final Span span = TraceUtil.createSpan("HMaster exiting main loop");<a name="line.620"></a>
+<span class="sourceLineNo">621</span>      try (Scope ignored = span.makeCurrent()) {<a name="line.621"></a>
+<span class="sourceLineNo">622</span>        stopInfoServer();<a name="line.622"></a>
+<span class="sourceLineNo">623</span>        closeClusterConnection();<a name="line.623"></a>
+<span class="sourceLineNo">624</span>        stopServiceThreads();<a name="line.624"></a>
+<span class="sourceLineNo">625</span>        if (this.rpcServices != null) {<a name="line.625"></a>
+<span class="sourceLineNo">626</span>          this.rpcServices.stop();<a name="line.626"></a>
+<span class="sourceLineNo">627</span>        }<a name="line.627"></a>
+<span class="sourceLineNo">628</span>        closeZooKeeper();<a name="line.628"></a>
+<span class="sourceLineNo">629</span>        closeTableDescriptors();<a name="line.629"></a>
+<span class="sourceLineNo">630</span>        span.setStatus(StatusCode.OK);<a name="line.630"></a>
+<span class="sourceLineNo">631</span>      } finally {<a name="line.631"></a>
+<span class="sourceLineNo">632</span>        span.end();<a name="line.632"></a>
+<span class="sourceLineNo">633</span>      }<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    } finally {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      if (this.clusterSchemaService != null) {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>        // If on way out, then we are no longer active master.<a name="line.636"></a>
+<span class="sourceLineNo">637</span>        this.clusterSchemaService.stopAsync();<a name="line.637"></a>
+<span class="sourceLineNo">638</span>        try {<a name="line.638"></a>
+<span class="sourceLineNo">639</span>          this.clusterSchemaService<a name="line.639"></a>
+<span class="sourceLineNo">640</span>            .awaitTerminated(getConfiguration().getInt(HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS,<a name="line.640"></a>
+<span class="sourceLineNo">641</span>              DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS), TimeUnit.SECONDS);<a name="line.641"></a>
+<span class="sourceLineNo">642</span>        } catch (TimeoutException te) {<a name="line.642"></a>
+<span class="sourceLineNo">643</span>          LOG.warn("Failed shutdown of clusterSchemaService", te);<a name="line.643"></a>
+<span class="sourceLineNo">644</span>        }<a name="line.644"></a>
+<span class="sourceLineNo">645</span>      }<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      this.activeMaster = false;<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    }<a name="line.647"></a>
+<span class="sourceLineNo">648</span>  }<a name="line.648"></a>
+<span class="sourceLineNo">649</span><a name="line.649"></a>
+<span class="sourceLineNo">650</span>  // return the actual infoPort, -1 means disable info server.<a name="line.650"></a>
+<span class="sourceLineNo">651</span>  private int putUpJettyServer() throws IOException {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    if (!conf.getBoolean("hbase.master.infoserver.redirect", true)) {<a name="line.652"></a>
+<span class="sourceLineNo">653</span>      return -1;<a name="line.653"></a>
+<span class="sourceLineNo">654</span>    }<a name="line.654"></a>
+<span class="sourceLineNo">655</span>    final int infoPort =<a name="line.655"></a>
+<span class="sourceLineNo">656</span>      conf.getInt("hbase.master.info.port.orig", HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.656"></a>
+<span class="sourceLineNo">657</span>    // -1 is for disabling info server, so no redirecting<a name="line.657"></a>
+<span class="sourceLineNo">658</span>    if (infoPort &lt; 0 || infoServer == null) {<a name="line.658"></a>
+<span class="sourceLineNo">659</span>      return -1;<a name="line.659"></a>
 <span class="sourceLineNo">660</span>    }<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    final String addr = conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      String msg = "Failed to start redirecting jetty server. Address " + addr<a name="line.663"></a>
-<span class="sourceLineNo">664</span>        + " does not belong to this host. Correct configuration parameter: "<a name="line.664"></a>
-<span class="sourceLineNo">665</span>        + "hbase.master.info.bindAddress";<a name="line.665"></a>
-<span class="sourceLineNo">666</span>      LOG.error(msg);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      throw new IOException(msg);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    }<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>    // TODO I'm pretty sure we could just add another binding to the InfoServer run by<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    // the RegionServer and have it run the RedirectServlet instead of standing up<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    // a second entire stack here.<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    masterJettyServer = new Server();<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    final ServerConnector connector = new ServerConnector(masterJettyServer);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    connector.setHost(addr);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    connector.setPort(infoPort);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    masterJettyServer.addConnector(connector);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    masterJettyServer.setStopAtShutdown(true);<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    masterJettyServer.setHandler(HttpServer.buildGzipHandler(masterJettyServer.getHandler()));<a name="line.679"></a>
-<span class="sourceLineNo">680</span><a name="line.680"></a>
-<span class="sourceLineNo">681</span>    final String redirectHostname =<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      StringUtils.isBlank(useThisHostnameInstead) ? null : useThisHostnameInstead;<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    final MasterRedirectServlet redirect = new MasterRedirectServlet(infoServer, redirectHostname);<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    final WebAppContext context =<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      new WebAppContext(null, "/", null, null, null, null, WebAppContext.NO_SESSIONS);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    context.addServlet(new ServletHolder(redirect), "/*");<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    context.setServer(masterJettyServer);<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>    try {<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      masterJettyServer.start();<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    } catch (Exception e) {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      throw new IOException("Failed to start redirecting jetty server", e);<a name="line.693"></a>
-<span class="sourceLineNo">694</span>    }<a name="line.694"></a>
-<span class="sourceLineNo">695</span>    return connector.getLocalPort();<a name="line.695"></a>
-<span class="sourceLineNo">696</span>  }<a name="line.696"></a>
-<span class="sourceLineNo">697</span><a name="line.697"></a>
-<span class="sourceLineNo">698</span>  /**<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * For compatibility, if failed with regionserver credentials, try the master one<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  @Override<a name="line.701"></a>
-<span class="sourceLineNo">702</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    try {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      user.login(SecurityConstants.REGIONSERVER_KRB_KEYTAB_FILE,<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        SecurityConstants.REGIONSERVER_KRB_PRINCIPAL, host);<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    } catch (IOException ie) {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      user.login(SecurityConstants.MASTER_KRB_KEYTAB_FILE, SecurityConstants.MASTER_KRB_PRINCIPAL,<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        host);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    }<a name="line.709"></a>
-<span class="sourceLineNo">710</span>  }<a name="line.710"></a>
-<span class="sourceLineNo">711</span><a name="line.711"></a>
-<span class="sourceLineNo">712</span>  public MasterRpcServices getMasterRpcServices() {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    return rpcServices;<a name="line.713"></a>
+<span class="sourceLineNo">661</span>    if (infoPort == infoServer.getPort()) {<a name="line.661"></a>
+<span class="sourceLineNo">662</span>      // server is already running<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      return infoPort;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    }<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    final String addr = conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      String msg = "Failed to start redirecting jetty server. Address " + addr<a name="line.667"></a>
+<span class="sourceLineNo">668</span>        + " does not belong to this host. Correct configuration parameter: "<a name="line.668"></a>
+<span class="sourceLineNo">669</span>        + "hbase.master.info.bindAddress";<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      LOG.error(msg);<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      throw new IOException(msg);<a name="line.671"></a>
+<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
+<span class="sourceLineNo">673</span><a name="line.673"></a>
+<span class="sourceLineNo">674</span>    // TODO I'm pretty sure we could just add another binding to the InfoServer run by<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    // the RegionServer and have it run the RedirectServlet instead of standing up<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    // a second entire stack here.<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    masterJettyServer = new Server();<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    final ServerConnector connector = new ServerConnector(masterJettyServer);<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    connector.setHost(addr);<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    connector.setPort(infoPort);<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    masterJettyServer.addConnector(connector);<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    masterJettyServer.setStopAtShutdown(true);<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    masterJettyServer.setHandler(HttpServer.buildGzipHandler(masterJettyServer.getHandler()));<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>    final String redirectHostname =<a name="line.685"></a>
+<span class="sourceLineNo">686</span>      StringUtils.isBlank(useThisHostnameInstead) ? null : useThisHostnameInstead;<a name="line.686"></a>
+<span class="sourceLineNo">687</span><a name="line.687"></a>
+<span class="sourceLineNo">688</span>    final MasterRedirectServlet redirect = new MasterRedirectServlet(infoServer, redirectHostname);<a name="line.688"></a>
+<span class="sourceLineNo">689</span>    final WebAppContext context =<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      new WebAppContext(null, "/", null, null, null, null, WebAppContext.NO_SESSIONS);<a name="line.690"></a>
+<span class="sourceLineNo">691</span>    context.addServlet(new ServletHolder(redirect), "/*");<a name="line.691"></a>
+<span class="sourceLineNo">692</span>    context.setServer(masterJettyServer);<a name="line.692"></a>
+<span class="sourceLineNo">693</span><a name="line.693"></a>
+<span class="sourceLineNo">694</span>    try {<a name="line.694"></a>
+<span class="sourceLineNo">695</span>      masterJettyServer.start();<a name="line.695"></a>
+<span class="sourceLineNo">696</span>    } catch (Exception e) {<a name="line.696"></a>
+<span class="sourceLineNo">697</span>      throw new IOException("Failed to start redirecting jetty server", e);<a name="line.697"></a>
+<span class="sourceLineNo">698</span>    }<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    return connector.getLocalPort();<a name="line.699"></a>
+<span class="sourceLineNo">700</span>  }<a name="line.700"></a>
+<span class="sourceLineNo">701</span><a name="line.701"></a>
+<span class="sourceLineNo">702</span>  /**<a name="line.702"></a>
+<span class="sourceLineNo">703</span>   * For compatibility, if failed with regionserver credentials, try the master one<a name="line.703"></a>
+<span class="sourceLineNo">704</span>   */<a name="line.704"></a>
+<span class="sourceLineNo">705</span>  @Override<a name="line.705"></a>
+<span class="sourceLineNo">706</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    try {<a name="line.707"></a>
+<span class="sourceLineNo">708</span>      user.login(SecurityConstants.REGIONSERVER_KRB_KEYTAB_FILE,<a name="line.708"></a>
+<span class="sourceLineNo">709</span>        SecurityConstants.REGIONSERVER_KRB_PRINCIPAL, host);<a name="line.709"></a>
+<span class="sourceLineNo">710</span>    } catch (IOException ie) {<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      user.login(SecurityConstants.MASTER_KRB_KEYTAB_FILE, SecurityConstants.MASTER_KRB_PRINCIPAL,<a name="line.711"></a>
+<span class="sourceLineNo">712</span>        host);<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    }<a name="line.713"></a>
 <span class="sourceLineNo">714</span>  }<a name="line.714"></a>
 <span class="sourceLineNo">715</span><a name="line.715"></a>
-<span class="sourceLineNo">716</span>  public boolean balanceSwitch(final boolean b) throws IOException {<a name="line.716"></a>
-<span class="sourceLineNo">717</span>    return getMasterRpcServices().switchBalancer(b, BalanceSwitchMode.ASYNC);<a name="line.717"></a>
+<span class="sourceLineNo">716</span>  public MasterRpcServices getMasterRpcServices() {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    return rpcServices;<a name="line.717"></a>
 <span class="sourceLineNo">718</span>  }<a name="line.718"></a>
 <span class="sourceLineNo">719</span><a name="line.719"></a>
-<span class="sourceLineNo">720</span>  @Override<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  protected String getProcessName() {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    return MASTER;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  }<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>  @Override<a name="line.725"></a>
-<span class="sourceLineNo">726</span>  protected boolean canCreateBaseZNode() {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    return true;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>  }<a name="line.728"></a>
-<span class="sourceLineNo">729</span><a name="line.729"></a>
-<span class="sourceLineNo">730</span>  @Override<a name="line.730"></a>
-<span class="sourceLineNo">731</span>  protected boolean canUpdateTableDescriptor() {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    return true;<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  }<a name="line.733"></a>
-<span class="sourceLineNo">734</span><a name="line.734"></a>
-<span class="sourceLineNo">735</span>  @Override<a name="line.735"></a>
-<span class="sourceLineNo">736</span>  protected boolean cacheTableDescriptor() {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    return true;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>  }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>  protected MasterRpcServices createRpcServices() throws IOException {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    return new MasterRpcServices(this);<a name="line.741"></a>
+<span class="sourceLineNo">720</span>  public boolean balanceSwitch(final boolean b) throws IOException {<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    return getMasterRpcServices().switchBalancer(b, BalanceSwitchMode.ASYNC);<a name="line.721"></a>
+<span class="sourceLineNo">722</span>  }<a name="line.722"></a>
+<span class="sourceLineNo">723</span><a name="line.723"></a>
+<span class="sourceLineNo">724</span>  @Override<a name="line.724"></a>
+<span class="sourceLineNo">725</span>  protected String getProcessName() {<a name="line.725"></a>
+<span class="sourceLineNo">726</span>    return MASTER;<a name="line.726"></a>
+<span class="sourceLineNo">727</span>  }<a name="line.727"></a>
+<span class="sourceLineNo">728</span><a name="line.728"></a>
+<span class="sourceLineNo">729</span>  @Override<a name="line.729"></a>
+<span class="sourceLineNo">730</span>  protected boolean canCreateBaseZNode() {<a name="line.730"></a>
+<span class="sourceLineNo">731</span>    return true;<a name="line.731"></a>
+<span class="sourceLineNo">732</span>  }<a name="line.732"></a>
+<span class="sourceLineNo">733</span><a name="line.733"></a>
+<span class="sourceLineNo">734</span>  @Override<a name="line.734"></a>
+<span class="sourceLineNo">735</span>  protected boolean canUpdateTableDescriptor() {<a name="line.735"></a>
+<span class="sourceLineNo">736</span>    return true;<a name="line.736"></a>
+<span class="sourceLineNo">737</span>  }<a name="line.737"></a>
+<span class="sourceLineNo">738</span><a name="line.738"></a>
+<span class="sourceLineNo">739</span>  @Override<a name="line.739"></a>
+<span class="sourceLineNo">740</span>  protected boolean cacheTableDescriptor() {<a name="line.740"></a>
+<span class="sourceLineNo">741</span>    return true;<a name="line.741"></a>
 <span class="sourceLineNo">742</span>  }<a name="line.742"></a>
 <span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>  @Override<a name="line.744"></a>
-<span class="sourceLineNo">745</span>  protected void configureInfoServer(InfoServer infoServer) {<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    infoServer.addUnprivilegedServlet("master-status", "/master-status", MasterStatusServlet.class);<a name="line.746"></a>
-<span class="sourceLineNo">747</span>    infoServer.addUnprivilegedServlet("api_v1", "/api/v1/*", buildApiV1Servlet());<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>    infoServer.setAttribute(MASTER, this);<a name="line.749"></a>
-<span class="sourceLineNo">750</span>  }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>  private ServletHolder buildApiV1Servlet() {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    final ResourceConfig config = ResourceConfigFactory.createResourceConfig(conf, this);<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    return new ServletHolder(new ServletContainer(config));<a name="line.754"></a>
-<span class="sourceLineNo">755</span>  }<a name="line.755"></a>
-<span class="sourceLineNo">756</span><a name="line.756"></a>
-<span class="sourceLineNo">757</span>  @Override<a name="line.757"></a>
-<span class="sourceLineNo">758</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    return MasterDumpServlet.class;<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>  @Override<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  public MetricsMaster getMasterMetrics() {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    return metricsMaster;<a name="line.764"></a>
-<span class="sourceLineNo">765</span>  }<a name="line.765"></a>
-<span class="sourceLineNo">766</span><a name="line.766"></a>
-<span class="sourceLineNo">767</span>  /**<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * Initialize all ZK based system trackers. But do not include {@link RegionServerTracker}, it<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * should have already been initialized along with {@link ServerManager}.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   */<a name="line.770"></a>
-<span class="sourceLineNo">771</span>  private void initializeZKBasedSystemTrackers()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    throws IOException, KeeperException, ReplicationException, DeserializationException {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    if (maintenanceMode) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span>      // in maintenance mode, always use MaintenanceLoadBalancer.<a name="line.774"></a>
-<span class="sourceLineNo">775</span>      conf.unset(LoadBalancer.HBASE_RSGROUP_LOADBALANCER_CLASS);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>      conf.setClass(HConstants.HBASE_MASTER_LOADBALANCER_CLASS, MaintenanceLoadBalancer.class,<a name="line.776"></a>
-<span class="sourceLineNo">777</span>        LoadBalancer.class);<a name="line.777"></a>
-<span class="sourceLineNo">778</span>    }<a name="line.778"></a>
-<span class="sourceLineNo">779</span>    this.balancer = new RSGroupBasedLoadBalancer();<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    this.loadBalancerStateStore = new LoadBalancerStateStore(masterRegion, zooKeeper);<a name="line.780"></a>
-<span class="sourceLineNo">781</span><a name="line.781"></a>
-<span class="sourceLineNo">782</span>    this.regionNormalizerManager =<a name="line.782"></a>
-<span class="sourceLineNo">783</span>      RegionNormalizerFactory.createNormalizerManager(conf, masterRegion, zooKeeper, this);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    this.configurationManager.registerObserver(regionNormalizerManager);<a name="line.784"></a>
-<span class="sourceLineNo">785</span>    this.regionNormalizerManager.start();<a name="line.785"></a>
-<span class="sourceLineNo">786</span><a name="line.786"></a>
-<span class="sourceLineNo">787</span>    this.splitOrMergeStateStore = new SplitOrMergeStateStore(masterRegion, zooKeeper, conf);<a name="line.787"></a>
-<span class="sourceLineNo">788</span><a name="line.788"></a>
-<span class="sourceLineNo">789</span>    // This is for backwards compatible. We do not need the CP for rs group now but if user want to<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    // load it, we need to enable rs group.<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    String[] cpClasses = conf.getStrings(MasterCoprocessorHost.MASTER_COPROCESSOR_CONF_KEY);<a name="line.791"></a>
-<span class="sourceLineNo">792</span>    if (cpClasses != null) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      for (String cpClass : cpClasses) {<a name="line.793"></a>
-<span class="sourceLineNo">794</span>        if (RSGroupAdminEndpoint.class.getName().equals(cpClass)) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>          RSGroupUtil.enableRSGroup(conf);<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          break;<a name="line.796"></a>
-<span class="sourceLineNo">797</span>        }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>    }<a name="line.799"></a>
-<span class="sourceLineNo">800</span>    this.rsGroupInfoManager = RSGroupInfoManager.create(this);<a name="line.800"></a>
-<span class="sourceLineNo">801</span><a name="line.801"></a>
-<span class="sourceLineNo">802</span>    this.replicationPeerManager = ReplicationPeerManager.create(this, clusterId);<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    this.configurationManager.registerObserver(replicationPeerManager);<a name="line.803"></a>
-<span class="sourceLineNo">804</span>    this.replicationPeerModificationStateStore =<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      new ReplicationPeerModificationStateStore(masterRegion);<a name="line.805"></a>
-<span class="sourceLineNo">806</span><a name="line.806"></a>
-<span class="sourceLineNo">807</span>    this.drainingServerTracker = new DrainingServerTracker(zooKeeper, this, this.serverManager);<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    this.drainingServerTracker.start();<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>    this.snapshotCleanupStateStore = new SnapshotCleanupStateStore(masterRegion, zooKeeper);<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    String clientQuorumServers = conf.get(HConstants.CLIENT_ZOOKEEPER_QUORUM);<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    boolean clientZkObserverMode = conf.getBoolean(HConstants.CLIENT_ZOOKEEPER_OBSERVER_MODE,<a name="line.813"></a>
-<span class="sourceLineNo">814</span>      HConstants.DEFAULT_CLIENT_ZOOKEEPER_OBSERVER_MODE);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    if (clientQuorumServers != null &amp;&amp; !clientZkObserverMode) {<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      // we need to take care of the ZK information synchronization<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // if given client ZK are not observer nodes<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      ZKWatcher clientZkWatcher = new ZKWatcher(conf,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        getProcessName() + ":" + rpcServices.getSocketAddress().getPort() + "-clientZK", this,<a name="line.819"></a>
-<span class="sourceLineNo">820</span>        false, true);<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.metaLocationSyncer = new MetaLocationSyncer(zooKeeper, clientZkWatcher, this);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      this.metaLocationSyncer.start();<a name="line.822"></a>
-<span class="sourceLineNo">823</span>      this.masterAddressSyncer = new MasterAddressSyncer(zooKeeper, clientZkWatcher, this);<a name="line.823"></a>
-<span class="sourceLineNo">824</span>      this.masterAddressSyncer.start();<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      // set cluster id is a one-go effort<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      ZKClusterId.setClusterId(clientZkWatcher, fileSystemManager.getClusterId());<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    }<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    // Set the cluster as up. If new RSs, they'll be waiting on this before<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    // going ahead with their startup.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    boolean wasUp = this.clusterStatusTracker.isClusterUp();<a name="line.831"></a>
-<span class="sourceLineNo">832</span>    if (!wasUp) this.clusterStatusTracker.setClusterUp();<a name="line.832"></a>
-<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span>    LOG.info("Active/primary master=" + this.serverName + ", sessionid=0x"<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      + Long.toHexString(this.zooKeeper.getRecoverableZooKeeper().getSessionId())<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      + ", setting cluster-up flag (Was=" + wasUp + ")");<a name="line.836"></a>
+<span class="sourceLineNo">744</span>  protected MasterRpcServices createRpcServices() throws IOException {<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    return new MasterRpcServices(this);<a name="line.745"></a>
+<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>  @Override<a name="line.748"></a>
+<span class="sourceLineNo">749</span>  protected void configureInfoServer(InfoServer infoServer) {<a name="line.749"></a>
+<span class="sourceLineNo">750</span>    infoServer.addUnprivilegedServlet("master-status", "/master-status", MasterStatusServlet.class);<a name="line.750"></a>
+<span class="sourceLineNo">751</span>    infoServer.addUnprivilegedServlet("api_v1", "/api/v1/*", buildApiV1Servlet());<a name="line.751"></a>
+<span class="sourceLineNo">752</span><a name="line.752"></a>
+<span class="sourceLineNo">753</span>    infoServer.setAttribute(MASTER, this);<a name="line.753"></a>
+<span class="sourceLineNo">754</span>  }<a name="line.754"></a>
+<span class="sourceLineNo">755</span><a name="line.755"></a>
+<span class="sourceLineNo">756</span>  private ServletHolder buildApiV1Servlet() {<a name="line.756"></a>
+<span class="sourceLineNo">757</span>    final ResourceConfig config = ResourceConfigFactory.createResourceConfig(conf, this);<a name="line.757"></a>
+<span class="sourceLineNo">758</span>    return new ServletHolder(new ServletContainer(config));<a name="line.758"></a>
+<span class="sourceLineNo">759</span>  }<a name="line.759"></a>
+<span class="sourceLineNo">760</span><a name="line.760"></a>
+<span class="sourceLineNo">761</span>  @Override<a name="line.761"></a>
+<span class="sourceLineNo">762</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.762"></a>
+<span class="sourceLineNo">763</span>    return MasterDumpServlet.class;<a name="line.763"></a>
+<span class="sourceLineNo">764</span>  }<a name="line.764"></a>
+<span class="sourceLineNo">765</span><a name="line.765"></a>
+<span class="sourceLineNo">766</span>  @Override<a name="line.766"></a>
+<span class="sourceLineNo">767</span>  public MetricsMaster getMasterMetrics() {<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    return metricsMaster;<a name="line.768"></a>
+<span class="sourceLineNo">769</span>  }<a name="line.769"></a>
+<span class="sourceLineNo">770</span><a name="line.770"></a>
+<span class="sourceLineNo">771</span>  /**<a name="line.771"></a>
+<span class="sourceLineNo">772</span>   * Initialize all ZK based system trackers. But do not include {@link RegionServerTracker}, it<a name="line.772"></a>
+<span class="sourceLineNo">773</span>   * should have already been initialized along with {@link ServerManager}.<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   */<a name="line.774"></a>
+<span class="sourceLineNo">775</span>  private void initializeZKBasedSystemTrackers()<a name="line.775"></a>
+<span class="sourceLineNo">776</span>    throws IOException, KeeperException, ReplicationException, DeserializationException {<a name="line.776"></a>
+<span class="sourceLineNo">777</span>    if (maintenanceMode) {<a name="line.777"></a>
+<span class="sourceLineNo">778</span>      // in maintenance mode, always use MaintenanceLoadBalancer.<a name="line.778"></a>
+<span class="sourceLineNo">779</span>      conf.unset(LoadBalancer.HBASE_RSGROUP_LOADBALANCER_CLASS);<a name="line.779"></a>
+<span class="sourceLineNo">780</span>      conf.setClass(HConstants.HBASE_MASTER_LOADBALANCER_CLASS, MaintenanceLoadBalancer.class,<a name="line.780"></a>
+<span class="sourceLineNo">781</span>        LoadBalancer.class);<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
+<span class="sourceLineNo">783</span>    this.balancer = new RSGroupBasedLoadBalancer();<a name="line.783"></a>
+<span class="sourceLineNo">784</span>    this.loadBalancerStateStore = new LoadBalancerStateStore(masterRegion, zooKeeper);<a name="line.784"></a>
+<span class="sourceLineNo">785</span><a name="line.785"></a>
+<span class="sourceLineNo">786</span>    this.regionNormalizerManager =<a name="line.786"></a>
+<span class="sourceLineNo">787</span>      RegionNormalizerFactory.createNormalizerManager(conf, masterRegion, zooKeeper, this);<a name="line.787"></a>
+<span class="sourceLineNo">788</span>    this.configurationManager.registerObserver(regionNormalizerManager);<a name="line.788"></a>
+<span class="sourceLineNo">789</span>    this.regionNormalizerManager.start();<a name="line.789"></a>
+<span class="sourceLineNo">790</span><a name="line.790"></a>
+<span class="sourceLineNo">791</span>    this.splitOrMergeStateStore = new SplitOrMergeStateStore(masterRegion, zooKeeper, conf);<a name="line.791"></a>
+<span class="sourceLineNo">792</span><a name="line.792"></a>
+<span class="sourceLineNo">793</span>    // This is for backwards compatible. We do not need the CP for rs group now but if user want to<a name="line.793"></a>
+<span class="sourceLineNo">794</span>    // load it, we need to enable rs group.<a name="line.794"></a>
+<span class="sourceLineNo">795</span>    String[] cpClasses = conf.getStrings(MasterCoprocessorHost.MASTER_COPROCESSOR_CONF_KEY);<a name="line.795"></a>
+<span class="sourceLineNo">796</span>    if (cpClasses != null) {<a name="line.796"></a>
+<span class="sourceLineNo">797</span>      for (String cpClass : cpClasses) {<a name="line.797"></a>
+<span class="sourceLineNo">798</span>        if (RSGroupAdminEndpoint.class.getName().equals(cpClass)) {<a name="line.798"></a>
+<span class="sourceLineNo">799</span>          RSGroupUtil.enableRSGroup(conf);<a name="line.799"></a>
+<span class="sourceLineNo">800</span>          break;<a name="line.800"></a>
+<span class="sourceLineNo">801</span>        }<a name="line.801"></a>
+<span class="sourceLineNo">802</span>      }<a name="line.802"></a>
+<span class="sourceLineNo">803</span>    }<a name="line.803"></a>
+<span class="sourceLineNo">804</span>    this.rsGroupInfoManager = RSGroupInfoManager.create(this);<a name="line.804"></a>
+<span class="sourceLineNo">805</span><a name="line.805"></a>
+<span class="sourceLineNo">806</span>    this.replicationPeerManager = ReplicationPeerManager.create(this, clusterId);<a name="line.806"></a>
+<span class="sourceLineNo">807</span>    this.configurationManager.registerObserver(replicationPeerManager);<a name="line.807"></a>
+<span class="sourceLineNo">808</span>    this.replicationPeerModificationStateStore =<a name="line.808"></a>
+<span class="sourceLineNo">809</span>      new ReplicationPeerModificationStateStore(masterRegion);<a name="line.809"></a>
+<span class="sourceLineNo">810</span><a name="line.810"></a>
+<span class="sourceLineNo">811</span>    this.drainingServerTracker = new DrainingServerTracker(zooKeeper, this, this.serverManager);<a name="line.811"></a>
+<span class="sourceLineNo">812</span>    this.drainingServerTracker.start();<a name="line.812"></a>
+<span class="sourceLineNo">813</span><a name="line.813"></a>
+<span class="sourceLineNo">814</span>    this.snapshotCleanupStateStore = new SnapshotCleanupStateStore(masterRegion, zooKeeper);<a name="line.814"></a>
+<span class="sourceLineNo">815</span><a name="line.815"></a>
+<span class="sourceLineNo">816</span>    String clientQuorumServers = conf.get(HConstants.CLIENT_ZOOKEEPER_QUORUM);<a name="line.816"></a>
+<span class="sourceLineNo">817</span>    boolean clientZkObserverMode = conf.getBoolean(HConstants.CLIENT_ZOOKEEPER_OBSERVER_MODE,<a name="line.817"></a>
+<span class="sourceLineNo">818</span>      HConstants.DEFAULT_CLIENT_ZOOKEEPER_OBSERVER_MODE);<a name="line.818"></a>
+<span class="sourceLineNo">819</span>    if (clientQuorumServers != null &amp;&amp; !clientZkObserverMode) {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>      // we need to take care of the ZK information synchronization<a name="line.820"></a>
+<span class="sourceLineNo">821</span>      // if given client ZK are not observer nodes<a name="line.821"></a>
+<span class="sourceLineNo">822</span>      ZKWatcher clientZkWatcher = new ZKWatcher(conf,<a name="line.822"></a>
+<span class="sourceLineNo">823</span>        getProcessName() + ":" + rpcServices.getSocketAddress().getPort() + "-clientZK", this,<a name="line.823"></a>
+<span class="sourceLineNo">824</span>        false, true);<a name="line.824"></a>
+<span class="sourceLineNo">825</span>      this.metaLocationSyncer = new MetaLocationSyncer(zooKeeper, clientZkWatcher, this);<a name="line.825"></a>
+<span class="sourceLineNo">826</span>      this.metaLocationSyncer.start();<a name="line.826"></a>
+<span class="sourceLineNo">827</span>      this.masterAddressSyncer = new MasterAddressSyncer(zooKeeper, clientZkWatcher, this);<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      this.masterAddressSyncer.start();<a name="line.828"></a>
+<span class="sourceLineNo">829</span>      // set cluster id is a one-go effort<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      ZKClusterId.setClusterId(clientZkWatcher, fileSystemManager.getClusterId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>    }<a name="line.831"></a>
+<span class="sourceLineNo">832</span><a name="line.832"></a>
+<span class="sourceLineNo">833</span>    // Set the cluster as up. If new RSs, they'll be waiting on this before<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    // going ahead with their startup.<a name="line.834"></a>
+<span class="sourceLineNo">835</span>    boolean wasUp = this.clusterStatusTracker.isClusterUp();<a name="line.835"></a>
+<span class="sourceLineNo">836</span>    if (!wasUp) this.clusterStatusTracker.setClusterUp();<a name="line.836"></a>
 <span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span>    // create/initialize the snapshot manager and other procedure managers<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    this.snapshotManager = new SnapshotManager();<a name="line.839"></a>
-<span class="sourceLineNo">840</span>    this.mpmHost = new MasterProcedureManagerHost();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>    this.mpmHost.register(this.snapshotManager);<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    this.mpmHost.register(new MasterFlushTableProcedureManager());<a name="line.842"></a>
-<span class="sourceLineNo">843</span>    this.mpmHost.loadProcedures(conf);<a name="line.843"></a>
-<span class="sourceLineNo">844</span>    this.mpmHost.initialize(this, this.metricsMaster);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>  }<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>  // Will be overriden in test to inject customized AssignmentManager<a name="line.847"></a>
-<span class="sourceLineNo">848</span>  @InterfaceAudience.Private<a name="line.848"></a>
-<span class="sourceLineNo">849</span>  protected AssignmentManager createAssignmentManager(MasterServices master,<a name="line.849"></a>
-<span class="sourceLineNo">850</span>    MasterRegion masterRegion) {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    return new AssignmentManager(master, masterRegion);<a name="line.851"></a>
-<span class="sourceLineNo">852</span>  }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>  private void tryMigrateMetaLocationsFromZooKeeper() throws IOException, KeeperException {<a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // try migrate data from zookeeper<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    try (ResultScanner scanner =<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      masterRegion.getScanner(new Scan().addFamily(HConstants.CATALOG_FAMILY))) {<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      if (scanner.next() != null) {<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        // notice that all replicas for a region are in the same row, so the migration can be<a name="line.859"></a>
-<span class="sourceLineNo">860</span>        // done with in a one row put, which means if we have data in catalog family then we can<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        // make sure that the migration is done.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        LOG.info("The {} family in master local region already has data in it, skip migrating...",<a name="line.862"></a>
-<span class="sourceLineNo">863</span>          HConstants.CATALOG_FAMILY_STR);<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        return;<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      }<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    // start migrating<a name="line.867"></a>
-<span class="sourceLineNo">868</span>    byte[] row = CatalogFamilyFormat.getMetaKeyForRegion(RegionInfoBuilder.FIRST_META_REGIONINFO);<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    Put put = new Put(row);<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    List&lt;String&gt; metaReplicaNodes = zooKeeper.getMetaReplicaNodes();<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    StringBuilder info = new StringBuilder("Migrating meta locations:");<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    for (String metaReplicaNode : metaReplicaNodes) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      int replicaId = zooKeeper.getZNodePaths().getMetaReplicaIdFromZNode(metaReplicaNode);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>      RegionState state = MetaTableLocator.getMetaRegionState(zooKeeper, replicaId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>      info.append(" ").append(state);<a name="line.875"></a>
-<span class="sourceLineNo">876</span>      put.setTimestamp(state.getStamp());<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      MetaTableAccessor.addRegionInfo(put, state.getRegion());<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      if (state.getServerName() != null) {<a name="line.878"></a>
-<span class="sourceLineNo">879</span>        MetaTableAccessor.addLocation(put, state.getServerName(), HConstants.NO_SEQNUM, replicaId);<a name="line.879"></a>
-<span class="sourceLineNo">880</span>      }<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY).setRow(put.getRow())<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        .setFamily(HConstants.CATALOG_FAMILY)<a name="line.882"></a>
-<span class="sourceLineNo">883</span>        .setQualifier(RegionStateStore.getStateColumn(replicaId)).setTimestamp(put.getTimestamp())<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        .setType(Cell.Type.Put).setValue(Bytes.toBytes(state.getState().name())).build());<a name="line.884"></a>
-<span class="sourceLineNo">885</span>    }<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    if (!put.isEmpty()) {<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      LOG.info(info.toString());<a name="line.887"></a>
-<span class="sourceLineNo">888</span>      masterRegion.update(r -&gt; r.put(put));<a name="line.888"></a>
-<span class="sourceLineNo">889</span>    } else {<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      LOG.info("No meta location available on zookeeper, skip migrating...");<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  /**<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * Finish initialization of HMaster after becoming the primary master.<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * &lt;p/&gt;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   * The startup order is a bit complicated but very important, do not change it unless you know<a name="line.897"></a>
-<span class="sourceLineNo">898</span>   * what you are doing.<a name="line.898"></a>
-<span class="sourceLineNo">899</span>   * &lt;ol&gt;<a name="line.899"></a>
-<span class="sourceLineNo">900</span>   * &lt;li&gt;Initialize file system based components - file system manager, wal manager, table<a name="line.900"></a>
-<span class="sourceLineNo">901</span>   * descriptors, etc&lt;/li&gt;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>   * &lt;li&gt;Publish cluster id&lt;/li&gt;<a name="line.902"></a>
-<span class="sourceLineNo">903</span>   * &lt;li&gt;Here comes the most complicated part - initialize server manager, assignment manager and<a name="line.903"></a>
-<span class="sourceLineNo">904</span>   * region server tracker<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * &lt;ol type='i'&gt;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   * &lt;li&gt;Create server manager&lt;/li&gt;<a name="line.906"></a>
-<span class="sourceLineNo">907</span>   * &lt;li&gt;Create master local region&lt;/li&gt;<a name="line.907"></a>
-<span class="sourceLineNo">908</span>   * &lt;li&gt;Create procedure executor, load the procedures, but do not start workers. We will start it<a name="line.908"></a>
-<span class="sourceLineNo">909</span>   * later after we finish scheduling SCPs to avoid scheduling duplicated SCPs for the same<a name="line.909"></a>
-<span class="sourceLineNo">910</span>   * server&lt;/li&gt;<a name="line.910"></a>
-<span class="sourceLineNo">911</span>   * &lt;li&gt;Create assignment manager and start it, load the meta region state, but do not load data<a name="line.911"></a>
-<span class="sourceLineNo">912</span>   * from meta region&lt;/li&gt;<a name="line.912"></a>
-<span class="sourceLineNo">913</span>   * &lt;li&gt;Start region server tracker, construct the online servers set and find out dead servers and<a name="line.913"></a>
-<span class="sourceLineNo">914</span>   * schedule SCP for them. The online servers will be constructed by scanning zk, and we will also<a name="line.914"></a>
-<span class="sourceLineNo">915</span>   * scan the wal directory and load from master local region to find out possible live region<a name="line.915"></a>
-<span class="sourceLineNo">916</span>   * servers, and the differences between these two sets are the dead servers&lt;/li&gt;<a name="line.916"></a>
-<span class="sourceLineNo">917</span>   * &lt;/ol&gt;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>   * &lt;/li&gt;<a name="line.918"></a>
-<span class="sourceLineNo">919</span>   * &lt;li&gt;If this is a new deploy, schedule a InitMetaProcedure to initialize meta&lt;/li&gt;<a name="line.919"></a>
-<span class="sourceLineNo">920</span>   * &lt;li&gt;Start necessary service threads - balancer, catalog janitor, executor services, and also<a name="line.920"></a>
-<span class="sourceLineNo">921</span>   * the procedure executor, etc. Notice that the balancer must be created first as assignment<a name="line.921"></a>
-<span class="sourceLineNo">922</span>   * manager may use it when assigning regions.&lt;/li&gt;<a name="line.922"></a>
-<span class="sourceLineNo">923</span>   * &lt;li&gt;Wait for meta to be initialized if necessary, start table state manager.&lt;/li&gt;<a name="line.923"></a>
-<span class="sourceLineNo">924</span>   * &lt;li&gt;Wait for enough region servers to check-in&lt;/li&gt;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>   * &lt;li&gt;Let assignment manager load data from meta and construct region states&lt;/li&gt;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>   * &lt;li&gt;Start all other things such as chore services, etc&lt;/li&gt;<a name="line.926"></a>
-<span class="sourceLineNo">927</span>   * &lt;/ol&gt;<a name="line.927"></a>
-<span class="sourceLineNo">928</span>   * &lt;p/&gt;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>   * Notice that now we will not schedule a special procedure to make meta online(unless the first<a name="line.929"></a>
-<span class="sourceLineNo">930</span>   * time where meta has not been created yet), we will rely on SCP to bring meta online.<a name="line.930"></a>
-<span class="sourceLineNo">931</span>   */<a name="line.931"></a>
-<span class="sourceLineNo">932</span>  private void finishActiveMasterInitialization() throws IOException, InterruptedException,<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    KeeperException, ReplicationException, DeserializationException {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    /*<a name="line.934"></a>
-<span class="sourceLineNo">935</span>     * We are active master now... go initialize components we need to run.<a name="line.935"></a>
-<span class="sourceLineNo">936</span>     */<a name="line.936"></a>
-<span class="sourceLineNo">937</span>    startupTaskGroup.addTask("Initializing Master file system");<a name="line.937"></a>
-<span class="sourceLineNo">938</span><a name="line.938"></a>
-<span class="sourceLineNo">939</span>    this.masterActiveTime = EnvironmentEdgeManager.currentTime();<a name="line.939"></a>
-<span class="sourceLineNo">940</span>    // TODO: Do this using Dependency Injection, using PicoContainer, Guice or Spring.<a name="line.940"></a>
-<span class="sourceLineNo">941</span><a name="line.941"></a>
-<span class="sourceLineNo">942</span>    // always initialize the MemStoreLAB as we use a region to store data in master now, see<a name="line.942"></a>
-<span class="sourceLineNo">943</span>    // localStore.<a name="line.943"></a>
-<span class="sourceLineNo">944</span>    initializeMemStoreChunkCreator(null);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>    this.fileSystemManager = new MasterFileSystem(conf);<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    this.walManager = new MasterWalManager(this);<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    // warm-up HTDs cache on master initialization<a name="line.948"></a>
-<span class="sourceLineNo">949</span>    if (preLoadTableDescriptors) {<a name="line.949"></a>
-<span class="sourceLineNo">950</span>      startupTaskGroup.addTask("Pre-loading table descriptors");<a name="line.950"></a>
-<span class="sourceLineNo">951</span>      this.tableDescriptors.getAll();<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    }<a name="line.952"></a>
-<span class="sourceLineNo">953</span><a name="line.953"></a>
-<span class="sourceLineNo">954</span>    // Publish cluster ID; set it in Master too. The superclass RegionServer does this later but<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    // only after it has checked in with the Master. At least a few tests ask Master for clusterId<a name="line.955"></a>
-<span class="sourceLineNo">956</span>    // before it has called its run method and before RegionServer has done the reportForDuty.<a name="line.956"></a>
-<span class="sourceLineNo">957</span>    ClusterId clusterId = fileSystemManager.getClusterId();<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    startupTaskGroup.addTask("Publishing Cluster ID " + clusterId + " in ZooKeeper");<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    ZKClusterId.setClusterId(this.zooKeeper, fileSystemManager.getClusterId());<a name="line.959"></a>
-<span class="sourceLineNo">960</span>    this.clusterId = clusterId.toString();<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span>    // Precaution. Put in place the old hbck1 lock file to fence out old hbase1s running their<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    // hbck1s against an hbase2 cluster; it could do damage. To skip this behavior, set<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    // hbase.write.hbck1.lock.file to false.<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    if (this.conf.getBoolean("hbase.write.hbck1.lock.file", true)) {<a name="line.965"></a>
-<span class="sourceLineNo">966</span>      Pair&lt;Path, FSDataOutputStream&gt; result = null;<a name="line.966"></a>
-<span class="sourceLineNo">967</span>      try {<a name="line.967"></a>
-<span class="sourceLineNo">968</span>        result = HBaseFsck.checkAndMarkRunningHbck(this.conf,<a name="line.968"></a>
-<span class="sourceLineNo">969</span>          HBaseFsck.createLockRetryCounterFactory(this.conf).create());<a name="line.969"></a>
-<span class="sourceLineNo">970</span>      } finally {<a name="line.970"></a>
-<span class="sourceLineNo">971</span>        if (result != null) {<a name="line.971"></a>
-<span class="sourceLineNo">972</span>          Closeables.close(result.getSecond(), true);<a name="line.972"></a>
-<span class="sourceLineNo">973</span>        }<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      }<a name="line.974"></a>
-<span class="sourceLineNo">975</span>    }<a name="line.975"></a>
-<span class="sourceLineNo">976</span><a name="line.976"></a>
-<span class="sourceLineNo">977</span>    startupTaskGroup.addTask("Initialize ServerManager and schedule SCP for crash servers");<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    // The below two managers must be created before loading procedures, as they will be used during<a name="line.978"></a>
-<span class="sourceLineNo">979</span>    // loading.<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    // initialize master local region<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    masterRegion = MasterRegionFactory.create(this);<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    rsListStorage = new MasterRegionServerList(masterRegion, this);<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    this.serverManager = createServerManager(this, rsListStorage);<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    this.syncReplicationReplayWALManager = new SyncReplicationReplayWALManager(this);<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    if (<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      !conf.getBoolean(HBASE_SPLIT_WAL_COORDINATED_BY_ZK, DEFAULT_HBASE_SPLIT_COORDINATED_BY_ZK)<a name="line.987"></a>
-<span class="sourceLineNo">988</span>    ) {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      this.splitWALManager = new SplitWALManager(this);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    tryMigrateMetaLocationsFromZooKeeper();<a name="line.992"></a>
-<span class="sourceLineNo">993</span><a name="line.993"></a>
-<span class="sourceLineNo">994</span>    createProcedureExecutor();<a name="line.994"></a>
-<span class="sourceLineNo">995</span>    Map&lt;Class&lt;?&gt;, List&lt;Procedure&lt;MasterProcedureEnv&gt;&gt;&gt; procsByType = procedureExecutor<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      .getActiveProceduresNoCopy().stream().collect(Collectors.groupingBy(p -&gt; p.getClass()));<a name="line.996"></a>
+<span class="sourceLineNo">838</span>    LOG.info("Active/primary master=" + this.serverName + ", sessionid=0x"<a name="line.838"></a>
+<span class="sourceLineNo">839</span>      + Long.toHexString(this.zooKeeper.getRecoverableZooKeeper().getSessionId())<a name="line.839"></a>
+<span class="sourceLineNo">840</span>      + ", setting cluster-up flag (Was=" + wasUp + ")");<a name="line.840"></a>
+<span class="sourceLineNo">841</span><a name="line.841"></a>
+<span class="sourceLineNo">842</span>    // create/initialize the snapshot manager and other procedure managers<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    this.snapshotManager = new SnapshotManager();<a name="line.843"></a>
+<span class="sourceLineNo">844</span>    this.mpmHost = new MasterProcedureManagerHost();<a name="line.844"></a>
+<span class="sourceLineNo">845</span>    this.mpmHost.register(this.snapshotManager);<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    this.mpmHost.register(new MasterFlushTableProcedureManager());<a name="line.846"></a>
+<span class="sourceLineNo">847</span>    this.mpmHost.loadProcedures(conf);<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    this.mpmHost.initialize(this, this.metricsMaster);<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>  // Will be overriden in test to inject customized AssignmentManager<a name="line.851"></a>
+<span class="sourceLineNo">852</span>  @InterfaceAudience.Private<a name="line.852"></a>
+<span class="sourceLineNo">853</span>  protected AssignmentManager createAssignmentManager(MasterServices master,<a name="line.853"></a>
+<span class="sourceLineNo">854</span>    MasterRegion masterRegion) {<a name="line.854"></a>
+<span class="sourceLineNo">855</span>    return new AssignmentManager(master, masterRegion);<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>  private void tryMigrateMetaLocationsFromZooKeeper() throws IOException, KeeperException {<a name="line.858"></a>
+<span class="sourceLineNo">859</span>    // try migrate data from zookeeper<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    try (ResultScanner scanner =<a name="line.860"></a>
+<span class="sourceLineNo">861</span>      masterRegion.getScanner(new Scan().addFamily(HConstants.CATALOG_FAMILY))) {<a name="line.861"></a>
+<span class="sourceLineNo">862</span>      if (scanner.next() != null) {<a name="line.862"></a>
+<span class="sourceLineNo">863</span>        // notice that all replicas for a region are in the same row, so the migration can be<a name="line.863"></a>
+<span class="sourceLineNo">864</span>        // done with in a one row put, which means if we have data in catalog family then we can<a name="line.864"></a>
+<span class="sourceLineNo">865</span>        // make sure that the migration is done.<a name="line.865"></a>
+<span class="sourceLineNo">866</span>        LOG.info("The {} family in master local region already has data in it, skip migrating...",<a name="line.866"></a>
+<span class="sourceLineNo">867</span>          HConstants.CATALOG_FAMILY_STR);<a name="line.867"></a>
+<span class="sourceLineNo">868</span>        return;<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
+<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
+<span class="sourceLineNo">871</span>    // start migrating<a name="line.871"></a>
+<span class="sourceLineNo">872</span>    byte[] row = CatalogFamilyFormat.getMetaKeyForRegion(RegionInfoBuilder.FIRST_META_REGIONINFO);<a name="line.872"></a>
+<span class="sourceLineNo">873</span>    Put put = new Put(row);<a name="line.873"></a>
+<span class="sourceLineNo">874</span>    List&lt;String&gt; metaReplicaNodes = zooKeeper.getMetaReplicaNodes();<a name="line.874"></a>
+<span class="sourceLineNo">875</span>    StringBuilder info = new StringBuilder("Migrating meta locations:");<a name="line.875"></a>
+<span class="sourceLineNo">876</span>    for (String metaReplicaNode : metaReplicaNodes) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>      int replicaId = zooKeeper.getZNodePaths().getMetaReplicaIdFromZNode(metaReplicaNode);<a name="line.877"></a>
+<span class="sourceLineNo">878</span>      RegionState state = MetaTableLocator.getMetaRegionState(zooKeeper, replicaId);<a name="line.878"></a>
+<span class="sourceLineNo">879</span>      info.append(" ").append(state);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>      put.setTimestamp(state.getStamp());<a name="line.880"></a>
+<span class="sourceLineNo">881</span>      MetaTableAccessor.addRegionInfo(put, state.getRegion());<a name="line.881"></a>
+<span class="sourceLineNo">882</span>      if (state.getServerName() != null) {<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        MetaTableAccessor.addLocation(put, state.getServerName(), HConstants.NO_SEQNUM, replicaId);<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      }<a name="line.884"></a>
+<span class="sourceLineNo">885</span>      put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY).setRow(put.getRow())<a name="line.885"></a>
+<span class="sourceLineNo">886</span>        .setFamily(HConstants.CATALOG_FAMILY)<a name="line.886"></a>
+<span class="sourceLineNo">887</span>        .setQualifier(RegionStateStore.getStateColumn(replicaId)).setTimestamp(put.getTimestamp())<a name="line.887"></a>
+<span class="sourceLineNo">888</span>        .setType(Cell.Type.Put).setValue(Bytes.toBytes(state.getState().name())).build());<a name="line.888"></a>
+<span class="sourceLineNo">889</span>    }<a name="line.889"></a>
+<span class="sourceLineNo">890</span>    if (!put.isEmpty()) {<a name="line.890"></a>
+<span class="sourceLineNo">891</span>      LOG.info(info.toString());<a name="line.891"></a>
+<span class="sourceLineNo">892</span>      masterRegion.update(r -&gt; r.put(put));<a name="line.892"></a>
+<span class="sourceLineNo">893</span>    } else {<a name="line.893"></a>
+<span class="sourceLineNo">894</span>      LOG.info("No meta location available on zookeeper, skip migrating...");<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span><a name="line.897"></a>
+<span class="sourceLineNo">898</span>  /**<a name="line.898"></a>
+<span class="sourceLineNo">899</span>   * Finish initialization of HMaster after becoming the primary master.<a name="line.899"></a>
+<span class="sourceLineNo">900</span>   * &lt;p/&gt;<a name="line.900"></a>
+<span class="sourceLineNo">901</span>   * The startup order is a bit complicated but very important, do not change it unless you know<a name="line.901"></a>
+<span class="sourceLineNo">902</span>   * what you are doing.<a name="line.902"></a>
+<span class="sourceLineNo">903</span>   * &lt;ol&gt;<a name="line.903"></a>
+<span class="sourceLineNo">904</span>   * &lt;li&gt;Initialize file system based components - file system manager, wal manager, table<a name="line.904"></a>
+<span class="sourceLineNo">905</span>   * descriptors, etc&lt;/li&gt;<a name="line.905"></a>
+<span class="sourceLineNo">906</span>   * &lt;li&gt;Publish cluster id&lt;/li&gt;<a name="line.906"></a>
+<span class="sourceLineNo">907</span>   * &lt;li&gt;Here comes the most complicated part - initialize server manager, assignment manager and<a name="line.907"></a>
+<span class="sourceLineNo">908</span>   * region server tracker<a name="line.908"></a>
+<span class="sourceLineNo">909</span>   * &lt;ol type='i'&gt;<a name="line.909"></a>
+<span class="sourceLineNo">910</span>   * &lt;li&gt;Create server manager&lt;/li&gt;<a name="line.910"></a>
+<span class="sourceLineNo">911</span>   * &lt;li&gt;Create master local region&lt;/li&gt;<a name="line.911"></a>
+<span class="sourceLineNo">912</span>   * &lt;li&gt;Create procedure executor, load the procedures, but do not start workers. We will start it<a name="line.912"></a>
+<span class="sourceLineNo">913</span>   * later after we finish scheduling SCPs to avoid scheduling duplicated SCPs for the same<a name="line.913"></a>
+<span class="sourceLineNo">914</span>   * server&lt;/li&gt;<a name="line.914"></a>
+<span class="sourceLineNo">915</span>   * &lt;li&gt;Create assignment manager and start it, load the meta region state, but do not load data<a name="line.915"></a>
+<span class="sourceLineNo">916</span>   * from meta region&lt;/li&gt;<a name="line.916"></a>
+<span class="sourceLineNo">917</span>   * &lt;li&gt;Start region server tracker, construct the online servers set and find out dead servers and<a name="line.917"></a>
+<span class="sourceLineNo">918</span>   * schedule SCP for them. The online servers will be constructed by scanning zk, and we will also<a name="line.918"></a>
+<span class="sourceLineNo">919</span>   * scan the wal directory and load from master local region to find out possible live region<a name="line.919"></a>
+<span class="sourceLineNo">920</span>   * servers, and the differences between these two sets are the dead servers&lt;/li&gt;<a name="line.920"></a>
+<span class="sourceLineNo">921</span>   * &lt;/ol&gt;<a name="line.921"></a>
+<span class="sourceLineNo">922</span>   * &lt;/li&gt;<a name="line.922"></a>
+<span class="sourceLineNo">923</span>   * &lt;li&gt;If this is a new deploy, schedule a InitMetaProcedure to initialize meta&lt;/li&gt;<a name="line.923"></a>
+<span class="sourceLineNo">924</span>   * &lt;li&gt;Start necessary service threads - balancer, catalog janitor, executor services, and also<a name="line.924"></a>
+<span class="sourceLineNo">925</span>   * the procedure executor, etc. Notice that the balancer must be created first as assignment<a name="line.925"></a>
+<span class="sourceLineNo">926</span>   * manager may use it when assigning regions.&lt;/li&gt;<a name="line.926"></a>
+<span class="sourceLineNo">927</span>   * &lt;li&gt;Wait for meta to be initialized if necessary, start table state manager.&lt;/li&gt;<a name="line.927"></a>
+<span class="sourceLineNo">928</span>   * &lt;li&gt;Wait for enough region servers to check-in&lt;/li&gt;<a name="line.928"></a>
+<span class="sourceLineNo">929</span>   * &lt;li&gt;Let assignment manager load data from meta and construct region states&lt;/li&gt;<a name="line.929"></a>
+<span class="sourceLineNo">930</span>   * &lt;li&gt;Start all other things such as chore services, etc&lt;/li&gt;<a name="line.930"></a>
+<span class="sourceLineNo">931</span>   * &lt;/ol&gt;<a name="line.931"></a>
+<span class="sourceLineNo">932</span>   * &lt;p/&gt;<a name="line.932"></a>
+<span class="sourceLineNo">933</span>   * Notice that now we will not schedule a special procedure to make meta online(unless the first<a name="line.933"></a>
+<span class="sourceLineNo">934</span>   * time where meta has not been created yet), we will rely on SCP to bring meta online.<a name="line.934"></a>
+<span class="sourceLineNo">935</span>   */<a name="line.935"></a>
+<span class="sourceLineNo">936</span>  private void finishActiveMasterInitialization() throws IOException, InterruptedException,<a name="line.936"></a>
+<span class="sourceLineNo">937</span>    KeeperException, ReplicationException, DeserializationException {<a name="line.937"></a>
+<span class="sourceLineNo">938</span>    /*<a name="line.938"></a>
+<span class="sourceLineNo">939</span>     * We are active master now... go initialize components we need to run.<a name="line.939"></a>
+<span class="sourceLineNo">940</span>     */<a name="line.940"></a>
+<span class="sourceLineNo">941</span>    startupTaskGroup.addTask("Initializing Master file system");<a name="line.941"></a>
+<span class="sourceLineNo">942</span><a name="line.942"></a>
+<span class="sourceLineNo">943</span>    this.masterActiveTime = EnvironmentEdgeManager.currentTime();<a name="line.943"></a>
+<span class="sourceLineNo">944</span>    // TODO: Do this using Dependency Injection, using PicoContainer, Guice or Spring.<a name="line.944"></a>
+<span class="sourceLineNo">945</span><a name="line.945"></a>
+<span class="sourceLineNo">946</span>    // always initialize the MemStoreLAB as we use a region to store data in master now, see<a name="line.946"></a>
+<span class="sourceLineNo">947</span>    // localStore.<a name="line.947"></a>
+<span class="sourceLineNo">948</span>    initializeMemStoreChunkCreator(null);<a name="line.948"></a>
+<span class="sourceLineNo">949</span>    this.fileSystemManager = new MasterFileSystem(conf);<a name="line.949"></a>
+<span class="sourceLineNo">950</span>    this.walManager = new MasterWalManager(this);<a name="line.950"></a>
+<span class="sourceLineNo">951</span><a name="line.951"></a>
+<span class="sourceLineNo">952</span>    // warm-up HTDs cache on master initialization<a name="line.952"></a>
+<span class="sourceLineNo">953</span>    if (preLoadTableDescriptors) {<a name="line.953"></a>
+<span class="sourceLineNo">954</span>      startupTaskGroup.addTask("Pre-loading table descriptors");<a name="line.954"></a>
+<span class="sourceLineNo">955</span>      this.tableDescriptors.getAll();<a name="line.955"></a>
+<span class="sourceLineNo">956</span>    }<a name="line.956"></a>
+<span class="sourceLineNo">957</span><a name="line.957"></a>
+<span class="sourceLineNo">958</span>    // Publish cluster ID; set it in Master too. The superclass RegionServer does this later but<a name="line.958"></a>
+<span class="sourceLineNo">959</span>    // only after it has checked in with the Master. At least a few tests ask Master for clusterId<a name="line.959"></a>
+<span class="sourceLineNo">960</span>    // before it has called its run method and before RegionServer has done the reportForDuty.<a name="line.960"></a>
+<span class="sourceLineNo">961</span>    ClusterId clusterId = fileSystemManager.getClusterId();<a name="line.961"></a>
+<span class="sourceLineNo">962</span>    startupTaskGroup.addTask("Publishing Cluster ID " + clusterId + " in ZooKeeper");<a name="line.962"></a>
+<span class="sourceLineNo">963</span>    ZKClusterId.setClusterId(this.zooKeeper, fileSystemManager.getClusterId());<a name="line.963"></a>
+<span class="sourceLineNo">964</span>    this.clusterId = clusterId.toString();<a name="line.964"></a>
+<span class="sourceLineNo">965</span><a name="line.965"></a>
+<span class="sourceLineNo">966</span>    // Precaution. Put in place the old hbck1 lock file to fence out old hbase1s running their<a name="line.966"></a>
+<span class="sourceLineNo">967</span>    // hbck1s against an hbase2 cluster; it could do damage. To skip this behavior, set<a name="line.967"></a>
+<span class="sourceLineNo">968</span>    // hbase.write.hbck1.lock.file to false.<a name="line.968"></a>
+<span class="sourceLineNo">969</span>    if (this.conf.getBoolean("hbase.write.hbck1.lock.file", true)) {<a name="line.969"></a>
+<span class="sourceLineNo">970</span>      Pair&lt;Path, FSDataOutputStream&gt; result = null;<a name="line.970"></a>
+<span class="sourceLineNo">971</span>      try {<a name="line.971"></a>
+<span class="sourceLineNo">972</span>        result = HBaseFsck.checkAndMarkRunningHbck(this.conf,<a name="line.972"></a>
+<span class="sourceLineNo">973</span>          HBaseFsck.createLockRetryCounterFactory(this.conf).create());<a name="line.973"></a>
+<span class="sourceLineNo">974</span>      } finally {<a name="line.974"></a>
+<span class="sourceLineNo">975</span>        if (result != null) {<a name="line.975"></a>
+<span class="sourceLineNo">976</span>          Closeables.close(result.getSecond(), true);<a name="line.976"></a>
+<span class="sourceLineNo">977</span>        }<a name="line.977"></a>
+<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
+<span class="sourceLineNo">979</span>    }<a name="line.979"></a>
+<span class="sourceLineNo">980</span><a name="line.980"></a>
+<span class="sourceLineNo">981</span>    startupTaskGroup.addTask("Initialize ServerManager and schedule SCP for crash servers");<a name="line.981"></a>
+<span class="sourceLineNo">982</span>    // The below two managers must be created before loading procedures, as they will be used during<a name="line.982"></a>
+<span class="sourceLineNo">983</span>    // loading.<a name="line.983"></a>
+<span class="sourceLineNo">984</span>    // initialize master local region<a name="line.984"></a>
+<span class="sourceLineNo">985</span>    masterRegion = MasterRegionFactory.create(this);<a name="line.985"></a>
+<span class="sourceLineNo">986</span>    rsListStorage = new MasterRegionServerList(masterRegion, this);<a name="line.986"></a>
+<span class="sourceLineNo">987</span><a name="line.987"></a>
+<span class="sourceLineNo">988</span>    this.serverManager = createServerManager(this, rsListStorage);<a name="line.988"></a>
+<span class="sourceLineNo">989</span>    this.syncReplicationReplayWALManager = new SyncReplicationReplayWALManager(this);<a name="line.989"></a>
+<span class="sourceLineNo">990</span>    if (<a name="line.990"></a>
+<span class="sourceLineNo">991</span>      !conf.getBoolean(HBASE_SPLIT_WAL_COORDINATED_BY_ZK, DEFAULT_HBASE_SPLIT_COORDINATED_BY_ZK)<a name="line.991"></a>
+<span class="sourceLineNo">992</span>    ) {<a name="line.992"></a>
+<span class="sourceLineNo">993</span>      this.splitWALManager = new SplitWALManager(this);<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>    tryMigrateMetaLocationsFromZooKeeper();<a name="line.996"></a>
 <span class="sourceLineNo">997</span><a name="line.997"></a>
-<span class="sourceLineNo">998</span>    // Create Assignment Manager<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    this.assignmentManager = createAssignmentManager(this, masterRegion);<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    this.assignmentManager.start();<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // TODO: TRSP can perform as the sub procedure for other procedures, so even if it is marked as<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    // completed, it could still be in the procedure list. This is a bit strange but is another<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>    // story, need to verify the implementation for ProcedureExecutor and ProcedureStore.<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    List&lt;TransitRegionStateProcedure&gt; ritList =<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      procsByType.getOrDefault(TransitRegionStateProcedure.class, Collections.emptyList()).stream()<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>        .filter(p -&gt; !p.isFinished()).map(p -&gt; (TransitRegionStateProcedure) p)<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>        .collect(Collectors.toList());<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    this.assignmentManager.setupRIT(ritList);<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span><a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    // Start RegionServerTracker with listing of servers found with exiting SCPs -- these should<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>    // be registered in the deadServers set -- and the servernames loaded from the WAL directory<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    // and master local region that COULD BE 'alive'(we'll schedule SCPs for each and let SCP figure<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>    // it out).<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    // We also pass dirs that are already 'splitting'... so we can do some checks down in tracker.<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    // TODO: Generate the splitting and live Set in one pass instead of two as we currently do.<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    this.regionServerTracker.upgrade(<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      procsByType.getOrDefault(ServerCrashProcedure.class, Collections.emptyList()).stream()<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>        .map(p -&gt; (ServerCrashProcedure) p).map(p -&gt; p.getServerName()).collect(Collectors.toSet()),<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>      Sets.union(rsListStorage.getAll(), walManager.getLiveServersFromWALDir()),<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>      walManager.getSplittingServersFromWALDir());<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>    // This manager must be accessed AFTER hbase:meta is confirmed on line..<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    this.tableStateManager = new TableStateManager(this);<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    startupTaskGroup.addTask("Initializing ZK system trackers");<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>    initializeZKBasedSystemTrackers();<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    startupTaskGroup.addTask("Loading last flushed sequence id of regions");<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>    try {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>      this.serverManager.loadLastFlushedSequenceIds();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>    } catch (IOException e) {<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>      LOG.info("Failed to load last flushed sequence id of regions" + " from file system", e);<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>    }<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    // Set ourselves as active Master now our claim has succeeded up in zk.<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    this.activeMaster = true;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span><a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>    // Start the Zombie master detector after setting master as active, see HBASE-21535<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    Thread zombieDetector = new Thread(new MasterInitializationMonitor(this),<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      "ActiveMasterInitializationMonitor-" + EnvironmentEdgeManager.currentTime());<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    zombieDetector.setDaemon(true);<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>    zombieDetector.start();<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span><a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>    if (!maintenanceMode) {<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>      startupTaskGroup.addTask("Initializing master coprocessors");<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>      setQuotasObserver(conf);<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>      initializeCoprocessorHost(conf);<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>    } else {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>      // start an in process region server for carrying system regions<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>      maintenanceRegionServer =<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>        JVMClusterUtil.createRegionServerThread(getConfiguration(), HRegionServer.class, 0);<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      maintenanceRegionServer.start();<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span><a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>    // Checking if meta needs initializing.<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>    startupTaskGroup.addTask("Initializing meta table if this is a new deploy");<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>    InitMetaProcedure initMetaProc = null;<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>    // Print out state of hbase:meta on startup; helps debugging.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>    if (!this.assignmentManager.getRegionStates().hasTableRegionStates(TableName.META_TABLE_NAME)) {<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>      Optional&lt;InitMetaProcedure&gt; optProc = procedureExecutor.getProcedures().stream()<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>        .filter(p -&gt; p instanceof InitMetaProcedure).map(o -&gt; (InitMetaProcedure) o).findAny();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>      initMetaProc = optProc.orElseGet(() -&gt; {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>        // schedule an init meta procedure if meta has not been deployed yet<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>        InitMetaProcedure temp = new InitMetaProcedure();<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>        procedureExecutor.submitProcedure(temp);<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>        return temp;<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>      });<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    }<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    // initialize load balancer<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    this.balancer.setMasterServices(this);<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    this.balancer.initialize();<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>    this.balancer.updateClusterMetrics(getClusterMetricsWithoutCoprocessor());<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span><a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    // try migrate replication data<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    ZKReplicationQueueStorageForMigration oldReplicationQueueStorage =<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>      new ZKReplicationQueueStorageForMigration(zooKeeper, conf);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    // check whether there are something to migrate and we haven't scheduled a migration procedure<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    // yet<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    if (<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>      oldReplicationQueueStorage.hasData() &amp;&amp; procedureExecutor.getProcedures().stream()<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>        .allMatch(p -&gt; !(p instanceof MigrateReplicationQueueFromZkToTableProcedure))<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>    ) {<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>      procedureExecutor.submitProcedure(new MigrateReplicationQueueFromZkToTableProcedure());<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>    }<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>    // start up all service threads.<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>    startupTaskGroup.addTask("Initializing master service threads");<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>    startServiceThreads();<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    // wait meta to be initialized after we start procedure executor<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>    if (initMetaProc != null) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>      initMetaProc.await();<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    }<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>    // Wake up this server to check in<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>    sleeper.skipSleepCycle();<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span><a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>    // Wait for region servers to report in.<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    // With this as part of master initialization, it precludes our being able to start a single<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>    // server that is both Master and RegionServer. Needs more thought. TODO.<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>    String statusStr = "Wait for region servers to report in";<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>    MonitoredTask waitRegionServer = startupTaskGroup.addTask(statusStr);<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>    LOG.info(Objects.toString(waitRegionServer));<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>    waitForRegionServers(waitRegionServer);<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span><a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>    // Check if master is shutting down because issue initializing regionservers or balancer.<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    if (isStopped()) {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>      return;<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    }<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span><a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>    startupTaskGroup.addTask("Starting assignment manager");<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    // FIRST HBASE:META READ!!!!<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>    // The below cannot make progress w/o hbase:meta being online.<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>    // This is the FIRST attempt at going to hbase:meta. Meta on-lining is going on in background<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>    // as procedures run -- in particular SCPs for crashed servers... One should put up hbase:meta<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>    // if it is down. It may take a while to come online. So, wait here until meta if for sure<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    // available. That's what waitForMetaOnline does.<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>    if (!waitForMetaOnline()) {<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>      return;<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>    TableDescriptor metaDescriptor = tableDescriptors.get(TableName.META_TABLE_NAME);<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>    final ColumnFamilyDescriptor tableFamilyDesc =<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>      metaDescriptor.getColumnFamily(HConstants.TABLE_FAMILY);<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>    final ColumnFamilyDescriptor replBarrierFamilyDesc =<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>      metaDescriptor.getColumnFamily(HConstants.REPLICATION_BARRIER_FAMILY);<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>    this.assignmentManager.joinCluster();<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>    // The below depends on hbase:meta being online.<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>    this.assignmentManager.processOfflineRegions();<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>    // this must be called after the above processOfflineRegions to prevent race<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    this.assignmentManager.wakeMetaLoadedEvent();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span><a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>    // for migrating from a version without HBASE-25099, and also for honoring the configuration<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>    // first.<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>    if (conf.get(HConstants.META_REPLICAS_NUM) != null) {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>      int replicasNumInConf =<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>        conf.getInt(HConstants.META_REPLICAS_NUM, HConstants.DEFAULT_META_REPLICA_NUM);<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>      TableDescriptor metaDesc = tableDescriptors.get(TableName.META_TABLE_NAME);<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>      if (metaDesc.getRegionReplication() != replicasNumInConf) {<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>        // it is possible that we already have some replicas before upgrading, so we must set the<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>        // region replication number in meta TableDescriptor directly first, without creating a<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>        // ModifyTableProcedure, otherwise it may cause a double assign for the meta replicas.<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>        int existingReplicasCount =<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>          assignmentManager.getRegionStates().getRegionsOfTable(TableName.META_TABLE_NAME).size();<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>        if (existingReplicasCount &gt; metaDesc.getRegionReplication()) {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>          LOG.info("Update replica count of hbase:meta from {}(in TableDescriptor)"<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>            + " to {}(existing ZNodes)", metaDesc.getRegionReplication(), existingReplicasCount);<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>          metaDesc = TableDescriptorBuilder.newBuilder(metaDesc)<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>            .setRegionReplication(existingReplicasCount).build();<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>          tableDescriptors.update(metaDesc);<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>        }<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>        // check again, and issue a ModifyTableProcedure if needed<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>        if (metaDesc.getRegionReplication() != replicasNumInConf) {<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>          LOG.info(<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>            "The {} config is {} while the replica count in TableDescriptor is {}"<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>              + " for hbase:meta, altering...",<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>            HConstants.META_REPLICAS_NUM, replicasNumInConf, metaDesc.getRegionReplication());<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>          procedureExecutor.submitProcedure(new ModifyTableProcedure(<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>            procedureExecutor.getEnvironment(), TableDescriptorBuilder.newBuilder(metaDesc)<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>              .setRegionReplication(replicasNumInConf).build(),<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>            null, metaDesc, false));<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>    }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>    // Initialize after meta is up as below scans meta<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    FavoredNodesManager fnm = getFavoredNodesManager();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>    if (fnm != null) {<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>      fnm.initializeFromMeta();<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>    }<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span><a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    // set cluster status again after user regions are assigned<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>    this.balancer.updateClusterMetrics(getClusterMetricsWithoutCoprocessor());<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>    // Start balancer and meta catalog janitor after meta and regions have been assigned.<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>    startupTaskGroup.addTask("Starting balancer and catalog janitor");<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    this.clusterStatusChore = new ClusterStatusChore(this, balancer);<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>    getChoreService().scheduleChore(clusterStatusChore);<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>    this.balancerChore = new BalancerChore(this);<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>    if (!disableBalancerChoreForTest) {<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>      getChoreService().scheduleChore(balancerChore);<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>    }<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>    if (regionNormalizerManager != null) {<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>      getChoreService().scheduleChore(regionNormalizerManager.getRegionNormalizerChore());<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>    }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>    this.catalogJanitorChore = new CatalogJanitor(this);<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>    getChoreService().scheduleChore(catalogJanitorChore);<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>    this.hbckChore = new HbckChore(this);<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>    getChoreService().scheduleChore(hbckChore);<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>    this.serverManager.startChore();<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span><a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>    // Only for rolling upgrade, where we need to migrate the data in namespace table to meta table.<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>    if (!waitForNamespaceOnline()) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>      return;<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>    }<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>    startupTaskGroup.addTask("Starting cluster schema service");<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>    try {<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>      initClusterSchemaService();<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>    } catch (IllegalStateException e) {<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>      if (<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>        e.getCause() != null &amp;&amp; e.getCause() instanceof NoSuchColumnFamilyException<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>          &amp;&amp; tableFamilyDesc == null &amp;&amp; replBarrierFamilyDesc == null<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>      ) {<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>        LOG.info("ClusterSchema service could not be initialized. This is "<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>          + "expected during HBase 1 to 2 upgrade", e);<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>      } else {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>        throw e;<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>      }<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>    }<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span><a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>    if (this.cpHost != null) {<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>      try {<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>        this.cpHost.preMasterInitialization();<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>      } catch (IOException e) {<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>        LOG.error("Coprocessor preMasterInitialization() hook failed", e);<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>      }<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>    }<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span><a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>    LOG.info(String.format("Master has completed initialization %.3fsec",<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>      (EnvironmentEdgeManager.currentTime() - masterActiveTime) / 1000.0f));<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>    this.masterFinishedInitializationTime = EnvironmentEdgeManager.currentTime();<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>    configurationManager.registerObserver(this.balancer);<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>    configurationManager.registerObserver(this.logCleanerPool);<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>    configurationManager.registerObserver(this.logCleaner);<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>    configurationManager.registerObserver(this.regionsRecoveryConfigManager);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>    configurationManager.registerObserver(this.exclusiveHFileCleanerPool);<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>    if (this.sharedHFileCleanerPool != null) {<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>      configurationManager.registerObserver(this.sharedHFileCleanerPool);<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>    }<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>    if (this.hfileCleaners != null) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>      for (HFileCleaner cleaner : hfileCleaners) {<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>        configurationManager.registerObserver(cleaner);<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>      }<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>    }<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>    // Set master as 'initialized'.<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>    setInitialized(true);<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>    startupTaskGroup.markComplete("Initialization successful");<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>    MonitoredTask status =<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>      TaskMonitor.get().createStatus("Progress after master initialized", false, true);<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>    if (tableFamilyDesc == null &amp;&amp; replBarrierFamilyDesc == null) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>      // create missing CFs in meta table after master is set to 'initialized'.<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span>      createMissingCFsInMetaDuringUpgrade(metaDescriptor);<a name="line.1238"></a>
+<span class="sourceLineNo">998</span>    createProcedureExecutor();<a name="line.998"></a>
+<span class="sourceLineNo">999</span>    Map&lt;Class&lt;?&gt;, List&lt;Procedure&lt;MasterProcedureEnv&gt;&gt;&gt; procsByType = procedureExecutor<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>      .getActiveProceduresNoCopy().stream().collect(Collectors.groupingBy(p -&gt; p.getClass()));<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span><a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>    // Create Assignment Manager<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span>    this.assignmentManager = createAssignmentManager(this, masterRegion);<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>    this.assignmentManager.start();<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>    // TODO: TRSP can perform as the sub procedure for other procedures, so even if it is marked as<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>    // completed, it could still be in the procedure list. This is a bit strange but is another<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>    // story, need to verify the implementation for ProcedureExecutor and ProcedureStore.<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span>    List&lt;TransitRegionStateProcedure&gt; ritList =<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>      procsByType.getOrDefault(TransitRegionStateProcedure.class, Collections.emptyList()).stream()<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>        .filter(p -&gt; !p.isFinished()).map(p -&gt; (TransitRegionStateProcedure) p)<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>        .collect(Collectors.toList());<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>    this.assignmentManager.setupRIT(ritList);<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span><a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>    // Start RegionServerTracker with listing of servers found with exiting SCPs -- these should<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>    // be registered in the deadServers set -- and the servernames loaded from the WAL directory<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>    // and master local region that COULD BE 'alive'(we'll schedule SCPs for each and let SCP figure<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>    // it out).<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>    // We also pass dirs that are already 'splitting'... so we can do some checks down in tracker.<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>    // TODO: Generate the splitting and live Set in one pass instead of two as we currently do.<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>    this.regionServerTracker.upgrade(<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>      procsByType.getOrDefault(ServerCrashProcedure.class, Collections.emptyList()).stream()<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>        .map(p -&gt; (ServerCrashProcedure) p).map(p -&gt; p.getServerName()).collect(Collectors.toSet()),<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>      Sets.union(rsListStorage.getAll(), walManager.getLiveServersFromWALDir()),<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>      walManager.getSplittingServersFromWALDir());<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>    // This manager must be accessed AFTER hbase:meta is confirmed on line..<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>    this.tableStateManager = new TableStateManager(this);<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>    startupTaskGroup.addTask("Initializing ZK system trackers");<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>    initializeZKBasedSystemTrackers();<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>    startupTaskGroup.addTask("Loading last flushed sequence id of regions");<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>    try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>      this.serverManager.loadLastFlushedSequenceIds();<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>    } catch (IOException e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>      LOG.info("Failed to load last flushed sequence id of regions" + " from file system", e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>    }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>    // Set ourselves as active Master now our claim has succeeded up in zk.<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>    this.activeMaster = true;<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span><a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>    // Start the Zombie master detector after setting master as active, see HBASE-21535<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>    Thread zombieDetector = new Thread(new MasterInitializationMonitor(this),<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>      "ActiveMasterInitializationMonitor-" + EnvironmentEdgeManager.currentTime());<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>    zombieDetector.setDaemon(true);<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>    zombieDetector.start();<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span><a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>    if (!maintenanceMode) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>      startupTaskGroup.addTask("Initializing master coprocessors");<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>      setQuotasObserver(conf);<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>      initializeCoprocessorHost(conf);<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>    } else {<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>      // start an in process region server for carrying system regions<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>      maintenanceRegionServer =<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>        JVMClusterUtil.createRegionServerThread(getConfiguration(), HRegionServer.class, 0);<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>      maintenanceRegionServer.start();<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>    }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span><a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>    // Checking if meta needs initializing.<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>    startupTaskGroup.addTask("Initializing meta table if this is a new deploy");<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>    InitMetaProcedure initMetaProc = null;<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>    // Print out state of hbase:meta on startup; helps debugging.<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>    if (!this.assignmentManager.getRegionStates().hasTableRegionStates(TableName.META_TABLE_NAME)) {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>      Optional&lt;InitMetaProcedure&gt; optProc = procedureExecutor.getProcedures().stream()<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>        .filter(p -&gt; p instanceof InitMetaProcedure).map(o -&gt; (InitMetaProcedure) o).findAny();<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>      initMetaProc = optProc.orElseGet(() -&gt; {<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>        // schedule an init meta procedure if meta has not been deployed yet<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>        InitMetaProcedure temp = new InitMetaProcedure();<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>        procedureExecutor.submitProcedure(temp);<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>        return temp;<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>    // initialize load balancer<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>    this.balancer.setMasterServices(this);<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>    this.balancer.initialize();<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>    this.balancer.updateClusterMetrics(getClusterMetricsWithoutCoprocessor());<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span><a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>    // try migrate replication data<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>    ZKReplicationQueueStorageForMigration oldReplicationQueueStorage =<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>      new ZKReplicationQueueStorageForMigration(zooKeeper, conf);<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>    // check whether there are something to migrate and we haven't scheduled a migration procedure<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>    // yet<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>    if (<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>      oldReplicationQueueStorage.hasData() &amp;&amp; procedureExecutor.getProcedures().stream()<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>        .allMatch(p -&gt; !(p instanceof MigrateReplicationQueueFromZkToTableProcedure))<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>    ) {<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>      procedureExecutor.submitProcedure(new MigrateReplicationQueueFromZkToTableProcedure());<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>    }<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>    // start up all service threads.<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>    startupTaskGroup.addTask("Initializing master service threads");<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>    startServiceThreads();<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>    // wait meta to be initialized after we start procedure executor<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>    if (initMetaProc != null) {<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>      initMetaProc.await();<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>    }<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>    // Wake up this server to check in<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>    sleeper.skipSleepCycle();<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span><a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>    // Wait for region servers to report in.<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>    // With this as part of master initialization, it precludes our being able to start a single<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>    // server that is both Master and RegionServer. Needs more thought. TODO.<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>    String statusStr = "Wait for region servers to report in";<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>    MonitoredTask waitRegionServer = startupTaskGroup.addTask(statusStr);<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>    LOG.info(Objects.toString(waitRegionServer));<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>    waitForRegionServers(waitRegionServer);<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span><a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>    // Check if master is shutting down because issue initializing regionservers or balancer.<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>    if (isStopped()) {<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>      return;<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>    startupTaskGroup.addTask("Starting assignment manager");<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>    // FIRST HBASE:META READ!!!!<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>    // The below cannot make progress w/o hbase:meta being online.<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>    // This is the FIRST attempt at going to hbase:meta. Meta on-lining is going on in background<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>    // as procedures run -- in particular SCPs for crashed servers... One should put up hbase:meta<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>    // if it is down. It may take a while to come online. So, wait here until meta if for sure<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>    // available. That's what waitForMetaOnline does.<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>    if (!waitForMetaOnline()) {<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>      return;<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>    }<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span><a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>    TableDescriptor metaDescriptor = tableDescriptors.get(TableName.META_TABLE_NAME);<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>    final ColumnFamilyDescriptor tableFamilyDesc =<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>      metaDescriptor.getColumnFamily(HConstants.TABLE_FAMILY);<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>    final ColumnFamilyDescriptor replBarrierFamilyDesc =<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>      metaDescriptor.getColumnFamily(HConstants.REPLICATION_BARRIER_FAMILY);<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span><a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>    this.assignmentManager.joinCluster();<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>    // The below depends on hbase:meta being online.<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>    this.assignmentManager.processOfflineRegions();<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>    // this must be called after the above processOfflineRegions to prevent race<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>    this.assignmentManager.wakeMetaLoadedEvent();<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span><a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>    // for migrating from a version without HBASE-25099, and also for honoring the configuration<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>    // first.<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>    if (conf.get(HConstants.META_REPLICAS_NUM) != null) {<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>      int replicasNumInConf =<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>        conf.getInt(HConstants.META_REPLICAS_NUM, HConstants.DEFAULT_META_REPLICA_NUM);<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>      TableDescriptor metaDesc = tableDescriptors.get(TableName.META_TABLE_NAME);<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>      if (metaDesc.getRegionReplication() != replicasNumInConf) {<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>        // it is possible that we already have some replicas before upgrading, so we must set the<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>        // region replication number in meta TableDescriptor directly first, without creating a<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>        // ModifyTableProcedure, otherwise it may cause a double assign for the meta replicas.<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>        int existingReplicasCount =<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>          assignmentManager.getRegionStates().getRegionsOfTable(TableName.META_TABLE_NAME).size();<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>        if (existingReplicasCount &gt; metaDesc.getRegionReplication()) {<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>          LOG.info("Update replica count of hbase:meta from {}(in TableDescriptor)"<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>            + " to {}(existing ZNodes)", metaDesc.getRegionReplication(), existingReplicasCount);<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>          metaDesc = TableDescriptorBuilder.newBuilder(metaDesc)<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>            .setRegionReplication(existingReplicasCount).build();<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>          tableDescriptors.update(metaDesc);<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>        }<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>        // check again, and issue a ModifyTableProcedure if needed<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>        if (metaDesc.getRegionReplication() != replicasNumInConf) {<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>          LOG.info(<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span>            "The {} config is {} while the replica count in TableDescriptor is {}"<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>              + " for hbase:meta, altering...",<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>            HConstants.META_REPLICAS_NUM, replicasNumInConf, metaDesc.getRegionReplication());<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>          procedureExecutor.submitProcedure(new ModifyTableProcedure(<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>            procedureExecutor.getEnvironment(), TableDescriptorBuilder.newBuilder(metaDesc)<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>              .setRegionReplication(replicasNumInConf).build(),<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>            null, metaDesc, false));<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>        }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>      }<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>    }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>    // Initialize after meta is up as below scans meta<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>    FavoredNodesManager fnm = getFavoredNodesManager();<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>    if (fnm != null) {<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>      fnm.initializeFromMeta();<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>    }<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span><a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>    // set cluster status again after user regions are assigned<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>    this.balancer.updateClusterMetrics(getClusterMetricsWithoutCoprocessor());<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span><a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>    // Start balancer and meta catalog janitor after meta and regions have been assigned.<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>    startupTaskGroup.addTask("Starting balancer and catalog janitor");<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>    this.clusterStatusChore = new ClusterStatusChore(this, balancer);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>    getChoreService().scheduleChore(clusterStatusChore);<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>    this.balancerChore = new BalancerChore(this);<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>    if (!disableBalancerChoreForTest) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>      getChoreService().scheduleChore(balancerChore);<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>    }<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>    if (regionNormalizerManager != null) {<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>      getChoreService().scheduleChore(regionNormalizerManager.getRegionNormalizerChore());<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>    }<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>    this.catalogJanitorChore = new CatalogJanitor(this);<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>    getChoreService().scheduleChore(catalogJanitorChore);<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>    this.hbckChore = new HbckChore(this);<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>    getChoreService().scheduleChore(hbckChore);<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>    this.serverManager.startChore();<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span><a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>    // Only for rolling upgrade, where we need to migrate the data in namespace table to meta table.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>    if (!waitForNamespaceOnline()) {<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>      return;<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>    }<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>    startupTaskGroup.addTask("Starting cluster schema service");<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>    try {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>      initClusterSchemaService();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>    } catch (IllegalStateException e) {<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span>      if (<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>        e.getCause() != null &amp;&amp; e.getCause() instanceof NoSuchColumnFamilyException<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>          &amp;&amp; tableFamilyDesc == null &amp;&amp; replBarrierFamilyDesc == null<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>      ) {<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>        LOG.info("ClusterSchema service could not be initialized. This is "<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>          + "expected during HBase 1 to 2 upgrade", e);<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>      } else {<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>        throw e;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>      }<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>    }<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>    if (this.cpHost != null) {<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>      try {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>        this.cpHost.preMasterInitialization();<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      } catch (IOException e) {<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>        LOG.error("Coprocessor preMasterInitialization() hook failed", e);<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><a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>    LOG.info(String.format("Master has completed initialization %.3fsec",<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>      (EnvironmentEdgeManager.currentTime() - masterActiveTime) / 1000.0f));<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>    this.masterFinishedInitializationTime = EnvironmentEdgeManager.currentTime();<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>    configurationManager.registerObserver(this.balancer);<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>    configurationManager.registerObserver(this.logCleanerPool);<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>    configurationManager.registerObserver(this.logCleaner);<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>    configurationManager.registerObserver(this.regionsRecoveryConfigManager);<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>    configurationManager.registerObserver(this.exclusiveHFileCleanerPool);<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>    if (this.sharedHFileCleanerPool != null) {<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>      configurationManager.registerObserver(this.sharedHFileCleanerPool);<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>    }<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>    if (this.hfileCleaners != null) {<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>      for (HFileCleaner cleaner : hfileCleaners) {<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>        configurationManager.registerObserver(cleaner);<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>      }<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>    }<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>    // Set master as 'initialized'.<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>    setInitialized(true);<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span>    startupTaskGroup.markComplete("Initialization successful");<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>    MonitoredTask status =<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>      TaskMonitor.get().createStatus("Progress after master initialized", false, true);<a name="line.1238"></a>
 <span class="sourceLineNo">1239</span><a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>      // Throwing this Exception to abort active master is painful but this<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>      // seems the only way to add missing CFs in meta while upgrading from<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>      // HBase 1 to 2 (where HBase 2 has HBASE-23055 &amp; HBASE-23782 checked-in).<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>      // So, why do we abort active master after adding missing CFs in meta?<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>      // When we reach here, we would have already bypassed NoSuchColumnFamilyException<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>      // in initClusterSchemaService(), meaning ClusterSchemaService is not<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>      // correctly initialized but we bypassed it. Similarly, we bypassed<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span>      // tableStateManager.start() as well. Hence, we should better abort<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>      // current active master because our main task - adding missing CFs<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>      // in meta table is done (possible only after master state is set as<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>      // initialized) at the expense of bypassing few important tasks as part<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>      // of active master init routine. So now we abort active master so that<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>      // next active master init will not face any issues and all mandatory<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>      // services will be started during master init phase.<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>      throw new PleaseRestartMasterException("Aborting active master after missing"<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>        + " CFs are successfully added in meta. Subsequent active master "<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>        + "initialization should be uninterrupted");<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>    }<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span><a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>    if (maintenanceMode) {<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>      LOG.info("Detected repair mode, skipping final initialization steps.");<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>      return;<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>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>    status.setStatus("Starting quota manager");<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>    initQuotaManager();<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>    if (QuotaUtil.isQuotaEnabled(conf)) {<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span>      // Create the quota snapshot notifier<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>      spaceQuotaSnapshotNotifier = createQuotaSnapshotNotifier();<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>      spaceQuotaSnapshotNotifier.initialize(getConnection());<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>      this.quotaObserverChore = new QuotaObserverChore(this, getMasterMetrics());<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>      // Start the chore to read the region FS space reports and act on them<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>      getChoreService().scheduleChore(quotaObserverChore);<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span><a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>      this.snapshotQuotaChore = new SnapshotQuotaObserverChore(this, getMasterMetrics());<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>      // Start the chore to read snapshots and add their usage to table/NS quotas<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>      getChoreService().scheduleChore(snapshotQuotaChore);<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>    }<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>    final SlowLogMasterService slowLogMasterService = new SlowLogMasterService(conf, this);<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>    slowLogMasterService.init();<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span><a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>    WALEventTrackerTableCreator.createIfNeededAndNotExists(conf, this);<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>    // Create REPLICATION.SINK_TRACKER table if needed.<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>    ReplicationSinkTrackerTableCreator.createIfNeededAndNotExists(conf, this);<a name="line.1284"></a>
+<span class="sourceLineNo">1240</span>    if (tableFamilyDesc == null &amp;&amp; replBarrierFamilyDesc == null) {<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>      // create missing CFs in meta table after master is set to 'initialized'.<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span>      createMissingCFsInMetaDuringUpgrade(metaDescriptor);<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span><a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>      // Throwing this Exception to abort active master is painful but this<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>      // seems the only way to add missing CFs in meta while upgrading from<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      // HBase 1 to 2 (where HBase 2 has HBASE-23055 &amp; HBASE-23782 checked-in).<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span>      // So, why do we abort active master after adding missing CFs in meta?<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span>      // When we reach here, we would have already bypassed NoSuchColumnFamilyException<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>      // in initClusterSchemaService(), meaning ClusterSchemaService is not<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>      // correctly initialized but we bypassed it. Similarly, we bypassed<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>      // tableStateManager.start() as well. Hence, we should better abort<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>      // current active master because our main task - adding missing CFs<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>      // in meta table is done (possible only after master state is set as<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>      // initialized) at the expense of bypassing few important tasks as part<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>      // of active master init routine. So now we abort active master so that<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>      // next active master init will not face any issues and all mandatory<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>      // services will be started during master init phase.<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>      throw new PleaseRestartMasterException("Aborting active master after missing"<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>        + " CFs are successfully added in meta. Subsequent active master "<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>        + "initialization should be uninterrupted");<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>    }<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span><a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>    if (maintenanceMode) {<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span>      LOG.info("Detected repair mode, skipping final initialization steps.");<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>      return;<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>    }<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span><a name="line.1267"></a>
+<span class="sourceLineNo">1268</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>    status.setStatus("Starting quota manager");<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>    initQuotaManager();<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>    if (QuotaUtil.isQuotaEnabled(conf)) {<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span>      // Create the quota snapshot notifier<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>      spaceQuotaSnapshotNotifier = createQuotaSnapshotNotifier();<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>      spaceQuotaSnapshotNotifier.initialize(getConnection());<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>      this.quotaObserverChore = new QuotaObserverChore(this, getMasterMetrics());<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>      // Start the chore to read the region FS space reports and act on them<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>      getChoreService().scheduleChore(quotaObserverChore);<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span><a name="line.1278"></a>
+<span class="sourceLineNo">1279</span>      this.snapshotQuotaChore = new SnapshotQuotaObserverChore(this, getMasterMetrics());<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>      // Start the chore to read snapshots and add their usage to table/NS quotas<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>      getChoreService().scheduleChore(snapshotQuotaChore);<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>    }<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>    final SlowLogMasterService slowLogMasterService = new SlowLogMasterService(conf, this);<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>    slowLogMasterService.init();<a name="line.1284"></a>
 <span class="sourceLineNo">1285</span><a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>    // clear the dead servers with same host name and port of online server because we are not<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>    // removing dead server with same hostname and port of rs which is trying to check in before<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>    // master initialization. See HBASE-5916.<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>    this.serverManager.clearDeadServersWithSameHostNameAndPortOfOnlineServer();<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span><a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>    // Check and set the znode ACLs if needed in case we are overtaking a non-secure configuration<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>    status.setStatus("Checking ZNode ACLs");<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>    zooKeeper.checkAndSetZNodeAcls();<a name="line.1293"></a>
+<span class="sourceLineNo">1286</span>    WALEventTrackerTableCreator.createIfNeededAndNotExists(conf, this);<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>    // Create REPLICATION.SINK_TRACKER table if needed.<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>    ReplicationSinkTrackerTableCreator.createIfNeededAndNotExists(conf, this);<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span><a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>    // clear the dead servers with same host name and port of online server because we are not<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span>    // removing dead server with same hostname and port of rs which is trying to check in before<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>    // master initialization. See HBASE-5916.<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>    this.serverManager.clearDeadServersWithSameHostNameAndPortOfOnlineServer();<a name="line.1293"></a>
 <span class="sourceLineNo">1294</span><a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>    status.setStatus("Initializing MOB Cleaner");<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>    initMobCleaner();<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span><a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>    // delete the stale data for replication sync up tool if necessary<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>    status.setStatus("Cleanup ReplicationSyncUp status if necessary");<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>    Path replicationSyncUpInfoFile =<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>      new Path(new Path(dataRootDir, ReplicationSyncUp.INFO_DIR), ReplicationSyncUp.INFO_FILE);<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>    if (dataFs.exists(replicationSyncUpInfoFile)) {<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>      // info file is available, load the timestamp and use it to clean up stale data in replication<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      // queue storage.<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>      byte[] data;<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>      try (FSDataInputStream in = dataFs.open(replicationSyncUpInfoFile)) {<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        data = ByteStreams.toByteArray(in);<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>      }<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>      ReplicationSyncUpToolInfo info = null;<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>      try {<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>        info = JsonMapper.fromJson(Bytes.toString(data), ReplicationSyncUpToolInfo.class);<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>      } catch (JsonParseException e) {<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>        // usually this should be a partial file, which means the ReplicationSyncUp tool did not<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>        // finish properly, so not a problem. Here we do not clean up the status as we do not know<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>        // the reason why the tool did not finish properly, so let users clean the status up<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>        // manually<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>        LOG.warn("failed to parse replication sync up info file, ignore and continue...", e);<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>      }<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>      if (info != null) {<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>        LOG.info("Remove last sequence ids and hfile references which are written before {}({})",<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>          info.getStartTimeMs(), DateTimeFormatter.ISO_DATE_TIME.withZone(ZoneId.systemDefault())<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>            .format(Instant.ofEpochMilli(info.getStartTimeMs())));<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>        replicationPeerManager.getQueueStorage()<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>          .removeLastSequenceIdsAndHFileRefsBefore(info.getStartTimeMs());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>        // delete the file after removing the stale data, so next time we do not need to do this<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>        // again.<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>        dataFs.delete(replicationSyncUpInfoFile, false);<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>      }<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>    }<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    status.setStatus("Calling postStartMaster coprocessors");<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>    if (this.cpHost != null) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>      // don't let cp initialization errors kill the master<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>      try {<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>        this.cpHost.postStartMaster();<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>      } catch (IOException ioe) {<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>        LOG.error("Coprocessor postStartMaster() hook failed", ioe);<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      }<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>    }<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span><a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>    zombieDetector.interrupt();<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span><a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>    /*<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>     * After master has started up, lets do balancer post startup initialization. Since this runs in<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>     * activeMasterManager thread, it should be fine.<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>     */<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>    long start = EnvironmentEdgeManager.currentTime();<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>    this.balancer.postMasterStartupInitialize();<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>    if (LOG.isDebugEnabled()) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>      LOG.debug("Balancer post startup initialization complete, took "<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>        + ((EnvironmentEdgeManager.currentTime() - start) / 1000) + " seconds");<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>    this.rollingUpgradeChore = new RollingUpgradeChore(this);<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>    getChoreService().scheduleChore(rollingUpgradeChore);<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>    status.markComplete("Progress after master initialized complete");<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>  private void createMissingCFsInMetaDuringUpgrade(TableDescriptor metaDescriptor)<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>    throws IOException {<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>    TableDescriptor newMetaDesc = TableDescriptorBuilder.newBuilder(metaDescriptor)<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>      .setColumnFamily(FSTableDescriptors.getTableFamilyDescForMeta(conf))<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      .setColumnFamily(FSTableDescriptors.getReplBarrierFamilyDescForMeta()).build();<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    long pid = this.modifyTable(TableName.META_TABLE_NAME, () -&gt; newMetaDesc, 0, 0, false);<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>    int tries = 30;<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>    while (<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>      !(getMasterProcedureExecutor().isFinished(pid)) &amp;&amp; getMasterProcedureExecutor().isRunning()<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>        &amp;&amp; tries &gt; 0<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>    ) {<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>      try {<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>        Thread.sleep(1000);<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>      } catch (InterruptedException e) {<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>        throw new IOException("Wait interrupted", e);<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>      }<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>      tries--;<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>    }<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>    if (tries &lt;= 0) {<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>      throw new HBaseIOException(<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>        "Failed to add table and rep_barrier CFs to meta in a given time.");<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>    } else {<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>      Procedure&lt;?&gt; result = getMasterProcedureExecutor().getResult(pid);<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>      if (result != null &amp;&amp; result.isFailed()) {<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>        throw new IOException("Failed to add table and rep_barrier CFs to meta. "<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>          + MasterProcedureUtil.unwrapRemoteIOException(result));<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>  }<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span><a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>  /**<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>   * Check hbase:meta is up and ready for reading. For use during Master startup only.<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>   * @return True if meta is UP and online and startup can progress. Otherwise, meta is not online<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   *         and we will hold here until operator intervention.<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>   */<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>  @InterfaceAudience.Private<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>  public boolean waitForMetaOnline() {<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>    return isRegionOnline(RegionInfoBuilder.FIRST_META_REGIONINFO);<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>  }<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>   * @return True if region is online and scannable else false if an error or shutdown (Otherwise we<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>   *         just block in here holding up all forward-progess).<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>   */<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>  private boolean isRegionOnline(RegionInfo ri) {<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>    RetryCounter rc = null;<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>    while (!isStopped()) {<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>      RegionState rs = this.assignmentManager.getRegionStates().getRegionState(ri);<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>      if (rs.isOpened()) {<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>        if (this.getServerManager().isServerOnline(rs.getServerName())) {<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>          return true;<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>        }<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>      }<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>      // Region is not OPEN.<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>      Optional&lt;Procedure&lt;MasterProcedureEnv&gt;&gt; optProc = this.procedureExecutor.getProcedures()<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>        .stream().filter(p -&gt; p instanceof ServerCrashProcedure).findAny();<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>      // TODO: Add a page to refguide on how to do repair. Have this log message point to it.<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span>      // Page will talk about loss of edits, how to schedule at least the meta WAL recovery, and<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>      // then how to assign including how to break region lock if one held.<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>      LOG.warn(<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span>        "{} is NOT online; state={}; ServerCrashProcedures={}. Master startup cannot "<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>          + "progress, in holding-pattern until region onlined.",<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span>        ri.getRegionNameAsString(), rs, optProc.isPresent());<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>      // Check once-a-minute.<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>      if (rc == null) {<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>        rc = new RetryCounterFactory(Integer.MAX_VALUE, 1000, 60_000).create();<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>      }<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>      Threads.sleep(rc.getBackoffTimeAndIncrementAttempts());<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>    }<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>    return false;<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span>  }<a name="line.1428"></a>
-<span class="sourceLineNo">1429</span><a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>  /**<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>   * Check hbase:namespace table is assigned. If not, startup will hang looking for the ns table<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>   * &lt;p/&gt;<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>   * This is for rolling upgrading, later we will migrate the data in ns table to the ns family of<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>   * meta table. And if this is a new cluster, this method will return immediately as there will be<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>   * no namespace table/region.<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>   * @return True if namespace table is up/online.<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>   */<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>  private boolean waitForNamespaceOnline() throws IOException {<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>    TableState nsTableState =<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>      MetaTableAccessor.getTableState(getConnection(), TableName.NAMESPACE_TABLE_NAME);<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>    if (nsTableState == null || nsTableState.isDisabled()) {<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>      // this means we have already migrated the data and disabled or deleted the namespace table,<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>      // or this is a new deploy which does not have a namespace table from the beginning.<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span>      return true;<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>    }<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>    List&lt;RegionInfo&gt; ris =<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>      this.assignmentManager.getRegionStates().getRegionsOfTable(TableName.NAMESPACE_TABLE_NAME);<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>    if (ris.isEmpty()) {<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>      // maybe this will not happen any more, but anyway, no harm to add a check here...<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>      return true;<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>    }<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>    // Else there are namespace regions up in meta. Ensure they are assigned before we go on.<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>    for (RegionInfo ri : ris) {<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>      if (!isRegionOnline(ri)) {<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>        return false;<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>      }<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>    }<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>    return true;<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>  /**<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>   * Adds the {@code MasterQuotasObserver} to the list of configured Master observers to<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>   * automatically remove quotas for a table when that table is deleted.<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span>   */<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>  @InterfaceAudience.Private<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>  public void updateConfigurationForQuotasObserver(Configuration conf) {<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>    // We're configured to not delete quotas on table deletion, so we don't need to add the obs.<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>    if (<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>      !conf.getBoolean(MasterQuotasObserver.REMOVE_QUOTA_ON_TABLE_DELETE,<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>        MasterQuotasObserver.REMOVE_QUOTA_ON_TABLE_DELETE_DEFAULT)<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>    ) {<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>      return;<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>    }<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>    String[] masterCoprocs = conf.getStrings(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY);<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>    final int length = null == masterCoprocs ? 0 : masterCoprocs.length;<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>    String[] updatedCoprocs = new String[length + 1];<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>    if (length &gt; 0) {<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>      System.arraycopy(masterCoprocs, 0, updatedCoprocs, 0, masterCoprocs.length);<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span>    }<a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>    updatedCoprocs[length] = MasterQuotasObserver.class.getName();<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>    conf.setStrings(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY, updatedCoprocs);<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>  private void initMobCleaner() {<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>    this.mobFileCleanerChore = new MobFileCleanerChore(this);<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>    getChoreService().scheduleChore(mobFileCleanerChore);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>    this.mobFileCompactionChore = new MobFileCompactionChore(this);<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span>    getChoreService().scheduleChore(mobFileCompactionChore);<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>  }<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span><a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>  /**<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>   * &lt;p&gt;<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>   * Create a {@link ServerManager} instance.<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>   * &lt;/p&gt;<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>   * &lt;p&gt;<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>   * Will be overridden in tests.<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span>   * &lt;/p&gt;<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>   */<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>  @InterfaceAudience.Private<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>  protected ServerManager createServerManager(MasterServices master, RegionServerList storage)<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>    throws IOException {<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>    // We put this out here in a method so can do a Mockito.spy and stub it out<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span>    // w/ a mocked up ServerManager.<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>    setupClusterConnection();<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span>    return new ServerManager(master, storage);<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>  }<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span><a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>  private void waitForRegionServers(final MonitoredTask status)<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>    throws IOException, InterruptedException {<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>    this.serverManager.waitForRegionServers(status);<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span>  }<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span><a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>  // Will be overridden in tests<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>  @InterfaceAudience.Private<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>  protected void initClusterSchemaService() throws IOException, InterruptedException {<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>    this.clusterSchemaService = new ClusterSchemaServiceImpl(this);<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>    this.clusterSchemaService.startAsync();<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>    try {<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>      this.clusterSchemaService<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>        .awaitRunning(getConfiguration().getInt(HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS,<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>          DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS), TimeUnit.SECONDS);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>    } catch (TimeoutException toe) {<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>      throw new IOException("Timedout starting ClusterSchemaService", toe);<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>    }<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>  }<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span><a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>  private void initQuotaManager() throws IOException {<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>    MasterQuotaManager quotaManager = new MasterQuotaManager(this);<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>    quotaManager.start();<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>    this.quotaManager = quotaManager;<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>  }<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span><a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>  private SpaceQuotaSnapshotNotifier createQuotaSnapshotNotifier() {<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>    SpaceQuotaSnapshotNotifier notifier =<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>      SpaceQuotaSnapshotNotifierFactory.getInstance().create(getConfiguration());<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>    return notifier;<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>  }<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span><a name="line.1538"></a>
-<span class="sourceLineNo">1539</span>  public boolean isCatalogJanitorEnabled() {<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>    return catalogJanitorChore != null ? catalogJanitorChore.getEnabled() : false;<a name="line.1540"></a>
+<span class="sourceLineNo">1295</span>    // Check and set the znode ACLs if needed in case we are overtaking a non-secure configuration<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>    status.setStatus("Checking ZNode ACLs");<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span>    zooKeeper.checkAndSetZNodeAcls();<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span><a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>    status.setStatus("Initializing MOB Cleaner");<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>    initMobCleaner();<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span><a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>    // delete the stale data for replication sync up tool if necessary<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>    status.setStatus("Cleanup ReplicationSyncUp status if necessary");<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    Path replicationSyncUpInfoFile =<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>      new Path(new Path(dataRootDir, ReplicationSyncUp.INFO_DIR), ReplicationSyncUp.INFO_FILE);<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>    if (dataFs.exists(replicationSyncUpInfoFile)) {<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>      // info file is available, load the timestamp and use it to clean up stale data in replication<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>      // queue storage.<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>      byte[] data;<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>      try (FSDataInputStream in = dataFs.open(replicationSyncUpInfoFile)) {<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>        data = ByteStreams.toByteArray(in);<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>      }<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>      ReplicationSyncUpToolInfo info = null;<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>      try {<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>        info = JsonMapper.fromJson(Bytes.toString(data), ReplicationSyncUpToolInfo.class);<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>      } catch (JsonParseException e) {<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>        // usually this should be a partial file, which means the ReplicationSyncUp tool did not<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>        // finish properly, so not a problem. Here we do not clean up the status as we do not know<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>        // the reason why the tool did not finish properly, so let users clean the status up<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>        // manually<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>        LOG.warn("failed to parse replication sync up info file, ignore and continue...", e);<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>      }<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>      if (info != null) {<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>        LOG.info("Remove last sequence ids and hfile references which are written before {}({})",<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>          info.getStartTimeMs(), DateTimeFormatter.ISO_DATE_TIME.withZone(ZoneId.systemDefault())<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>            .format(Instant.ofEpochMilli(info.getStartTimeMs())));<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>        replicationPeerManager.getQueueStorage()<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>          .removeLastSequenceIdsAndHFileRefsBefore(info.getStartTimeMs());<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>        // delete the file after removing the stale data, so next time we do not need to do this<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>        // again.<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>        dataFs.delete(replicationSyncUpInfoFile, false);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>      }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>    }<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>    status.setStatus("Calling postStartMaster coprocessors");<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>    if (this.cpHost != null) {<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>      // don't let cp initialization errors kill the master<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>      try {<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>        this.cpHost.postStartMaster();<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>      } catch (IOException ioe) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>        LOG.error("Coprocessor postStartMaster() hook failed", ioe);<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>      }<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>    }<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span><a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>    zombieDetector.interrupt();<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span><a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>    /*<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>     * After master has started up, lets do balancer post startup initialization. Since this runs in<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>     * activeMasterManager thread, it should be fine.<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>     */<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>    long start = EnvironmentEdgeManager.currentTime();<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>    this.balancer.postMasterStartupInitialize();<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>    if (LOG.isDebugEnabled()) {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>      LOG.debug("Balancer post startup initialization complete, took "<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>        + ((EnvironmentEdgeManager.currentTime() - start) / 1000) + " seconds");<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>    }<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span><a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>    this.rollingUpgradeChore = new RollingUpgradeChore(this);<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>    getChoreService().scheduleChore(rollingUpgradeChore);<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>    status.markComplete("Progress after master initialized complete");<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>  }<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span><a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>  private void createMissingCFsInMetaDuringUpgrade(TableDescriptor metaDescriptor)<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>    throws IOException {<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>    TableDescriptor newMetaDesc = TableDescriptorBuilder.newBuilder(metaDescriptor)<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>      .setColumnFamily(FSTableDescriptors.getTableFamilyDescForMeta(conf))<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>      .setColumnFamily(FSTableDescriptors.getReplBarrierFamilyDescForMeta()).build();<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    long pid = this.modifyTable(TableName.META_TABLE_NAME, () -&gt; newMetaDesc, 0, 0, false);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>    int tries = 30;<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    while (<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>      !(getMasterProcedureExecutor().isFinished(pid)) &amp;&amp; getMasterProcedureExecutor().isRunning()<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>        &amp;&amp; tries &gt; 0<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>    ) {<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>      try {<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>        Thread.sleep(1000);<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>      } catch (InterruptedException e) {<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>        throw new IOException("Wait interrupted", e);<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>      }<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>      tries--;<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>    }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>    if (tries &lt;= 0) {<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>      throw new HBaseIOException(<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>        "Failed to add table and rep_barrier CFs to meta in a given time.");<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>    } else {<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>      Procedure&lt;?&gt; result = getMasterProcedureExecutor().getResult(pid);<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>      if (result != null &amp;&amp; result.isFailed()) {<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>        throw new IOException("Failed to add table and rep_barrier CFs to meta. "<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>          + MasterProcedureUtil.unwrapRemoteIOException(result));<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>      }<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>    }<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>  }<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>   * Check hbase:meta is up and ready for reading. For use during Master startup only.<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>   * @return True if meta is UP and online and startup can progress. Otherwise, meta is not online<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>   *         and we will hold here until operator intervention.<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>   */<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>  @InterfaceAudience.Private<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>  public boolean waitForMetaOnline() {<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>    return isRegionOnline(RegionInfoBuilder.FIRST_META_REGIONINFO);<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>  }<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span><a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>  /**<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>   * @return True if region is online and scannable else false if an error or shutdown (Otherwise we<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span>   *         just block in here holding up all forward-progess).<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>   */<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>  private boolean isRegionOnline(RegionInfo ri) {<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>    RetryCounter rc = null;<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>    while (!isStopped()) {<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>      RegionState rs = this.assignmentManager.getRegionStates().getRegionState(ri);<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>      if (rs.isOpened()) {<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>        if (this.getServerManager().isServerOnline(rs.getServerName())) {<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>          return true;<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>        }<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>      }<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span>      // Region is not OPEN.<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span>      Optional&lt;Procedure&lt;MasterProcedureEnv&gt;&gt; optProc = this.procedureExecutor.getProcedures()<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>        .stream().filter(p -&gt; p instanceof ServerCrashProcedure).findAny();<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>      // TODO: Add a page to refguide on how to do repair. Have this log message point to it.<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>      // Page will talk about loss of edits, how to schedule at least the meta WAL recovery, and<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>      // then how to assign including how to break region lock if one held.<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>      LOG.warn(<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>        "{} is NOT online; state={}; ServerCrashProcedures={}. Master startup cannot "<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>          + "progress, in holding-pattern until region onlined.",<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>        ri.getRegionNameAsString(), rs, optProc.isPresent());<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span>      // Check once-a-minute.<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>      if (rc == null) {<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>        rc = new RetryCounterFactory(Integer.MAX_VALUE, 1000, 60_000).create();<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span>      }<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span>      Threads.sleep(rc.getBackoffTimeAndIncrementAttempts());<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>    }<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>    return false;<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span>  }<a name="line.1432"></a>
+<span class="sourceLineNo">1433</span><a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>  /**<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>   * Check hbase:namespace table is assigned. If not, startup will hang looking for the ns table<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>   * &lt;p/&gt;<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>   * This is for rolling upgrading, later we will migrate the data in ns table to the ns family of<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span>   * meta table. And if this is a new cluster, this method will return immediately as there will be<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>   * no namespace table/region.<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>   * @return True if namespace table is up/online.<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>   */<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>  private boolean waitForNamespaceOnline() throws IOException {<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>    TableState nsTableState =<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>      MetaTableAccessor.getTableState(getConnection(), TableName.NAMESPACE_TABLE_NAME);<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>    if (nsTableState == null || nsTableState.isDisabled()) {<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span>      // this means we have already migrated the data and disabled or deleted the namespace table,<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>      // or this is a new deploy which does not have a namespace table from the beginning.<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>      return true;<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>    }<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>    List&lt;RegionInfo&gt; ris =<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>      this.assignmentManager.getRegionStates().getRegionsOfTable(TableName.NAMESPACE_TABLE_NAME);<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>    if (ris.isEmpty()) {<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>      // maybe this will not happen any more, but anyway, no harm to add a check here...<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>      return true;<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span>    }<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>    // Else there are namespace regions up in meta. Ensure they are assigned before we go on.<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>    for (RegionInfo ri : ris) {<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>      if (!isRegionOnline(ri)) {<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>        return false;<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>      }<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>    }<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>    return true;<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>  }<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span><a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>  /**<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>   * Adds the {@code MasterQuotasObserver} to the list of configured Master observers to<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>   * automatically remove quotas for a table when that table is deleted.<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>   */<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>  @InterfaceAudience.Private<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>  public void updateConfigurationForQuotasObserver(Configuration conf) {<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>    // We're configured to not delete quotas on table deletion, so we don't need to add the obs.<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>    if (<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>      !conf.getBoolean(MasterQuotasObserver.REMOVE_QUOTA_ON_TABLE_DELETE,<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span>        MasterQuotasObserver.REMOVE_QUOTA_ON_TABLE_DELETE_DEFAULT)<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>    ) {<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>      return;<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>    }<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>    String[] masterCoprocs = conf.getStrings(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY);<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>    final int length = null == masterCoprocs ? 0 : masterCoprocs.length;<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>    String[] updatedCoprocs = new String[length + 1];<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>    if (length &gt; 0) {<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>      System.arraycopy(masterCoprocs, 0, updatedCoprocs, 0, masterCoprocs.length);<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span>    }<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>    updatedCoprocs[length] = MasterQuotasObserver.class.getName();<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>    conf.setStrings(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY, updatedCoprocs);<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>  }<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span><a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>  private void initMobCleaner() {<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>    this.mobFileCleanerChore = new MobFileCleanerChore(this);<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>    getChoreService().scheduleChore(mobFileCleanerChore);<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>    this.mobFileCompactionChore = new MobFileCompactionChore(this);<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span>    getChoreService().scheduleChore(mobFileCompactionChore);<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>  }<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span><a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>  /**<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>   * &lt;p&gt;<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span>   * Create a {@link ServerManager} instance.<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span>   * &lt;/p&gt;<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>   * &lt;p&gt;<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>   * Will be overridden in tests.<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span>   * &lt;/p&gt;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>   */<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>  @InterfaceAudience.Private<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>  protected ServerManager createServerManager(MasterServices master, RegionServerList storage)<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>    throws IOException {<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>    // We put this out here in a method so can do a Mockito.spy and stub it out<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span>    // w/ a mocked up ServerManager.<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>    setupClusterConnection();<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span>    return new ServerManager(master, storage);<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>  }<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span><a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>  private void waitForRegionServers(final MonitoredTask status)<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span>    throws IOException, InterruptedException {<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>    this.serverManager.waitForRegionServers(status);<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>  }<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span><a name="line.1516"></a>
+<span class="sourceLineNo">1517</span>  // Will be overridden in tests<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>  @InterfaceAudience.Private<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>  protected void initClusterSchemaService() throws IOException, InterruptedException {<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>    this.clusterSchemaService = new ClusterSchemaServiceImpl(this);<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span>    this.clusterSchemaService.startAsync();<a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>    try {<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>      this.clusterSchemaService<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>        .awaitRunning(getConfiguration().getInt(HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS,<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>          DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS), TimeUnit.SECONDS);<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>    } catch (TimeoutException toe) {<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>      throw new IOException("Timedout starting ClusterSchemaService", toe);<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>    }<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span>  }<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span><a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>  private void initQuotaManager() throws IOException {<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>    MasterQuotaManager quotaManager = new MasterQuotaManager(this);<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>    quotaManager.start();<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span>    this.quotaManager = quotaManager;<a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>  }<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span><a name="line.1536"></a>
+<span class="sourceLineNo">1537</span>  private SpaceQuotaSnapshotNotifier createQuotaSnapshotNotifier() {<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span>    SpaceQuotaSnapshotNotifier notifier =<a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>      SpaceQuotaSnapshotNotifierFactory.getInstance().create(getConfiguration());<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>    return notifier;<a name="line.1540"></a>
 <span class="sourceLineNo">1541</span>  }<a name="line.1541"></a>
 <span class="sourceLineNo">1542</span><a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>  boolean isCleanerChoreEnabled() {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>    boolean hfileCleanerFlag = true, logCleanerFlag = true;<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span><a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>    if (getHFileCleaner() != null) {<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>      hfileCleanerFlag = getHFileCleaner().getEnabled();<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>    }<a name="line.1548"></a>
+<span class="sourceLineNo">1543</span>  public boolean isCatalogJanitorEnabled() {<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>    return catalogJanitorChore != null ? catalogJanitorChore.getEnabled() : false;<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>  boolean isCleanerChoreEnabled() {<a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>    boolean hfileCleanerFlag = true, logCleanerFlag = true;<a name="line.1548"></a>
 <span class="sourceLineNo">1549</span><a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>    if (logCleaner != null) {<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>      logCleanerFlag = logCleaner.getEnabled();<a name="line.1551"></a>
+<span class="sourceLineNo">1550</span>    if (getHFileCleaner() != null) {<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>      hfileCleanerFlag = getHFileCleaner().getEnabled();<a name="line.1551"></a>
 <span class="sourceLineNo">1552</span>    }<a name="line.1552"></a>
 <span class="sourceLineNo">1553</span><a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>    return (hfileCleanerFlag &amp;&amp; logCleanerFlag);<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>  }<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span><a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>  @Override<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>  public ServerManager getServerManager() {<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>    return this.serverManager;<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>  }<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span><a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>  @Override<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>  public MasterFileSystem getMasterFileSystem() {<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>    return this.fileSystemManager;<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>  }<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span><a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>  @Override<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>  public MasterWalManager getMasterWalManager() {<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>    return this.walManager;<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>  }<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span><a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>  @Override<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>  public SplitWALManager getSplitWALManager() {<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>    return splitWALManager;<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>  }<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span><a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>  @Override<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>  public TableStateManager getTableStateManager() {<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>    return tableStateManager;<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>  }<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>   * Start up all services. If any of these threads gets an unhandled exception then they just die<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>   * with a logged message. This should be fine because in general, we do not expect the master to<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>   * get such unhandled exceptions as OOMEs; it should be lightly loaded. See what HRegionServer<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>   * does if need to install an unexpected exception handler.<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>   */<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>  private void startServiceThreads() throws IOException {<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>    // Start the executor service pools<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>    final int masterOpenRegionPoolSize = conf.getInt(HConstants.MASTER_OPEN_REGION_THREADS,<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>      HConstants.MASTER_OPEN_REGION_THREADS_DEFAULT);<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>    executorService.startExecutorService(executorService.new ExecutorConfig()<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      .setExecutorType(ExecutorType.MASTER_OPEN_REGION).setCorePoolSize(masterOpenRegionPoolSize));<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>    final int masterCloseRegionPoolSize = conf.getInt(HConstants.MASTER_CLOSE_REGION_THREADS,<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>      HConstants.MASTER_CLOSE_REGION_THREADS_DEFAULT);<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>    executorService.startExecutorService(<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>      executorService.new ExecutorConfig().setExecutorType(ExecutorType.MASTER_CLOSE_REGION)<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>        .setCorePoolSize(masterCloseRegionPoolSize));<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>    final int masterServerOpThreads = conf.getInt(HConstants.MASTER_SERVER_OPERATIONS_THREADS,<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>      HConstants.MASTER_SERVER_OPERATIONS_THREADS_DEFAULT);<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>    executorService.startExecutorService(<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>      executorService.new ExecutorConfig().setExecutorType(ExecutorType.MASTER_SERVER_OPERATIONS)<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>        .setCorePoolSize(masterServerOpThreads));<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>    final int masterServerMetaOpsThreads =<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>      conf.getInt(HConstants.MASTER_META_SERVER_OPERATIONS_THREADS,<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>        HConstants.MASTER_META_SERVER_OPERATIONS_THREADS_DEFAULT);<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    executorService.startExecutorService(executorService.new ExecutorConfig()<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>      .setExecutorType(ExecutorType.MASTER_META_SERVER_OPERATIONS)<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>      .setCorePoolSize(masterServerMetaOpsThreads));<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>    final int masterLogReplayThreads = conf.getInt(HConstants.MASTER_LOG_REPLAY_OPS_THREADS,<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>      HConstants.MASTER_LOG_REPLAY_OPS_THREADS_DEFAULT);<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>    executorService.startExecutorService(executorService.new ExecutorConfig()<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>      .setExecutorType(ExecutorType.M_LOG_REPLAY_OPS).setCorePoolSize(masterLogReplayThreads));<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>    final int masterSnapshotThreads = conf.getInt(SnapshotManager.SNAPSHOT_POOL_THREADS_KEY,<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>      SnapshotManager.SNAPSHOT_POOL_THREADS_DEFAULT);<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>    executorService.startExecutorService(<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>      executorService.new ExecutorConfig().setExecutorType(ExecutorType.MASTER_SNAPSHOT_OPERATIONS)<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>        .setCorePoolSize(masterSnapshotThreads).setAllowCoreThreadTimeout(true));<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>    final int masterMergeDispatchThreads = conf.getInt(HConstants.MASTER_MERGE_DISPATCH_THREADS,<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>      HConstants.MASTER_MERGE_DISPATCH_THREADS_DEFAULT);<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>    executorService.startExecutorService(<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>      executorService.new ExecutorConfig().setExecutorType(ExecutorType.MASTER_MERGE_OPERATIONS)<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>        .setCorePoolSize(masterMergeDispatchThreads).setAllowCoreThreadTimeout(true));<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span><a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>    // We depend on there being only one instance of this executor running<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>    // at a time. To do concurrency, would need fencing of enable/disable of<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>    // tables.<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span>    // Any time changing this maxThreads to &gt; 1, pls see the comment at<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>    // AccessController#postCompletedCreateTableAction<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>    executorService.startExecutorService(executorService.new ExecutorConfig()<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>      .setExecutorType(ExecutorType.MASTER_TABLE_OPERATIONS).setCorePoolSize(1));<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>    startProcedureExecutor();<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span><a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>    // Create log cleaner thread pool<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>    logCleanerPool = DirScanPool.getLogCleanerScanPool(conf);<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>    Map&lt;String, Object&gt; params = new HashMap&lt;&gt;();<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    params.put(MASTER, this);<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>    // Start log cleaner thread<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>    int cleanerInterval =<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>      conf.getInt(HBASE_MASTER_CLEANER_INTERVAL, DEFAULT_HBASE_MASTER_CLEANER_INTERVAL);<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>    this.logCleaner =<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>      new LogCleaner(cleanerInterval, this, conf, getMasterWalManager().getFileSystem(),<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>        getMasterWalManager().getOldLogDir(), logCleanerPool, params);<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>    getChoreService().scheduleChore(logCleaner);<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span><a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>    Path archiveDir = HFileArchiveUtil.getArchivePath(conf);<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span><a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>    // Create custom archive hfile cleaners<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>    String[] paths = conf.getStrings(HFileCleaner.HFILE_CLEANER_CUSTOM_PATHS);<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>    // todo: handle the overlap issues for the custom paths<a name="line.1650"></a>
+<span class="sourceLineNo">1554</span>    if (logCleaner != null) {<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>      logCleanerFlag = logCleaner.getEnabled();<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>    }<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span><a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>    return (hfileCleanerFlag &amp;&amp; logCleanerFlag);<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>  @Override<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>  public ServerManager getServerManager() {<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span>    return this.serverManager;<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span>  }<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span><a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>  @Override<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>  public MasterFileSystem getMasterFileSystem() {<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>    return this.fileSystemManager;<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>  }<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span><a name="line.1570"></a>
+<span class="sourceLineNo">1571</span>  @Override<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>  public MasterWalManager getMasterWalManager() {<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span>    return this.walManager;<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>  }<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span><a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>  @Override<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>  public SplitWALManager getSplitWALManager() {<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>    return splitWALManager;<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>  @Override<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>  public TableStateManager getTableStateManager() {<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>    return tableStateManager;<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>  }<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span><a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>  /*<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>   * Start up all services. If any of these threads gets an unhandled exception then they just die<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>   * with a logged message. This should be fine because in general, we do not expect the master to<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>   * get such unhandled exceptions as OOMEs; it should be lightly loaded. See what HRegionServer<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>   * does if need to install an unexpected exception handler.<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>   */<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>  private void startServiceThreads() throws IOException {<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>    // Start the executor service pools<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>    final int masterOpenRegionPoolSize = conf.getInt(HConstants.MASTER_OPEN_REGION_THREADS,<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>      HConstants.MASTER_OPEN_REGION_THREADS_DEFAULT);<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>    executorService.startExecutorService(executorService.new ExecutorConfig()<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>      .setExecutorType(ExecutorType.MASTER_OPEN_REGION).setCorePoolSize(masterOpenRegionPoolSize));<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>    final int masterCloseRegionPoolSize = conf.getInt(HConstants.MASTER_CLOSE_REGION_THREADS,<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>      HConstants.MASTER_CLOSE_REGION_THREADS_DEFAULT);<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>    executorService.startExecutorService(<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>      executorService.new ExecutorConfig().setExecutorType(ExecutorType.MASTER_CLOSE_REGION)<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>        .setCorePoolSize(masterCloseRegionPoolSize));<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>    final int masterServerOpThreads = conf.getInt(HConstants.MASTER_SERVER_OPERATIONS_THREADS,<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>      HConstants.MASTER_SERVER_OPERATIONS_THREADS_DEFAULT);<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>    executorService.startExecutorService(<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>      executorService.new ExecutorConfig().setExecutorType(ExecutorType.MASTER_SERVER_OPERATIONS)<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>        .setCorePoolSize(masterServerOpThreads));<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>    final int masterServerMetaOpsThreads =<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>      conf.getInt(HConstants.MASTER_META_SERVER_OPERATIONS_THREADS,<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>        HConstants.MASTER_META_SERVER_OPERATIONS_THREADS_DEFAULT);<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>    executorService.startExecutorService(executorService.new ExecutorConfig()<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>      .setExecutorType(ExecutorType.MASTER_META_SERVER_OPERATIONS)<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>      .setCorePoolSize(masterServerMetaOpsThreads));<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>    final int masterLogReplayThreads = conf.getInt(HConstants.MASTER_LOG_REPLAY_OPS_THREADS,<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>      HConstants.MASTER_LOG_REPLAY_OPS_THREADS_DEFAULT);<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>    executorService.startExecutorService(executorService.new ExecutorConfig()<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>      .setExecutorType(ExecutorType.M_LOG_REPLAY_OPS).setCorePoolSize(masterLogReplayThreads));<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>    final int masterSnapshotThreads = conf.getInt(SnapshotManager.SNAPSHOT_POOL_THREADS_KEY,<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>      SnapshotManager.SNAPSHOT_POOL_THREADS_DEFAULT);<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>    executorService.startExecutorService(<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>      executorService.new ExecutorConfig().setExecutorType(ExecutorType.MASTER_SNAPSHOT_OPERATIONS)<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span>        .setCorePoolSize(masterSnapshotThreads).setAllowCoreThreadTimeout(true));<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>    final int masterMergeDispatchThreads = conf.getInt(HConstants.MASTER_MERGE_DISPATCH_THREADS,<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>      HConstants.MASTER_MERGE_DISPATCH_THREADS_DEFAULT);<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span>    executorService.startExecutorService(<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>      executorService.new ExecutorConfig().setExecutorType(ExecutorType.MASTER_MERGE_OPERATIONS)<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>        .setCorePoolSize(masterMergeDispatchThreads).setAllowCoreThreadTimeout(true));<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span><a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>    // We depend on there being only one instance of this executor running<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>    // at a time. To do concurrency, would need fencing of enable/disable of<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>    // tables.<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>    // Any time changing this maxThreads to &gt; 1, pls see the comment at<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>    // AccessController#postCompletedCreateTableAction<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>    executorService.startExecutorService(executorService.new ExecutorConfig()<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>      .setExecutorType(ExecutorType.MASTER_TABLE_OPERATIONS).setCorePoolSize(1));<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>    startProcedureExecutor();<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span><a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>    // Create log cleaner thread pool<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>    logCleanerPool = DirScanPool.getLogCleanerScanPool(conf);<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>    Map&lt;String, Object&gt; params = new HashMap&lt;&gt;();<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>    params.put(MASTER, this);<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>    // Start log cleaner thread<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>    int cleanerInterval =<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>      conf.getInt(HBASE_MASTER_CLEANER_INTERVAL, DEFAULT_HBASE_MASTER_CLEANER_INTERVAL);<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>    this.logCleaner =<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>      new LogCleaner(cleanerInterval, this, conf, getMasterWalManager().getFileSystem(),<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>        getMasterWalManager().getOldLogDir(), logCleanerPool, params);<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>    getChoreService().scheduleChore(logCleaner);<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span><a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>    Path archiveDir = HFileArchiveUtil.getArchivePath(conf);<a name="line.1650"></a>
 <span class="sourceLineNo">1651</span><a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    if (paths != null &amp;&amp; paths.length &gt; 0) {<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>      if (conf.getStrings(HFileCleaner.HFILE_CLEANER_CUSTOM_PATHS_PLUGINS) == null) {<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>        Set&lt;String&gt; cleanerClasses = new HashSet&lt;&gt;();<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>        String[] cleaners = conf.getStrings(HFileCleaner.MASTER_HFILE_CLEANER_PLUGINS);<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>        if (cleaners != null) {<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>          Collections.addAll(cleanerClasses, cleaners);<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>        }<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>        conf.setStrings(HFileCleaner.HFILE_CLEANER_CUSTOM_PATHS_PLUGINS,<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>          cleanerClasses.toArray(new String[cleanerClasses.size()]));<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        LOG.info("Archive custom cleaner paths: {}, plugins: {}", Arrays.asList(paths),<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>          cleanerClasses);<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>      }<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>      // share the hfile cleaner pool in custom paths<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>      sharedHFileCleanerPool = DirScanPool.getHFileCleanerScanPool(conf.get(CUSTOM_POOL_SIZE, "6"));<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>      for (int i = 0; i &lt; paths.length; i++) {<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>        Path path = new Path(paths[i].trim());<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>        HFileCleaner cleaner =<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>          new HFileCleaner("ArchiveCustomHFileCleaner-" + path.getName(), cleanerInterval, this,<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>            conf, getMasterFileSystem().getFileSystem(), new Path(archiveDir, path),<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>            HFileCleaner.HFILE_CLEANER_CUSTOM_PATHS_PLUGINS, sharedHFileCleanerPool, params, null);<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>        hfileCleaners.add(cleaner);<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>        hfileCleanerPaths.add(path);<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>      }<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>    }<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span><a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>    // Create the whole archive dir cleaner thread pool<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>    exclusiveHFileCleanerPool = DirScanPool.getHFileCleanerScanPool(conf);<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>    hfileCleaners.add(0,<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>      new HFileCleaner(cleanerInterval, this, conf, getMasterFileSystem().getFileSystem(),<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>        archiveDir, exclusiveHFileCleanerPool, params, hfileCleanerPaths));<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>    hfileCleanerPaths.add(0, archiveDir);<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>    // Schedule all the hfile cleaners<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>    for (HFileCleaner hFileCleaner : hfileCleaners) {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>      getChoreService().scheduleChore(hFileCleaner);<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>    // Regions Reopen based on very high storeFileRefCount is considered enabled<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>    // only if hbase.regions.recovery.store.file.ref.count has value &gt; 0<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>    final int maxStoreFileRefCount = conf.getInt(HConstants.STORE_FILE_REF_COUNT_THRESHOLD,<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>      HConstants.DEFAULT_STORE_FILE_REF_COUNT_THRESHOLD);<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>    if (maxStoreFileRefCount &gt; 0) {<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>      this.regionsRecoveryChore = new RegionsRecoveryChore(this, conf, this);<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>      getChoreService().scheduleChore(this.regionsRecoveryChore);<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>    } else {<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>      LOG.info(<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>        "Reopening regions with very high storeFileRefCount is disabled. "<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>          + "Provide threshold value &gt; 0 for {} to enable it.",<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>        HConstants.STORE_FILE_REF_COUNT_THRESHOLD);<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>    this.regionsRecoveryConfigManager = new RegionsRecoveryConfigManager(this);<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span><a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>    replicationBarrierCleaner =<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>      new ReplicationBarrierCleaner(conf, this, getConnection(), replicationPeerManager);<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>    getChoreService().scheduleChore(replicationBarrierCleaner);<a name="line.1706"></a>
+<span class="sourceLineNo">1652</span>    // Create custom archive hfile cleaners<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>    String[] paths = conf.getStrings(HFileCleaner.HFILE_CLEANER_CUSTOM_PATHS);<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>    // todo: handle the overlap issues for the custom paths<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span><a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>    if (paths != null &amp;&amp; paths.length &gt; 0) {<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>      if (conf.getStrings(HFileCleaner.HFILE_CLEANER_CUSTOM_PATHS_PLUGINS) == null) {<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>        Set&lt;String&gt; cleanerClasses = new HashSet&lt;&gt;();<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>        String[] cleaners = conf.getStrings(HFileCleaner.MASTER_HFILE_CLEANER_PLUGINS);<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        if (cleaners != null) {<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>          Collections.addAll(cleanerClasses, cleaners);<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>        }<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>        conf.setStrings(HFileCleaner.HFILE_CLEANER_CUSTOM_PATHS_PLUGINS,<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span>          cleanerClasses.toArray(new String[cleanerClasses.size()]));<a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>        LOG.info("Archive custom cleaner paths: {}, plugins: {}", Arrays.asList(paths),<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>          cleanerClasses);<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>      }<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>      // share the hfile cleaner pool in custom paths<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>      sharedHFileCleanerPool = DirScanPool.getHFileCleanerScanPool(conf.get(CUSTOM_POOL_SIZE, "6"));<a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>      for (int i = 0; i &lt; paths.length; i++) {<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>        Path path = new Path(paths[i].trim());<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>        HFileCleaner cleaner =<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>          new HFileCleaner("ArchiveCustomHFileCleaner-" + path.getName(), cleanerInterval, this,<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>            conf, getMasterFileSystem().getFileSystem(), new Path(archiveDir, path),<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>            HFileCleaner.HFILE_CLEANER_CUSTOM_PATHS_PLUGINS, sharedHFileCleanerPool, params, null);<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>        hfileCleaners.add(cleaner);<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span>        hfileCleanerPaths.add(path);<a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>      }<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>    }<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span><a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>    // Create the whole archive dir cleaner thread pool<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span>    exclusiveHFileCleanerPool = DirScanPool.getHFileCleanerScanPool(conf);<a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>    hfileCleaners.add(0,<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>      new HFileCleaner(cleanerInterval, this, conf, getMasterFileSystem().getFileSystem(),<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>        archiveDir, exclusiveHFileCleanerPool, params, hfileCleanerPaths));<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span>    hfileCleanerPaths.add(0, archiveDir);<a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>    // Schedule all the hfile cleaners<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span>    for (HFileCleaner hFileCleaner : hfileCleaners) {<a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>      getChoreService().scheduleChore(hFileCleaner);<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>    }<a name="line.1690"></a>
+<span class="sourceLineNo">1691</span><a name="line.1691"></a>
+<span class="sourceLineNo">1692</span>    // Regions Reopen based on very high storeFileRefCount is considered enabled<a name="line.1692"></a>
+<span class="sourceLineNo">1693</span>    // only if hbase.regions.recovery.store.file.ref.count has value &gt; 0<a name="line.1693"></a>
+<span class="sourceLineNo">1694</span>    final int maxStoreFileRefCount = conf.getInt(HConstants.STORE_FILE_REF_COUNT_THRESHOLD,<a name="line.1694"></a>
+<span class="sourceLineNo">1695</span>      HConstants.DEFAULT_STORE_FILE_REF_COUNT_THRESHOLD);<a name="line.1695"></a>
+<span class="sourceLineNo">1696</span>    if (maxStoreFileRefCount &gt; 0) {<a name="line.1696"></a>
+<span class="sourceLineNo">1697</span>      this.regionsRecoveryChore = new RegionsRecoveryChore(this, conf, this);<a name="line.1697"></a>
+<span class="sourceLineNo">1698</span>      getChoreService().scheduleChore(this.regionsRecoveryChore);<a name="line.1698"></a>
+<span class="sourceLineNo">1699</span>    } else {<a name="line.1699"></a>
+<span class="sourceLineNo">1700</span>      LOG.info(<a name="line.1700"></a>
+<span class="sourceLineNo">1701</span>        "Reopening regions with very high storeFileRefCount is disabled. "<a name="line.1701"></a>
+<span class="sourceLineNo">1702</span>          + "Provide threshold value &gt; 0 for {} to enable it.",<a name="line.1702"></a>
+<span class="sourceLineNo">1703</span>        HConstants.STORE_FILE_REF_COUNT_THRESHOLD);<a name="line.1703"></a>
+<span class="sourceLineNo">1704</span>    }<a name="line.1704"></a>
+<span class="sourceLineNo">1705</span><a name="line.1705"></a>
+<span class="sourceLineNo">1706</span>    this.regionsRecoveryConfigManager = new RegionsRecoveryConfigManager(this);<a name="line.1706"></a>
 <span class="sourceLineNo">1707</span><a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>    final boolean isSnapshotChoreEnabled = this.snapshotCleanupStateStore.get();<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>    this.snapshotCleanerChore = new SnapshotCleanerChore(this, conf, getSnapshotManager());<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>    if (isSnapshotChoreEnabled) {<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>      getChoreService().scheduleChore(this.snapshotCleanerChore);<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span>    } else {<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>      if (LOG.isTraceEnabled()) {<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>        LOG.trace("Snapshot Cleaner Chore is disabled. Not starting up the chore..");<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>      }<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>    }<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>    serviceStarted = true;<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>    if (LOG.isTraceEnabled()) {<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>      LOG.trace("Started service threads");<a name="line.1719"></a>
+<span class="sourceLineNo">1708</span>    replicationBarrierCleaner =<a name="line.1708"></a>
+<span class="sourceLineNo">1709</span>      new ReplicationBarrierCleaner(conf, this, getConnection(), replicationPeerManager);<a name="line.1709"></a>
+<span class="sourceLineNo">1710</span>    getChoreService().scheduleChore(replicationBarrierCleaner);<a name="line.1710"></a>
+<span class="sourceLineNo">1711</span><a name="line.1711"></a>
+<span class="sourceLineNo">1712</span>    final boolean isSnapshotChoreEnabled = this.snapshotCleanupStateStore.get();<a name="line.1712"></a>
+<span class="sourceLineNo">1713</span>    this.snapshotCleanerChore = new SnapshotCleanerChore(this, conf, getSnapshotManager());<a name="line.1713"></a>
+<span class="sourceLineNo">1714</span>    if (isSnapshotChoreEnabled) {<a name="line.1714"></a>
+<span class="sourceLineNo">1715</span>      getChoreService().scheduleChore(this.snapshotCleanerChore);<a name="line.1715"></a>
+<span class="sourceLineNo">1716</span>    } else {<a name="line.1716"></a>
+<span class="sourceLineNo">1717</span>      if (LOG.isTraceEnabled()) {<a name="line.1717"></a>
+<span class="sourceLineNo">1718</span>        LOG.trace("Snapshot Cleaner Chore is disabled. Not starting up the chore..");<a name="line.1718"></a>
+<span class="sourceLineNo">1719</span>      }<a name="line.1719"></a>
 <span class="sourceLineNo">1720</span>    }<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>  }<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span><a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>  protected void stopServiceThreads() {<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span>    if (masterJettyServer != null) {<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>      LOG.info("Stopping master jetty server");<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>      try {<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>        masterJettyServer.stop();<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span>      } catch (Exception e) {<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>        LOG.error("Failed to stop master jetty server", e);<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>      }<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>    }<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>    stopChoreService();<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>    stopExecutorService();<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>    if (exclusiveHFileCleanerPool != null) {<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>      exclusiveHFileCleanerPool.shutdownNow();<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>      exclusiveHFileCleanerPool = null;<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>    }<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>    if (logCleanerPool != null) {<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>      logCleanerPool.shutdownNow();<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>      logCleanerPool = null;<a name="line.1740"></a>
+<span class="sourceLineNo">1721</span>    serviceStarted = true;<a name="line.1721"></a>
+<span class="sourceLineNo">1722</span>    if (LOG.isTraceEnabled()) {<a name="line.1722"></a>
+<span class="sourceLineNo">1723</span>      LOG.trace("Started service threads");<a name="line.1723"></a>
+<span class="sourceLineNo">1724</span>    }<a name="line.1724"></a>
+<span class="sourceLineNo">1725</span>  }<a name="line.1725"></a>
+<span class="sourceLineNo">1726</span><a name="line.1726"></a>
+<span class="sourceLineNo">1727</span>  protected void stopServiceThreads() {<a name="line.1727"></a>
+<span class="sourceLineNo">1728</span>    if (masterJettyServer != null) {<a name="line.1728"></a>
+<span class="sourceLineNo">1729</span>      LOG.info("Stopping master jetty server");<a name="line.1729"></a>
+<span class="sourceLineNo">1730</span>      try {<a name="line.1730"></a>
+<span class="sourceLineNo">1731</span>        masterJettyServer.stop();<a name="line.1731"></a>
+<span class="sourceLineNo">1732</span>      } catch (Exception e) {<a name="line.1732"></a>
+<span class="sourceLineNo">1733</span>        LOG.error("Failed to stop master jetty server", e);<a name="line.1733"></a>
+<span class="sourceLineNo">1734</span>      }<a name="line.1734"></a>
+<span class="sourceLineNo">1735</span>    }<a name="line.1735"></a>
+<span class="sourceLineNo">1736</span>    stopChoreService();<a name="line.1736"></a>
+<span class="sourceLineNo">1737</span>    stopExecutorService();<a name="line.1737"></a>
+<span class="sourceLineNo">1738</span>    if (exclusiveHFileCleanerPool != null) {<a name="line.1738"></a>
+<span class="sourceLineNo">1739</span>      exclusiveHFileCleanerPool.shutdownNow();<a name="line.1739"></a>
+<span class="sourceLineNo">1740</span>      exclusiveHFileCleanerPool = null;<a name="line.1740"></a>
 <span class="sourceLineNo">1741</span>    }<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>    if (sharedHFileCleanerPool != null) {<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span>      sharedHFileCleanerPool.shutdownNow();<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>      sharedHFileCleanerPool = null;<a name="line.1744"></a>
+<span class="sourceLineNo">1742</span>    if (logCleanerPool != null) {<a name="line.1742"></a>
+<span class="sourceLineNo">1743</span>      logCleanerPool.shutdownNow();<a name="line.1743"></a>
+<span class="sourceLineNo">1744</span>      logCleanerPool = null;<a name="line.1744"></a>
 <span class="sourceLineNo">1745</span>    }<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>    if (maintenanceRegionServer != null) {<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>      maintenanceRegionServer.getRegionServer().stop(HBASE_MASTER_CLEANER_INTERVAL);<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>    }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>    LOG.debug("Stopping service threads");<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>    // stop procedure executor prior to other services such as server manager and assignment<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>    // manager, as these services are important for some running procedures. See HBASE-24117 for<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span>    // example.<a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>    stopProcedureExecutor();<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span><a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>    if (regionNormalizerManager != null) {<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>      regionNormalizerManager.stop();<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>    }<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>    if (this.quotaManager != null) {<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span>      this.quotaManager.stop();<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>    if (this.activeMasterManager != null) {<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      this.activeMasterManager.stop();<a name="line.1764"></a>
+<span class="sourceLineNo">1746</span>    if (sharedHFileCleanerPool != null) {<a name="line.1746"></a>
+<span class="sourceLineNo">1747</span>      sharedHFileCleanerPool.shutdownNow();<a name="line.1747"></a>
+<span class="sourceLineNo">1748</span>      sharedHFileCleanerPool = null;<a name="line.1748"></a>
+<span class="sourceLineNo">1749</span>    }<a name="line.1749"></a>
+<span class="sourceLineNo">1750</span>    if (maintenanceRegionServer != null) {<a name="line.1750"></a>
+<span class="sourceLineNo">1751</span>      maintenanceRegionServer.getRegionServer().stop(HBASE_MASTER_CLEANER_INTERVAL);<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>    LOG.debug("Stopping service threads");<a name="line.1754"></a>
+<span class="sourceLineNo">1755</span>    // stop procedure executor prior to other services such as server manager and assignment<a name="line.1755"></a>
+<span class="sourceLineNo">1756</span>    // manager, as these services are important for some running procedures. See HBASE-24117 for<a name="line.1756"></a>
+<span class="sourceLineNo">1757</span>    // example.<a name="line.1757"></a>
+<span class="sourceLineNo">1758</span>    stopProcedureExecutor();<a name="line.1758"></a>
+<span class="sourceLineNo">1759</span><a name="line.1759"></a>
+<span class="sourceLineNo">1760</span>    if (regionNormalizerManager != null) {<a name="line.1760"></a>
+<span class="sourceLineNo">1761</span>      regionNormalizerManager.stop();<a name="line.1761"></a>
+<span class="sourceLineNo">1762</span>    }<a name="line.1762"></a>
+<span class="sourceLineNo">1763</span>    if (this.quotaManager != null) {<a name="line.1763"></a>
+<span class="sourceLineNo">1764</span>      this.quotaManager.stop();<a name="line.1764"></a>
 <span class="sourceLineNo">1765</span>    }<a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>    if (this.serverManager != null) {<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>      this.serverManager.stop();<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>    }<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>    if (this.assignmentManager != null) {<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>      this.assignmentManager.stop();<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>    }<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span><a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>    if (masterRegion != null) {<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>      masterRegion.close(isAborted());<a name="line.1774"></a>
+<span class="sourceLineNo">1766</span><a name="line.1766"></a>
+<span class="sourceLineNo">1767</span>    if (this.activeMasterManager != null) {<a name="line.1767"></a>
+<span class="sourceLineNo">1768</span>      this.activeMasterManager.stop();<a name="line.1768"></a>
+<span class="sourceLineNo">1769</span>    }<a name="line.1769"></a>
+<span class="sourceLineNo">1770</span>    if (this.serverManager != null) {<a name="line.1770"></a>
+<span class="sourceLineNo">1771</span>      this.serverManager.stop();<a name="line.1771"></a>
+<span class="sourceLineNo">1772</span>    }<a name="line.1772"></a>
+<span class="sourceLineNo">1773</span>    if (this.assignmentManager != null) {<a name="line.1773"></a>
+<span class="sourceLineNo">1774</span>      this.assignmentManager.stop();<a name="line.1774"></a>
 <span class="sourceLineNo">1775</span>    }<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    if (this.walManager != null) {<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span>      this.walManager.stop();<a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>    }<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>    if (this.fileSystemManager != null) {<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>      this.fileSystemManager.stop();<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>    }<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>    if (this.mpmHost != null) {<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>      this.mpmHost.stop("server shutting down.");<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>    }<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>    if (this.regionServerTracker != null) {<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>      this.regionServerTracker.stop();<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>    }<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>  }<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span><a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>  private void createProcedureExecutor() throws IOException {<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span>    MasterProcedureEnv procEnv = new MasterProcedureEnv(this);<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>    procedureStore = new RegionProcedureStore(this, masterRegion,<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>      new MasterProcedureEnv.FsUtilsLeaseRecovery(this));<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>    procedureStore.registerListener(new ProcedureStoreListener() {<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span><a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>      @Override<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>      public void abortProcess() {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>        abort("The Procedure Store lost the lease", null);<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>      }<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>    });<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span>    MasterProcedureScheduler procedureScheduler = procEnv.getProcedureScheduler();<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>    procedureExecutor = new ProcedureExecutor&lt;&gt;(conf, procEnv, procedureStore, procedureScheduler);<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>    configurationManager.registerObserver(procEnv);<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span><a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>    int cpus = Runtime.getRuntime().availableProcessors();<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>    final int numThreads = conf.getInt(MasterProcedureConstants.MASTER_PROCEDURE_THREADS, Math.max(<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>      (cpus &gt; 0 ? cpus / 4 : 0), MasterProcedureConstants.DEFAULT_MIN_MASTER_PROCEDURE_THREADS));<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>    final boolean abortOnCorruption =<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span>      conf.getBoolean(MasterProcedureConstants.EXECUTOR_ABORT_ON_CORRUPTION,<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>        MasterProcedureConstants.DEFAULT_EXECUTOR_ABORT_ON_CORRUPTION);<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>    procedureStore.start(numThreads);<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>    // Just initialize it but do not start the workers, we will start the workers later by calling<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>    // startProcedureExecutor. See the javadoc for finishActiveMasterInitialization for more<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>    // details.<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>    procedureExecutor.init(numThreads, abortOnCorruption);<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>    if (!procEnv.getRemoteDispatcher().start()) {<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>      throw new HBaseIOException("Failed start of remote dispatcher");<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>    }<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>  }<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span><a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>  // will be override in UT<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>  protected void startProcedureExecutor() throws IOException {<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span>    procedureExecutor.startWorkers();<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>  }<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span><a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>  /**<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span>   * Turn on/off Snapshot Cleanup Chore<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>   * @param on indicates whether Snapshot Cleanup Chore is to be run<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span>   */<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>  void switchSnapshotCleanup(final boolean on, final boolean synchronous) throws IOException {<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>    if (synchronous) {<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>      synchronized (this.snapshotCleanerChore) {<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>        switchSnapshotCleanup(on);<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>      }<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>    } else {<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>      switchSnapshotCleanup(on);<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>  private void switchSnapshotCleanup(final boolean on) throws IOException {<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>    snapshotCleanupStateStore.set(on);<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>    if (on) {<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>      getChoreService().scheduleChore(this.snapshotCleanerChore);<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>    } else {<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>      this.snapshotCleanerChore.cancel();<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>    }<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span>  }<a name="line.1847"></a>
-<span class="sourceLineNo">1848</span><a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>  private void stopProcedureExecutor() {<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>    if (procedureExecutor != null) {<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>      configurationManager.deregisterObserver(procedureExecutor.getEnvironment());<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>      procedureExecutor.getEnvironment().getRemoteDispatcher().stop();<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>      procedureExecutor.stop();<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>      procedureExecutor.join();<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>      procedureExecutor = null;<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>    if (procedureStore != null) {<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>      procedureStore.stop(isAborted());<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>      procedureStore = null;<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>    }<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>  }<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span><a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>  protected void stopChores() {<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    shutdownChore(mobFileCleanerChore);<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>    shutdownChore(mobFileCompactionChore);<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>    shutdownChore(balancerChore);<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>    if (regionNormalizerManager != null) {<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>      shutdownChore(regionNormalizerManager.getRegionNormalizerChore());<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>    }<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span>    shutdownChore(clusterStatusChore);<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>    shutdownChore(catalogJanitorChore);<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span>    shutdownChore(clusterStatusPublisherChore);<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>    shutdownChore(snapshotQuotaChore);<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>    shutdownChore(logCleaner);<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>    if (hfileCleaners != null) {<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>      for (ScheduledChore chore : hfileCleaners) {<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>        chore.shutdown();<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>      }<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>      hfileCleaners = null;<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>    }<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>    shutdownChore(replicationBarrierCleaner);<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>    shutdownChore(snapshotCleanerChore);<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>    shutdownChore(hbckChore);<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>    shutdownChore(regionsRecoveryChore);<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>    shutdownChore(rollingUpgradeChore);<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>  }<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span><a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>  /** Returns Get remote side's InetAddress */<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>  InetAddress getRemoteInetAddress(final int port, final long serverStartCode)<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>    throws UnknownHostException {<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span>    // Do it out here in its own little method so can fake an address when<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>    // mocking up in tests.<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>    InetAddress ia = RpcServer.getRemoteIp();<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span><a name="line.1895"></a>
-<span class="sourceLineNo">1896</span>    // The call could be from the local regionserver,<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span>    // in which case, there is no remote address.<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span>    if (ia == null &amp;&amp; serverStartCode == startcode) {<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>      InetSocketAddress isa = rpcServices.getSocketAddress();<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>      if (isa != null &amp;&amp; isa.getPort() == port) {<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>        ia = isa.getAddress();<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>      }<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>    }<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>    return ia;<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>  /** Returns Maximum time we should run balancer for */<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>  private int getMaxBalancingTime() {<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>    // if max balancing time isn't set, defaulting it to period time<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>    int maxBalancingTime =<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>      getConfiguration().getInt(HConstants.HBASE_BALANCER_MAX_BALANCING, getConfiguration()<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>        .getInt(HConstants.HBASE_BALANCER_PERIOD, HConstants.DEFAULT_HBASE_BALANCER_PERIOD));<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>    return maxBalancingTime;<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>  }<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span><a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>  /** Returns Maximum number of regions in transition */<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>  private int getMaxRegionsInTransition() {<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>    int numRegions = this.assignmentManager.getRegionStates().getRegionAssignments().size();<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>    return Math.max((int) Math.floor(numRegions * this.maxRitPercent), 1);<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>   * It first sleep to the next balance plan start time. Meanwhile, throttling by the max number<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span>   * regions in transition to protect availability.<a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>   * @param nextBalanceStartTime   The next balance plan start time<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>   * @param maxRegionsInTransition max number of regions in transition<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>   * @param cutoffTime             when to exit balancer<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>   */<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>  private void balanceThrottling(long nextBalanceStartTime, int maxRegionsInTransition,<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>    long cutoffTime) {<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>    boolean interrupted = false;<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span><a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>    // Sleep to next balance plan start time<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>    // But if there are zero regions in transition, it can skip sleep to speed up.<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>    while (<a name="line.1935"></a>
-<span class="sourceLineNo">1936</span>      !interrupted &amp;&amp; EnvironmentEdgeManager.currentTime() &lt; nextBalanceStartTime<a name="line.1936"></a>
-<span class="sourceLineNo">1937</span>        &amp;&amp; this.assignmentManager.getRegionStates().hasRegionsInTransition()<a name="line.1937"></a>
-<span class="sourceLineNo">1938</span>    ) {<a name="line.1938"></a>
-<span class="sourceLineNo">1939</span>      try {<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>        Thread.sleep(100);<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>      } catch (InterruptedException ie) {<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span>        interrupted = true;<a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>      }<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>    }<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span><a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>    // Throttling by max number regions in transition<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>    while (<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>      !interrupted &amp;&amp; maxRegionsInTransition &gt; 0<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>        &amp;&amp; this.assignmentManager.getRegionStates().getRegionsInTransitionCount()<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>            &gt;= maxRegionsInTransition<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>        &amp;&amp; EnvironmentEdgeManager.currentTime() &lt;= cutoffTime<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>    ) {<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>      try {<a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>        // sleep if the number of regions in transition exceeds the limit<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span>        Thread.sleep(100);<a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>      } catch (InterruptedException ie) {<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>        interrupted = true;<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>      }<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>    }<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span><a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>    if (interrupted) Thread.currentThread().interrupt();<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>  }<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span><a name="line.1963"></a>
-<span class="sourceLineNo">1964</span>  public BalanceResponse balance() throws IOException {<a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>    return balance(BalanceRequest.defaultInstance());<a name="line.1965"></a>
+<span class="sourceLineNo">1776</span><a name="line.1776"></a>
+<span class="sourceLineNo">1777</span>    if (masterRegion != null) {<a name="line.1777"></a>
+<span class="sourceLineNo">1778</span>      masterRegion.close(isAborted());<a name="line.1778"></a>
+<span class="sourceLineNo">1779</span>    }<a name="line.1779"></a>
+<span class="sourceLineNo">1780</span>    if (this.walManager != null) {<a name="line.1780"></a>
+<span class="sourceLineNo">1781</span>      this.walManager.stop();<a name="line.1781"></a>
+<span class="sourceLineNo">1782</span>    }<a name="line.1782"></a>
+<span class="sourceLineNo">1783</span>    if (this.fileSystemManager != null) {<a name="line.1783"></a>
+<span class="sourceLineNo">1784</span>      this.fileSystemManager.stop();<a name="line.1784"></a>
+<span class="sourceLineNo">1785</span>    }<a name="line.1785"></a>
+<span class="sourceLineNo">1786</span>    if (this.mpmHost != null) {<a name="line.1786"></a>
+<span class="sourceLineNo">1787</span>      this.mpmHost.stop("server shutting down.");<a name="line.1787"></a>
+<span class="sourceLineNo">1788</span>    }<a name="line.1788"></a>
+<span class="sourceLineNo">1789</span>    if (this.regionServerTracker != null) {<a name="line.1789"></a>
+<span class="sourceLineNo">1790</span>      this.regionServerTracker.stop();<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>  private void createProcedureExecutor() throws IOException {<a name="line.1794"></a>
+<span class="sourceLineNo">1795</span>    MasterProcedureEnv procEnv = new MasterProcedureEnv(this);<a name="line.1795"></a>
+<span class="sourceLineNo">1796</span>    procedureStore = new RegionProcedureStore(this, masterRegion,<a name="line.1796"></a>
+<span class="sourceLineNo">1797</span>      new MasterProcedureEnv.FsUtilsLeaseRecovery(this));<a name="line.1797"></a>
+<span class="sourceLineNo">1798</span>    procedureStore.registerListener(new ProcedureStoreListener() {<a name="line.1798"></a>
+<span class="sourceLineNo">1799</span><a name="line.1799"></a>
+<span class="sourceLineNo">1800</span>      @Override<a name="line.1800"></a>
+<span class="sourceLineNo">1801</span>      public void abortProcess() {<a name="line.1801"></a>
+<span class="sourceLineNo">1802</span>        abort("The Procedure Store lost the lease", null);<a name="line.1802"></a>
+<span class="sourceLineNo">1803</span>      }<a name="line.1803"></a>
+<span class="sourceLineNo">1804</span>    });<a name="line.1804"></a>
+<span class="sourceLineNo">1805</span>    MasterProcedureScheduler procedureScheduler = procEnv.getProcedureScheduler();<a name="line.1805"></a>
+<span class="sourceLineNo">1806</span>    procedureExecutor = new ProcedureExecutor&lt;&gt;(conf, procEnv, procedureStore, procedureScheduler);<a name="line.1806"></a>
+<span class="sourceLineNo">1807</span>    configurationManager.registerObserver(procEnv);<a name="line.1807"></a>
+<span class="sourceLineNo">1808</span><a name="line.1808"></a>
+<span class="sourceLineNo">1809</span>    int cpus = Runtime.getRuntime().availableProcessors();<a name="line.1809"></a>
+<span class="sourceLineNo">1810</span>    final int numThreads = conf.getInt(MasterProcedureConstants.MASTER_PROCEDURE_THREADS, Math.max(<a name="line.1810"></a>
+<span class="sourceLineNo">1811</span>      (cpus &gt; 0 ? cpus / 4 : 0), MasterProcedureConstants.DEFAULT_MIN_MASTER_PROCEDURE_THREADS));<a name="line.1811"></a>
+<span class="sourceLineNo">1812</span>    final boolean abortOnCorruption =<a name="line.1812"></a>
+<span class="sourceLineNo">1813</span>      conf.getBoolean(MasterProcedureConstants.EXECUTOR_ABORT_ON_CORRUPTION,<a name="line.1813"></a>
+<span class="sourceLineNo">1814</span>        MasterProcedureConstants.DEFAULT_EXECUTOR_ABORT_ON_CORRUPTION);<a name="line.1814"></a>
+<span class="sourceLineNo">1815</span>    procedureStore.start(numThreads);<a name="line.1815"></a>
+<span class="sourceLineNo">1816</span>    // Just initialize it but do not start the workers, we will start the workers later by calling<a name="line.1816"></a>
+<span class="sourceLineNo">1817</span>    // startProcedureExecutor. See the javadoc for finishActiveMasterInitialization for more<a name="line.1817"></a>
+<span class="sourceLineNo">1818</span>    // details.<a name="line.1818"></a>
+<span class="sourceLineNo">1819</span>    procedureExecutor.init(numThreads, abortOnCorruption);<a name="line.1819"></a>
+<span class="sourceLineNo">1820</span>    if (!procEnv.getRemoteDispatcher().start()) {<a name="line.1820"></a>
+<span class="sourceLineNo">1821</span>      throw new HBaseIOException("Failed start of remote dispatcher");<a name="line.1821"></a>
+<span class="sourceLineNo">1822</span>    }<a name="line.1822"></a>
+<span class="sourceLineNo">1823</span>  }<a name="line.1823"></a>
+<span class="sourceLineNo">1824</span><a name="line.1824"></a>
+<span class="sourceLineNo">1825</span>  // will be override in UT<a name="line.1825"></a>
+<span class="sourceLineNo">1826</span>  protected void startProcedureExecutor() throws IOException {<a name="line.1826"></a>
+<span class="sourceLineNo">1827</span>    procedureExecutor.startWorkers();<a name="line.1827"></a>
+<span class="sourceLineNo">1828</span>  }<a name="line.1828"></a>
+<span class="sourceLineNo">1829</span><a name="line.1829"></a>
+<span class="sourceLineNo">1830</span>  /**<a name="line.1830"></a>
+<span class="sourceLineNo">1831</span>   * Turn on/off Snapshot Cleanup Chore<a name="line.1831"></a>
+<span class="sourceLineNo">1832</span>   * @param on indicates whether Snapshot Cleanup Chore is to be run<a name="line.1832"></a>
+<span class="sourceLineNo">1833</span>   */<a name="line.1833"></a>
+<span class="sourceLineNo">1834</span>  void switchSnapshotCleanup(final boolean on, final boolean synchronous) throws IOException {<a name="line.1834"></a>
+<span class="sourceLineNo">1835</span>    if (synchronous) {<a name="line.1835"></a>
+<span class="sourceLineNo">1836</span>      synchronized (this.snapshotCleanerChore) {<a name="line.1836"></a>
+<span class="sourceLineNo">1837</span>        switchSnapshotCleanup(on);<a name="line.1837"></a>
+<span class="sourceLineNo">1838</span>      }<a name="line.1838"></a>
+<span class="sourceLineNo">1839</span>    } else {<a name="line.1839"></a>
+<span class="sourceLineNo">1840</span>      switchSnapshotCleanup(on);<a name="line.1840"></a>
+<span class="sourceLineNo">1841</span>    }<a name="line.1841"></a>
+<span class="sourceLineNo">1842</span>  }<a name="line.1842"></a>
+<span class="sourceLineNo">1843</span><a name="line.1843"></a>
+<span class="sourceLineNo">1844</span>  private void switchSnapshotCleanup(final boolean on) throws IOException {<a name="line.1844"></a>
+<span class="sourceLineNo">1845</span>    snapshotCleanupStateStore.set(on);<a name="line.1845"></a>
+<span class="sourceLineNo">1846</span>    if (on) {<a name="line.1846"></a>
+<span class="sourceLineNo">1847</span>      getChoreService().scheduleChore(this.snapshotCleanerChore);<a name="line.1847"></a>
+<span class="sourceLineNo">1848</span>    } else {<a name="line.1848"></a>
+<span class="sourceLineNo">1849</span>      this.snapshotCleanerChore.cancel();<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><a name="line.1852"></a>
+<span class="sourceLineNo">1853</span>  private void stopProcedureExecutor() {<a name="line.1853"></a>
+<span class="sourceLineNo">1854</span>    if (procedureExecutor != null) {<a name="line.1854"></a>
+<span class="sourceLineNo">1855</span>      configurationManager.deregisterObserver(procedureExecutor.getEnvironment());<a name="line.1855"></a>
+<span class="sourceLineNo">1856</span>      procedureExecutor.getEnvironment().getRemoteDispatcher().stop();<a name="line.1856"></a>
+<span class="sourceLineNo">1857</span>      procedureExecutor.stop();<a name="line.1857"></a>
+<span class="sourceLineNo">1858</span>      procedureExecutor.join();<a name="line.1858"></a>
+<span class="sourceLineNo">1859</span>      procedureExecutor = null;<a name="line.1859"></a>
+<span class="sourceLineNo">1860</span>    }<a name="line.1860"></a>
+<span class="sourceLineNo">1861</span><a name="line.1861"></a>
+<span class="sourceLineNo">1862</span>    if (procedureStore != null) {<a name="line.1862"></a>
+<span class="sourceLineNo">1863</span>      procedureStore.stop(isAborted());<a name="line.1863"></a>
+<span class="sourceLineNo">1864</span>      procedureStore = null;<a name="line.1864"></a>
+<span class="sourceLineNo">1865</span>    }<a name="line.1865"></a>
+<span class="sourceLineNo">1866</span>  }<a name="line.1866"></a>
+<span class="sourceLineNo">1867</span><a name="line.1867"></a>
+<span class="sourceLineNo">1868</span>  protected void stopChores() {<a name="line.1868"></a>
+<span class="sourceLineNo">1869</span>    shutdownChore(mobFileCleanerChore);<a name="line.1869"></a>
+<span class="sourceLineNo">1870</span>    shutdownChore(mobFileCompactionChore);<a name="line.1870"></a>
+<span class="sourceLineNo">1871</span>    shutdownChore(balancerChore);<a name="line.1871"></a>
+<span class="sourceLineNo">1872</span>    if (regionNormalizerManager != null) {<a name="line.1872"></a>
+<span class="sourceLineNo">1873</span>      shutdownChore(regionNormalizerManager.getRegionNormalizerChore());<a name="line.1873"></a>
+<span class="sourceLineNo">1874</span>    }<a name="line.1874"></a>
+<span class="sourceLineNo">1875</span>    shutdownChore(clusterStatusChore);<a name="line.1875"></a>
+<span class="sourceLineNo">1876</span>    shutdownChore(catalogJanitorChore);<a name="line.1876"></a>
+<span class="sourceLineNo">1877</span>    shutdownChore(clusterStatusPublisherChore);<a name="line.1877"></a>
+<span class="sourceLineNo">1878</span>    shutdownChore(snapshotQuotaChore);<a name="line.1878"></a>
+<span class="sourceLineNo">1879</span>    shutdownChore(logCleaner);<a name="line.1879"></a>
+<span class="sourceLineNo">1880</span>    if (hfileCleaners != null) {<a name="line.1880"></a>
+<span class="sourceLineNo">1881</span>      for (ScheduledChore chore : hfileCleaners) {<a name="line.1881"></a>
+<span class="sourceLineNo">1882</span>        chore.shutdown();<a name="line.1882"></a>
+<span class="sourceLineNo">1883</span>      }<a name="line.1883"></a>
+<span class="sourceLineNo">1884</span>      hfileCleaners = null;<a name="line.1884"></a>
+<span class="sourceLineNo">1885</span>    }<a name="line.1885"></a>
+<span class="sourceLineNo">1886</span>    shutdownChore(replicationBarrierCleaner);<a name="line.1886"></a>
+<span class="sourceLineNo">1887</span>    shutdownChore(snapshotCleanerChore);<a name="line.1887"></a>
+<span class="sourceLineNo">1888</span>    shutdownChore(hbckChore);<a name="line.1888"></a>
+<span class="sourceLineNo">1889</span>    shutdownChore(regionsRecoveryChore);<a name="line.1889"></a>
+<span class="sourceLineNo">1890</span>    shutdownChore(rollingUpgradeChore);<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>  /** Returns Get remote side's InetAddress */<a name="line.1893"></a>
+<span class="sourceLineNo">1894</span>  InetAddress getRemoteInetAddress(final int port, final long serverStartCode)<a name="line.1894"></a>
+<span class="sourceLineNo">1895</span>    throws UnknownHostException {<a name="line.1895"></a>
+<span class="sourceLineNo">1896</span>    // Do it out here in its own little method so can fake an address when<a name="line.1896"></a>
+<span class="sourceLineNo">1897</span>    // mocking up in tests.<a name="line.1897"></a>
+<span class="sourceLineNo">1898</span>    InetAddress ia = RpcServer.getRemoteIp();<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span><a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>    // The call could be from the local regionserver,<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>    // in which case, there is no remote address.<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span>    if (ia == null &amp;&amp; serverStartCode == startcode) {<a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>      InetSocketAddress isa = rpcServices.getSocketAddress();<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>      if (isa != null &amp;&amp; isa.getPort() == port) {<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>        ia = isa.getAddress();<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>      }<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span>    }<a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>    return ia;<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>  }<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span><a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>  /** Returns Maximum time we should run balancer for */<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>  private int getMaxBalancingTime() {<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>    // if max balancing time isn't set, defaulting it to period time<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>    int maxBalancingTime =<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span>      getConfiguration().getInt(HConstants.HBASE_BALANCER_MAX_BALANCING, getConfiguration()<a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>        .getInt(HConstants.HBASE_BALANCER_PERIOD, HConstants.DEFAULT_HBASE_BALANCER_PERIOD));<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>    return maxBalancingTime;<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>  }<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span><a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>  /** Returns Maximum number of regions in transition */<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>  private int getMaxRegionsInTransition() {<a name="line.1921"></a>
+<span class="sourceLineNo">1922</span>    int numRegions = this.assignmentManager.getRegionStates().getRegionAssignments().size();<a name="line.1922"></a>
+<span class="sourceLineNo">1923</span>    return Math.max((int) Math.floor(numRegions * this.maxRitPercent), 1);<a name="line.1923"></a>
+<span class="sourceLineNo">1924</span>  }<a name="line.1924"></a>
+<span class="sourceLineNo">1925</span><a name="line.1925"></a>
+<span class="sourceLineNo">1926</span>  /**<a name="line.1926"></a>
+<span class="sourceLineNo">1927</span>   * It first sleep to the next balance plan start time. Meanwhile, throttling by the max number<a name="line.1927"></a>
+<span class="sourceLineNo">1928</span>   * regions in transition to protect availability.<a name="line.1928"></a>
+<span class="sourceLineNo">1929</span>   * @param nextBalanceStartTime   The next balance plan start time<a name="line.1929"></a>
+<span class="sourceLineNo">1930</span>   * @param maxRegionsInTransition max number of regions in transition<a name="line.1930"></a>
+<span class="sourceLineNo">1931</span>   * @param cutoffTime             when to exit balancer<a name="line.1931"></a>
+<span class="sourceLineNo">1932</span>   */<a name="line.1932"></a>
+<span class="sourceLineNo">1933</span>  private void balanceThrottling(long nextBalanceStartTime, int maxRegionsInTransition,<a name="line.1933"></a>
+<span class="sourceLineNo">1934</span>    long cutoffTime) {<a name="line.1934"></a>
+<span class="sourceLineNo">1935</span>    boolean interrupted = false;<a name="line.1935"></a>
+<span class="sourceLineNo">1936</span><a name="line.1936"></a>
+<span class="sourceLineNo">1937</span>    // Sleep to next balance plan start time<a name="line.1937"></a>
+<span class="sourceLineNo">1938</span>    // But if there are zero regions in transition, it can skip sleep to speed up.<a name="line.1938"></a>
+<span class="sourceLineNo">1939</span>    while (<a name="line.1939"></a>
+<span class="sourceLineNo">1940</span>      !interrupted &amp;&amp; EnvironmentEdgeManager.currentTime() &lt; nextBalanceStartTime<a name="line.1940"></a>
+<span class="sourceLineNo">1941</span>        &amp;&amp; this.assignmentManager.getRegionStates().hasRegionsInTransition()<a name="line.1941"></a>
+<span class="sourceLineNo">1942</span>    ) {<a name="line.1942"></a>
+<span class="sourceLineNo">1943</span>      try {<a name="line.1943"></a>
+<span class="sourceLineNo">1944</span>        Thread.sleep(100);<a name="line.1944"></a>
+<span class="sourceLineNo">1945</span>      } catch (InterruptedException ie) {<a name="line.1945"></a>
+<span class="sourceLineNo">1946</span>        interrupted = true;<a name="line.1946"></a>
+<span class="sourceLineNo">1947</span>      }<a name="line.1947"></a>
+<span class="sourceLineNo">1948</span>    }<a name="line.1948"></a>
+<span class="sourceLineNo">1949</span><a name="line.1949"></a>
+<span class="sourceLineNo">1950</span>    // Throttling by max number regions in transition<a name="line.1950"></a>
+<span class="sourceLineNo">1951</span>    while (<a name="line.1951"></a>
+<span class="sourceLineNo">1952</span>      !interrupted &amp;&amp; maxRegionsInTransition &gt; 0<a name="line.1952"></a>
+<span class="sourceLineNo">1953</span>        &amp;&amp; this.assignmentManager.getRegionStates().getRegionsInTransitionCount()<a name="line.1953"></a>
+<span class="sourceLineNo">1954</span>            &gt;= maxRegionsInTransition<a name="line.1954"></a>
+<span class="sourceLineNo">1955</span>        &amp;&amp; EnvironmentEdgeManager.currentTime() &lt;= cutoffTime<a name="line.1955"></a>
+<span class="sourceLineNo">1956</span>    ) {<a name="line.1956"></a>
+<span class="sourceLineNo">1957</span>      try {<a name="line.1957"></a>
+<span class="sourceLineNo">1958</span>        // sleep if the number of regions in transition exceeds the limit<a name="line.1958"></a>
+<span class="sourceLineNo">1959</span>        Thread.sleep(100);<a name="line.1959"></a>
+<span class="sourceLineNo">1960</span>      } catch (InterruptedException ie) {<a name="line.1960"></a>
+<span class="sourceLineNo">1961</span>        interrupted = true;<a name="line.1961"></a>
+<span class="sourceLineNo">1962</span>      }<a name="line.1962"></a>
+<span class="sourceLineNo">1963</span>    }<a name="line.1963"></a>
+<span class="sourceLineNo">1964</span><a name="line.1964"></a>
+<span class="sourceLineNo">1965</span>    if (interrupted) Thread.currentThread().interrupt();<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>  /**<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>   * Trigger a normal balance, see {@link HMaster#balance()} . If the balance is not executed this<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>   * time, the metrics related to the balance will be updated. When balance is running, related<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>   * metrics will be updated at the same time. But if some checking logic failed and cause the<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>   * balancer exit early, we lost the chance to update balancer metrics. This will lead to user<a name="line.1972"></a>
-<span class="sourceLineNo">1973</span>   * missing the latest balancer info.<a name="line.1973"></a>
-<span class="sourceLineNo">1974</span>   */<a name="line.1974"></a>
-<span class="sourceLineNo">1975</span>  public BalanceResponse balanceOrUpdateMetrics() throws IOException {<a name="line.1975"></a>
-<span class="sourceLineNo">1976</span>    synchronized (this.balancer) {<a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>      BalanceResponse response = balance();<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>      if (!response.isBalancerRan()) {<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span>        Map&lt;TableName, Map&lt;ServerName, List&lt;RegionInfo&gt;&gt;&gt; assignments =<a name="line.1979"></a>
-<span class="sourceLineNo">1980</span>          this.assignmentManager.getRegionStates().getAssignmentsForBalancer(this.tableStateManager,<a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>            this.serverManager.getOnlineServersList());<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>        for (Map&lt;ServerName, List&lt;RegionInfo&gt;&gt; serverMap : assignments.values()) {<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>          serverMap.keySet().removeAll(this.serverManager.getDrainingServersList());<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span>        }<a name="line.1984"></a>
-<span class="sourceLineNo">1985</span>        this.balancer.updateBalancerLoadInfo(assignments);<a name="line.1985"></a>
-<span class="sourceLineNo">1986</span>      }<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span>      return response;<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>    }<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>  }<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span><a name="line.1990"></a>
-<span class="sourceLineNo">1991</span>  /**<a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>   * Checks master state before initiating action over region topology.<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>   * @param action the name of the action under consideration, for logging.<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>   * @return {@code true} when the caller should exit early, {@code false} otherwise.<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>   */<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>  @Override<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>  public boolean skipRegionManagementAction(final String action) {<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span>    // Note: this method could be `default` on MasterServices if but for logging.<a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>    if (!isInitialized()) {<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>      LOG.debug("Master has not been initialized, don't run {}.", action);<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>      return true;<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>    }<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>    if (this.getServerManager().isClusterShutdown()) {<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>      LOG.info("Cluster is shutting down, don't run {}.", action);<a name="line.2004"></a>
+<span class="sourceLineNo">1968</span>  public BalanceResponse balance() throws IOException {<a name="line.1968"></a>
+<span class="sourceLineNo">1969</span>    return balance(BalanceRequest.defaultInstance());<a name="line.1969"></a>
+<span class="sourceLineNo">1970</span>  }<a name="line.1970"></a>
+<span class="sourceLineNo">1971</span><a name="line.1971"></a>
+<span class="sourceLineNo">1972</span>  /**<a name="line.1972"></a>
+<span class="sourceLineNo">1973</span>   * Trigger a normal balance, see {@link HMaster#balance()} . If the balance is not executed this<a name="line.1973"></a>
+<span class="sourceLineNo">1974</span>   * time, the metrics related to the balance will be updated. When balance is running, related<a name="line.1974"></a>
+<span class="sourceLineNo">1975</span>   * metrics will be updated at the same time. But if some checking logic failed and cause the<a name="line.1975"></a>
+<span class="sourceLineNo">1976</span>   * balancer exit early, we lost the chance to update balancer metrics. This will lead to user<a name="line.1976"></a>
+<span class="sourceLineNo">1977</span>   * missing the latest balancer info.<a name="line.1977"></a>
+<span class="sourceLineNo">1978</span>   */<a name="line.1978"></a>
+<span class="sourceLineNo">1979</span>  public BalanceResponse balanceOrUpdateMetrics() throws IOException {<a name="line.1979"></a>
+<span class="sourceLineNo">1980</span>    synchronized (this.balancer) {<a name="line.1980"></a>
+<span class="sourceLineNo">1981</span>      BalanceResponse response = balance();<a name="line.1981"></a>
+<span class="sourceLineNo">1982</span>      if (!response.isBalancerRan()) {<a name="line.1982"></a>
+<span class="sourceLineNo">1983</span>        Map&lt;TableName, Map&lt;ServerName, List&lt;RegionInfo&gt;&gt;&gt; assignments =<a name="line.1983"></a>
+<span class="sourceLineNo">1984</span>          this.assignmentManager.getRegionStates().getAssignmentsForBalancer(this.tableStateManager,<a name="line.1984"></a>
+<span class="sourceLineNo">1985</span>            this.serverManager.getOnlineServersList());<a name="line.1985"></a>
+<span class="sourceLineNo">1986</span>        for (Map&lt;ServerName, List&lt;RegionInfo&gt;&gt; serverMap : assignments.values()) {<a name="line.1986"></a>
+<span class="sourceLineNo">1987</span>          serverMap.keySet().removeAll(this.serverManager.getDrainingServersList());<a name="line.1987"></a>
+<span class="sourceLineNo">1988</span>        }<a name="line.1988"></a>
+<span class="sourceLineNo">1989</span>        this.balancer.updateBalancerLoadInfo(assignments);<a name="line.1989"></a>
+<span class="sourceLineNo">1990</span>      }<a name="line.1990"></a>
+<span class="sourceLineNo">1991</span>      return response;<a name="line.1991"></a>
+<span class="sourceLineNo">1992</span>    }<a name="line.1992"></a>
+<span class="sourceLineNo">1993</span>  }<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>   * Checks master state before initiating action over region topology.<a name="line.1996"></a>
+<span class="sourceLineNo">1997</span>   * @param action the name of the action under consideration, for logging.<a name="line.1997"></a>
+<span class="sourceLineNo">1998</span>   * @return {@code true} when the caller should exit early, {@code false} otherwise.<a name="line.1998"></a>
+<span class="sourceLineNo">1999</span>   */<a name="line.1999"></a>
+<span class="sourceLineNo">2000</span>  @Override<a name="line.2000"></a>
+<span class="sourceLineNo">2001</span>  public boolean skipRegionManagementAction(final String action) {<a name="line.2001"></a>
+<span class="sourceLineNo">2002</span>    // Note: this method could be `default` on MasterServices if but for logging.<a name="line.2002"></a>
+<span class="sourceLineNo">2003</span>    if (!isInitialized()) {<a name="line.2003"></a>
+<span class="sourceLineNo">2004</span>      LOG.debug("Master has not been initialized, don't run {}.", action);<a name="line.2004"></a>
 <span class="sourceLineNo">2005</span>      return true;<a name="line.2005"></a>
 <span class="sourceLineNo">2006</span>    }<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>    if (isInMaintenanceMode()) {<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>      LOG.info("Master is in maintenance mode, don't run {}.", action);<a name="line.2008"></a>
+<span class="sourceLineNo">2007</span>    if (this.getServerManager().isClusterShutdown()) {<a name="line.2007"></a>
+<span class="sourceLineNo">2008</span>      LOG.info("Cluster is shutting down, don't run {}.", action);<a name="line.2008"></a>
 <span class="sourceLineNo">2009</span>      return true;<a name="line.2009"></a>
 <span class="sourceLineNo">2010</span>    }<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>    return false;<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>  }<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span><a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>  public BalanceResponse balance(BalanceRequest request) throws IOException {<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>    checkInitialized();<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span><a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>    BalanceResponse.Builder responseBuilder = BalanceResponse.newBuilder();<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span><a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>    if (loadBalancerStateStore == null || !(loadBalancerStateStore.get() || request.isDryRun())) {<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>      return responseBuilder.build();<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>    }<a name="line.2021"></a>
+<span class="sourceLineNo">2011</span>    if (isInMaintenanceMode()) {<a name="line.2011"></a>
+<span class="sourceLineNo">2012</span>      LOG.info("Master is in maintenance mode, don't run {}.", action);<a name="line.2012"></a>
+<span class="sourceLineNo">2013</span>      return true;<a name="line.2013"></a>
+<span class="sourceLineNo">2014</span>    }<a name="line.2014"></a>
+<span class="sourceLineNo">2015</span>    return false;<a name="line.2015"></a>
+<span class="sourceLineNo">2016</span>  }<a name="line.2016"></a>
+<span class="sourceLineNo">2017</span><a name="line.2017"></a>
+<span class="sourceLineNo">2018</span>  public BalanceResponse balance(BalanceRequest request) throws IOException {<a name="line.2018"></a>
+<span class="sourceLineNo">2019</span>    checkInitialized();<a name="line.2019"></a>
+<span class="sourceLineNo">2020</span><a name="line.2020"></a>
+<span class="sourceLineNo">2021</span>    BalanceResponse.Builder responseBuilder = BalanceResponse.newBuilder();<a name="line.2021"></a>
 <span class="sourceLineNo">2022</span><a name="line.2022"></a>
-<span class="sourceLineNo">2023</span>    if (skipRegionManagementAction("balancer")) {<a name="line.2023"></a>
+<span class="sourceLineNo">2023</span>    if (loadBalancerStateStore == null || !(loadBalancerStateStore.get() || request.isDryRun())) {<a name="line.2023"></a>
 <span class="sourceLineNo">2024</span>      return responseBuilder.build();<a name="line.2024"></a>
 <span class="sourceLineNo">2025</span>    }<a name="line.2025"></a>
 <span class="sourceLineNo">2026</span><a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>    synchronized (this.balancer) {<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>      // Only allow one balance run at at time.<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>      if (this.assignmentManager.hasRegionsInTransition()) {<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>        List&lt;RegionStateNode&gt; regionsInTransition = assignmentManager.getRegionsInTransition();<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span>        // if hbase:meta region is in transition, result of assignment cannot be recorded<a name="line.2031"></a>
... 22495 lines suppressed ...