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 2018/11/05 14:53:00 UTC

[01/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 08c6e0f2b -> 74ea8168c


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/class-use/TestTransitPeerSyncReplicationStateProcedureRetry.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/class-use/TestTransitPeerSyncReplicationStateProcedureRetry.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/class-use/TestTransitPeerSyncReplicationStateProcedureRetry.html
new file mode 100644
index 0000000..d7ca557
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/class-use/TestTransitPeerSyncReplicationStateProcedureRetry.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.replication.TestTransitPeerSyncReplicationStateProcedureRetry (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.master.replication.TestTransitPeerSyncReplicationStateProcedureRetry (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/TestTransitPeerSyncReplicationStateProcedureRetry.html" target="_top">Frames</a></li>
+<li><a href="TestTransitPeerSyncReplicationStateProcedureRetry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.replication.TestTransitPeerSyncReplicationStateProcedureRetry" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.replication.TestTransitPeerSyncReplicationStateProcedureRetry</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.master.replication.TestTransitPeerSyncReplicationStateProcedureRetry</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/TestTransitPeerSyncReplicationStateProcedureRetry.html" target="_top">Frames</a></li>
+<li><a href="TestTransitPeerSyncReplicationStateProcedureRetry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
index 9896b3b..3578a25 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
@@ -15,8 +15,10 @@
 <ul title="Classes">
 <li><a href="TestModifyPeerProcedureRetryBackoff.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestModifyPeerProcedureRetryBackoff</a></li>
 <li><a href="TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure</a></li>
+<li><a href="TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestSyncReplicationReplayWALManager</a></li>
 <li><a href="TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestTransitPeerSyncReplicationStateProcedureBackoff</a></li>
 <li><a href="TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure</a></li>
+<li><a href="TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestTransitPeerSyncReplicationStateProcedureRetry</a></li>
 </ul>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
index a47b4e0..eb197ed 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
@@ -91,13 +91,21 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureBackoff</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureBackoff</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureRetry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
index d3f86ce..02f6014 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
@@ -107,7 +107,13 @@
 </li>
 </ul>
 </li>
+<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">SyncReplicationTestBase</span></a>
+<ul>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestTransitPeerSyncReplicationStateProcedureRetry</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestModifyPeerProcedureRetryBackoff</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestSyncReplicationReplayWALManager</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestTransitPeerSyncReplicationStateProcedureBackoff</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
index 4be0feb..8f14a96 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -579,15 +579,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ResourceChecker.Phase.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ResourceChecker.Phase</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.Service.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.Service</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.CommandProvider.Operation.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HBaseClusterManager.CommandProvider.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.ACTION.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestDDLMasterFailover.ACTION</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterManager.ServiceType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.ACTION.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestDDLMasterFailover.ACTION</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.CommandProvider.Operation.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HBaseClusterManager.CommandProvider.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.Service.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.Service</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ResourceChecker.Phase.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ResourceChecker.Phase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
index 28973e0..a1c9b1d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
@@ -81,14 +81,14 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.Procedure&lt;TEnvironment&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;)
+<li type="circle">org.apache.hadoop.hbase.procedure.Procedure (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;, org.apache.hadoop.hbase.errorhandling.ForeignExceptionListener)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedureDescriber.TestProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedureDescriber.TestProcedure</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedure.LatchedProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedure.LatchedProcedure</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.hbase.procedure.Procedure (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;, org.apache.hadoop.hbase.errorhandling.ForeignExceptionListener)
+<li type="circle">org.apache.hadoop.hbase.procedure2.Procedure&lt;TEnvironment&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;)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedure.LatchedProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedure.LatchedProcedure</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedureDescriber.TestProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedureDescriber.TestProcedure</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.procedure.ProcedureManager

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 019a8d5..4288668 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -233,10 +233,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery.TestStateMachineProcedure.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureBypass.StuckStateMachineState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureBypass.StuckStateMachineState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestYieldProcedures.TestStateMachineProcedure.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureBypass.StuckStateMachineState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureBypass.StuckStateMachineState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery.TestStateMachineProcedure.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 9cccdf7..955c3f1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -701,11 +701,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.Metric.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.ActionType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestMultiLogThreshold.ActionType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html b/testdevapidocs/org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html
index d583047..135ea87 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/TestDrainReplicationQueuesForStandBy.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestDrainReplicationQueuesForStandBy</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationActive.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationActive</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationMoreLogsInLocalCopyToRemote.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationMoreLogsInLocalCopyToRemote</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationMoreLogsInLocalGiveUpSplitting.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationMoreLogsInLocalGiveUpSplitting</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationRemoveRemoteWAL.html" title="class in org.apache.hadoop.hbase.replicatio
 n">TestSyncReplicationRemoveRemoteWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/TestSyncReplicationShipperQuit.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestSyncReplicationShipperQuit</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationStandBy.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationStandBy</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillMaster.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationStandbyKillMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillRS.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationStandbyKillRS</a></dd>
+<dd><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/TestDrainReplicationQueuesForStandBy.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestDrainReplicationQueuesForStandBy</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationActive.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationActive</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationMoreLogsInLocalCopyToRemote.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationMoreLogsInLocalCopyToRemote</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationMoreLogsInLocalGiveUpSplitting.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationMoreLogsInLocalGiveUpSplitting</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationRemoveRemoteWAL.html" title="class in org.apache.hadoop.hbase.replicatio
 n">TestSyncReplicationRemoveRemoteWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/TestSyncReplicationShipperQuit.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestSyncReplicationShipperQuit</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationStandBy.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationStandBy</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillMaster.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationStandbyKillMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillRS.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationStandbyKillRS</a>, <a href="../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replic
 ation">TestTransitPeerSyncReplicationStateProcedureRetry</a></dd>
 </dl>
 <hr>
 <br>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/replication/class-use/SyncReplicationTestBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/replication/class-use/SyncReplicationTestBase.html b/testdevapidocs/org/apache/hadoop/hbase/replication/class-use/SyncReplicationTestBase.html
index 49cd7cb..7a2be62 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/replication/class-use/SyncReplicationTestBase.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/replication/class-use/SyncReplicationTestBase.html
@@ -83,10 +83,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication">org.apache.hadoop.hbase.replication</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication">org.apache.hadoop.hbase.replication</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -95,6 +99,24 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html" title="class in org.apache.hadoop.hbase.replication">SyncReplicationTestBase</a> in <a href="../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html" title="class in org.apache.hadoop.hbase.replication">SyncReplicationTestBase</a> in <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>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureRetry</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.replication">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/replication/package-use.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/replication/package-use.html b/testdevapidocs/org/apache/hadoop/hbase/replication/package-use.html
index 1287bde..2095ae6 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/replication/package-use.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/replication/package-use.html
@@ -87,14 +87,18 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication">org.apache.hadoop.hbase.replication</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.multiwal">org.apache.hadoop.hbase.replication.multiwal</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication">org.apache.hadoop.hbase.replication</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.multiwal">org.apache.hadoop.hbase.replication.multiwal</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -118,6 +122,23 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
+<!--   -->
+</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/package-summary.html">org.apache.hadoop.hbase.replication</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>
+<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/class-use/SyncReplicationTestBase.html#org.apache.hadoop.hbase.master.replication">SyncReplicationTestBase</a>
+<div class="block">Base class for testing sync replication.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.replication">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
index def2a33..3c4b4a9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -253,10 +253,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index b21ae88..9e0700e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index 603bc98..1c54619 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -2328,6 +2328,7 @@
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/TestSyncReplicationStandBy.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">TestSyncReplicationStandBy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillMaster.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">TestSyncReplicationStandbyKillMaster</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/TestSyncReplicationStandbyKillRS.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">TestSyncReplicationStandbyKillRS</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestTransitPeerSyncReplicationStateProcedureRetry</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.backup.impl.TableBackupClient
@@ -3797,6 +3798,7 @@
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestSuperUserQuotaPermissions.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestSuperUserQuotaPermissions</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestSwitchToStreamRead.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestSwitchToStreamRead</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestSyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">TestSyncFuture</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestSyncReplicationReplayWALManager</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/TestSyncReplicationWALProvider.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestSyncReplicationWALProvider</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/TestSyncReplicationWALProvider.InfoProvider.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestSyncReplicationWALProvider.InfoProvider</span></a> (implements org.apache.hadoop.hbase.replication.regionserver.SyncReplicationPeerInfoProvider)</li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestSyncTable.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestSyncTable</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html
new file mode 100644
index 0000000..91ffe3f
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master.replication;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.junit.Assert.assertEquals;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.assertSame;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.junit.Assert.fail;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import static org.mockito.ArgumentMatchers.any;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import static org.mockito.Mockito.doAnswer;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import static org.mockito.Mockito.mock;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import static org.mockito.Mockito.when;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.io.IOException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.ArrayDeque;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.ArrayList;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.HashSet;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Iterator;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.List;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Queue;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.Set;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.function.Function;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.fs.Path;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.ServerMetrics;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.ServerName;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.MasterFileSystem;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.master.ServerListener;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.master.ServerManager;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.procedure2.ProcedureEvent;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.junit.Before;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.junit.ClassRule;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.junit.Test;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.junit.experimental.categories.Category;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.mockito.invocation.InvocationOnMock;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.mockito.stubbing.Answer;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>@Category({ MasterTests.class, SmallTests.class })<a name="line.64"></a>
+<span class="sourceLineNo">065</span>public class TestSyncReplicationReplayWALManager {<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>  @ClassRule<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    HBaseClassTestRule.forClass(TestSyncReplicationReplayWALManager.class);<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private static HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private SyncReplicationReplayWALManager manager;<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  private MasterProcedureScheduler scheduler;<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  private Set&lt;ServerName&gt; onlineServers;<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private List&lt;ServerListener&gt; listeners;<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  private Queue&lt;Procedure&lt;?&gt;&gt; wokenProcedures;<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  @Before<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public void setUp() throws IOException, ReplicationException {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    wokenProcedures = new ArrayDeque&lt;&gt;();<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    onlineServers = new HashSet&lt;&gt;();<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    listeners = new ArrayList&lt;&gt;();<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    ServerManager serverManager = mock(ServerManager.class);<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    doAnswer(inv -&gt; listeners.add(inv.getArgument(0))).when(serverManager)<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      .registerListener(any(ServerListener.class));<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    ServerMetrics serverMetrics = mock(ServerMetrics.class);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    doAnswer(inv -&gt; onlineServers.stream()<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      .collect(Collectors.toMap(Function.identity(), k -&gt; serverMetrics))).when(serverManager)<a name="line.93"></a>
+<span class="sourceLineNo">094</span>        .getOnlineServers();<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span>    MasterFileSystem mfs = mock(MasterFileSystem.class);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    when(mfs.getFileSystem()).thenReturn(UTIL.getTestFileSystem());<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    when(mfs.getWALRootDir()).thenReturn(new Path("/"));<a name="line.98"></a>
+<span class="sourceLineNo">099</span><a name="line.99"></a>
+<span class="sourceLineNo">100</span>    scheduler = mock(MasterProcedureScheduler.class);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    doAnswer(new Answer&lt;Void&gt;() {<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>      @Override<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      public Void answer(InvocationOnMock invocation) throws Throwable {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        ProcedureEvent&lt;?&gt; event = ((ProcedureEvent&lt;?&gt;[]) invocation.getArgument(0))[0];<a name="line.105"></a>
+<span class="sourceLineNo">106</span>        event.wakeInternal(new MasterProcedureScheduler(pid -&gt; null) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>          @Override<a name="line.108"></a>
+<span class="sourceLineNo">109</span>          public void addFront(Iterator&lt;Procedure&gt; procedureIterator) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>            procedureIterator.forEachRemaining(wokenProcedures::add);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>          }<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        });<a name="line.112"></a>
+<span class="sourceLineNo">113</span>        return null;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    }).when(scheduler).wakeEvents(any(ProcedureEvent[].class));<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    MasterProcedureEnv env = mock(MasterProcedureEnv.class);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    when(env.getProcedureScheduler()).thenReturn(scheduler);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    ProcedureExecutor&lt;MasterProcedureEnv&gt; procExec = mock(ProcedureExecutor.class);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    when(procExec.getEnvironment()).thenReturn(env);<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>    MasterServices services = mock(MasterServices.class);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    when(services.getServerManager()).thenReturn(serverManager);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    when(services.getMasterFileSystem()).thenReturn(mfs);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    when(services.getMasterProcedureExecutor()).thenReturn(procExec);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    manager = new SyncReplicationReplayWALManager(services);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    assertEquals(1, listeners.size());<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>  @Test<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  public void testUsedWorkers() throws ProcedureSuspendedException {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    String peerId1 = "1";<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    String peerId2 = "2";<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    ServerName sn1 = ServerName.valueOf("host1", 123, 12345);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    ServerName sn2 = ServerName.valueOf("host2", 234, 23456);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    ServerName sn3 = ServerName.valueOf("host3", 345, 34567);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    onlineServers.add(sn1);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    manager.registerPeer(peerId1);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    manager.registerPeer(peerId2);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    // confirm that different peer ids does not affect each other<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    assertEquals(sn1, manager.acquirePeerWorker(peerId1, new NoopProcedure&lt;&gt;()));<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    assertEquals(sn1, manager.acquirePeerWorker(peerId2, new NoopProcedure&lt;&gt;()));<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    onlineServers.add(sn2);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    assertEquals(sn2, manager.acquirePeerWorker(peerId1, new NoopProcedure&lt;&gt;()));<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    assertEquals(sn2, manager.acquirePeerWorker(peerId2, new NoopProcedure&lt;&gt;()));<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    NoopProcedure&lt;?&gt; proc = new NoopProcedure&lt;&gt;();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    try {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      manager.acquirePeerWorker(peerId1, proc);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      fail("Should suspend");<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    } catch (ProcedureSuspendedException e) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      // expected<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    manager.releasePeerWorker(peerId1, sn1, scheduler);<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    assertEquals(1, wokenProcedures.size());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    assertSame(proc, wokenProcedures.poll());<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    assertEquals(sn1, manager.acquirePeerWorker(peerId1, new NoopProcedure&lt;&gt;()));<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span>    NoopProcedure&lt;?&gt; proc1 = new NoopProcedure&lt;&gt;();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    NoopProcedure&lt;?&gt; proc2 = new NoopProcedure&lt;&gt;();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    try {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      manager.acquirePeerWorker(peerId1, proc1);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      fail("Should suspend");<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    } catch (ProcedureSuspendedException e) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      // expected<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    }<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    try {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      manager.acquirePeerWorker(peerId1, proc2);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      fail("Should suspend");<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    } catch (ProcedureSuspendedException e) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      // expected<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
+<span class="sourceLineNo">173</span><a name="line.173"></a>
+<span class="sourceLineNo">174</span>    listeners.get(0).serverAdded(sn3);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    assertEquals(2, wokenProcedures.size());<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    assertSame(proc2, wokenProcedures.poll());<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    assertSame(proc1, wokenProcedures.poll());<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>}<a name="line.179"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html
new file mode 100644
index 0000000..3f26e9b
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master.replication;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.UncheckedIOException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureTestingUtility;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.replication.SyncReplicationState;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.replication.SyncReplicationTestBase;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.junit.BeforeClass;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.junit.ClassRule;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.junit.Test;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.experimental.categories.Category;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>@Category({ MasterTests.class, LargeTests.class })<a name="line.39"></a>
+<span class="sourceLineNo">040</span>public class TestTransitPeerSyncReplicationStateProcedureRetry extends SyncReplicationTestBase {<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>  @ClassRule<a name="line.42"></a>
+<span class="sourceLineNo">043</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    HBaseClassTestRule.forClass(TestTransitPeerSyncReplicationStateProcedureRetry.class);<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>  @BeforeClass<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  public static void setUp() throws Exception {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    UTIL2.getConfiguration().setInt(MasterProcedureConstants.MASTER_PROCEDURE_THREADS, 1);<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    SyncReplicationTestBase.setUp();<a name="line.49"></a>
+<span class="sourceLineNo">050</span>  }<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  @Test<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  public void testRecoveryAndDoubleExecution() throws Exception {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.54"></a>
+<span class="sourceLineNo">055</span>      SyncReplicationState.STANDBY);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      SyncReplicationState.ACTIVE);<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>    UTIL1.getAdmin().disableReplicationPeer(PEER_ID);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    write(UTIL1, 0, 100);<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    Thread.sleep(2000);<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    // peer is disabled so no data have been replicated<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    verifyNotReplicatedThroughRegion(UTIL2, 0, 100);<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>    // transit the A to DA first to avoid too many error logs.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    HMaster master = UTIL2.getHBaseCluster().getMaster();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    ProcedureExecutor&lt;MasterProcedureEnv&gt; procExec = master.getMasterProcedureExecutor();<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    // Enable test flags and then queue the procedure.<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    ProcedureTestingUtility.waitNoProcedureRunning(procExec);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, true);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    Thread t = new Thread() {<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>      @Override<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      public void run() {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>        try {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>          UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.78"></a>
+<span class="sourceLineNo">079</span>            SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>        } catch (IOException e) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>          throw new UncheckedIOException(e);<a name="line.81"></a>
+<span class="sourceLineNo">082</span>        }<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      }<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    };<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    t.start();<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    UTIL2.waitFor(30000, () -&gt; procExec.getProcedures().stream()<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      .anyMatch(p -&gt; p instanceof TransitPeerSyncReplicationStateProcedure &amp;&amp; !p.isFinished()));<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    long procId = procExec.getProcedures().stream()<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      .filter(p -&gt; p instanceof TransitPeerSyncReplicationStateProcedure &amp;&amp; !p.isFinished())<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      .mapToLong(Procedure::getProcId).min().getAsLong();<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    MasterProcedureTestingUtility.testRecoveryAndDoubleExecution(procExec, procId);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, false);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span>}<a name="line.94"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>


[06/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html b/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html
index eab1ed4..5e4059f 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html
@@ -375,19 +375,10 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ZKSyncReplicationReplayWALWorkerStorage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#addPeer-java.lang.String-">addPeer</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 class="rowColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#addPeer-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-boolean-">addPeer</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,
        boolean&nbsp;enabled)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ZKSyncReplicationReplayWALWorkerStorage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#addPeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">addPeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">UpdatePeerConfigProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html#addToList-java.util.List-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationQueueStorage-">addToList</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="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;encodedRegionNames,
@@ -406,71 +397,55 @@
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#checkQueuesDeleted-java.lang.String-">checkQueuesDeleted</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 class="altColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#checkReplayingWALDir--">checkReplayingWALDir</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>static <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"><span class="typeNameLabel">ReplicationPeerManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#create-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.conf.Configuration-">create</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zk,
       org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#disablePeer-java.lang.String-">disablePeer</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 class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#enablePeer-java.lang.String-">enablePeer</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 class="rowColor">
-<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"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#getPeerWorker-java.lang.String-">getPeerWorker</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 class="altColor">
-<td class="colFirst"><code><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"><span class="typeNameLabel">ZKSyncReplicationReplayWALWorkerStorage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#getPeerWorkers-java.lang.String-">getPeerWorkers</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 class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">AddPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html#postPeerModification-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">postPeerModification</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">UpdatePeerConfigProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html#postPeerModification-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">postPeerModification</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected abstract void</code></td>
 <td class="colLast"><span class="typeNameLabel">ModifyPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#postPeerModification-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">postPeerModification</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Called before we finish the procedure.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">RemovePeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html#postPeerModification-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">postPeerModification</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><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 class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">AddPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html#prePeerModification-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">prePeerModification</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected abstract void</code></td>
 <td class="colLast"><span class="typeNameLabel">ModifyPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#prePeerModification-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">prePeerModification</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Called before we start the actual processing.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#registerPeer-java.lang.String-">registerPeer</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 class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><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>
@@ -492,57 +467,39 @@
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><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 class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ZKSyncReplicationReplayWALWorkerStorage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.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 class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">removePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ZKSyncReplicationReplayWALWorkerStorage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">removePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">ModifyPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#setLastPushedSequenceId-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">setLastPushedSequenceId</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                        <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 class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">ModifyPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#setLastPushedSequenceIdForTable-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.TableName-java.util.Map-">setLastPushedSequenceIdForTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;lastSeqIds)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">TransitPeerSyncReplicationStateProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html#setPeerNewSyncReplicationState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setPeerNewSyncReplicationState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><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 class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><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 class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">TransitPeerSyncReplicationStateProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html#transitPeerSyncReplicationState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">transitPeerSyncReplicationState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationPeerManager.</span><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 class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#unregisterPeer-java.lang.String-">unregisterPeer</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 class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">AddPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html#updateLastPushedSequenceIdForSerialPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">updateLastPushedSequenceIdForSerialPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/replication/class-use/ZKReplicationStorageBase.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/class-use/ZKReplicationStorageBase.html b/devapidocs/org/apache/hadoop/hbase/replication/class-use/ZKReplicationStorageBase.html
index d6669cc..771e924 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/class-use/ZKReplicationStorageBase.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/class-use/ZKReplicationStorageBase.html
@@ -83,10 +83,6 @@
 </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="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.replication">org.apache.hadoop.hbase.replication</a></td>
 <td class="colLast">
 <div class="block">Multi Cluster Replication</div>
@@ -97,24 +93,6 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationStorageBase</a> in <a href="../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationStorageBase</a> in <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>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></span></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.replication">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html b/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
index f8e4b11..3c7146a 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
@@ -160,8 +160,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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>
+<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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/replication/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/package-use.html b/devapidocs/org/apache/hadoop/hbase/replication/package-use.html
index ce5e24c..98a0513 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/package-use.html
@@ -366,12 +366,6 @@
 <div class="block">Used by synchronous replication.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/replication/class-use/ZKReplicationStorageBase.html#org.apache.hadoop.hbase.master.replication">ZKReplicationStorageBase</a>
-<div class="block">This is a base class for maintaining replication related data,for example, peer, queue, etc, in
- zookeeper.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
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 8051208..eec8680 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -142,9 +142,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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.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/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/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/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index dfa02b5..13f949c 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -191,9 +191,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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/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/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>
+<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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index 2853d09..2cef8bd 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -199,9 +199,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" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index 87bad0c..81a74fb 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -540,14 +540,14 @@
 <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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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/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/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/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/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.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/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/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index bcb1724..c6caa9b 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -191,8 +191,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" title="class or interface in java.io">Serializable</a>)
 <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/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/zookeeper/class-use/ZKWatcher.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/zookeeper/class-use/ZKWatcher.html b/devapidocs/org/apache/hadoop/hbase/zookeeper/class-use/ZKWatcher.html
index d54e33b..f4ba195 100644
--- a/devapidocs/org/apache/hadoop/hbase/zookeeper/class-use/ZKWatcher.html
+++ b/devapidocs/org/apache/hadoop/hbase/zookeeper/class-use/ZKWatcher.html
@@ -406,18 +406,6 @@
 </tr>
 </tbody>
 </table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#ZKSyncReplicationReplayWALWorkerStorage-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.conf.Configuration-">ZKSyncReplicationReplayWALWorkerStorage</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zookeeper,
-                                       org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
 </li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.master.zksyncer">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index 73247f8..a218a46 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -3706,6 +3706,7 @@
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerInfoProviderImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">SyncReplicationPeerInfoProviderImpl</span></a> (implements org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerInfoProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerInfoProvider</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerMappingManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">SyncReplicationPeerMappingManager</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALManager</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/SyncReplicationWALProvider.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">SyncReplicationWALProvider</span></a> (implements org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/PeerActionListener.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerActionListener</a>, org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/SyncReplicationWALProvider.DefaultSyncReplicationPeerInfoProvider.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">SyncReplicationWALProvider.DefaultSyncReplicationPeerInfoProvider</span></a> (implements org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerInfoProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerInfoProvider</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.CellScanner.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.CellScanner</span></a></li>
@@ -4307,7 +4308,6 @@
 <ul>
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ZKReplicationPeerStorage</span></a> (implements org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationPeerStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeerStorage</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ZKReplicationQueueStorage</span></a> (implements org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">ZKSyncReplicationReplayWALWorkerStorage</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ZKServerTool.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">ZKServerTool</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index 5c9f5c8..d8bf7b7 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -18,9 +18,9 @@
 <span class="sourceLineNo">010</span>  public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
 <span class="sourceLineNo">011</span>  public static final String revision = "";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Sun Nov  4 14:44:04 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Mon Nov  5 14:44:12 UTC 2018";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://jenkins-websites1.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "50afa79a69e7ac681d96a3d83c2ad3a3";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "e5eeae6af42369499135652feacb35e4";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
index f2c756e..e5156b6 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
@@ -28,134 +28,141 @@
 <span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.util.Arrays;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.fs.Path;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.procedure2.ProcedureYieldException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.slf4j.Logger;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.slf4j.LoggerFactory;<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyStateData;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>@InterfaceAudience.Private<a name="line.37"></a>
-<span class="sourceLineNo">038</span>public class RecoverStandbyProcedure extends AbstractPeerNoLockProcedure&lt;RecoverStandbyState&gt; {<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>  private static final Logger LOG = LoggerFactory.getLogger(RecoverStandbyProcedure.class);<a name="line.40"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.fs.Path;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.procedure2.ProcedureYieldException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.slf4j.Logger;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.slf4j.LoggerFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyStateData;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * The procedure for replaying all the remote wals for transitting a sync replication peer from<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * STANDBY to DOWNGRADE_ACTIVE.<a name="line.37"></a>
+<span class="sourceLineNo">038</span> */<a name="line.38"></a>
+<span class="sourceLineNo">039</span>@InterfaceAudience.Private<a name="line.39"></a>
+<span class="sourceLineNo">040</span>public class RecoverStandbyProcedure extends AbstractPeerNoLockProcedure&lt;RecoverStandbyState&gt; {<a name="line.40"></a>
 <span class="sourceLineNo">041</span><a name="line.41"></a>
-<span class="sourceLineNo">042</span>  private boolean serial;<a name="line.42"></a>
+<span class="sourceLineNo">042</span>  private static final Logger LOG = LoggerFactory.getLogger(RecoverStandbyProcedure.class);<a name="line.42"></a>
 <span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public RecoverStandbyProcedure() {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>  }<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public RecoverStandbyProcedure(String peerId, boolean serial) {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    super(peerId);<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    this.serial = serial;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  }<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>  @Override<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  protected Flow executeFromState(MasterProcedureEnv env, RecoverStandbyState state)<a name="line.53"></a>
-<span class="sourceLineNo">054</span>      throws ProcedureSuspendedException, ProcedureYieldException, InterruptedException {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    SyncReplicationReplayWALManager syncReplicationReplayWALManager =<a name="line.55"></a>
-<span class="sourceLineNo">056</span>        env.getMasterServices().getSyncReplicationReplayWALManager();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    switch (state) {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      case RENAME_SYNC_REPLICATION_WALS_DIR:<a name="line.58"></a>
-<span class="sourceLineNo">059</span>        try {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>          syncReplicationReplayWALManager.renameToPeerReplayWALDir(peerId);<a name="line.60"></a>
-<span class="sourceLineNo">061</span>        } catch (IOException e) {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>          LOG.warn("Failed to rename remote wal dir for peer id={}", peerId, e);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>          setFailure("master-recover-standby", e);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>          return Flow.NO_MORE_STATE;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>        }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>        setNextState(RecoverStandbyState.REGISTER_PEER_TO_WORKER_STORAGE);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>        return Flow.HAS_MORE_STATE;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      case REGISTER_PEER_TO_WORKER_STORAGE:<a name="line.68"></a>
-<span class="sourceLineNo">069</span>        try {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>          syncReplicationReplayWALManager.registerPeer(peerId);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>        } catch (ReplicationException e) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>          LOG.warn("Failed to register peer to worker storage for peer id={}, retry", peerId, e);<a name="line.72"></a>
-<span class="sourceLineNo">073</span>          throw new ProcedureYieldException();<a name="line.73"></a>
-<span class="sourceLineNo">074</span>        }<a name="line.74"></a>
-<span class="sourceLineNo">075</span>        setNextState(RecoverStandbyState.DISPATCH_WALS);<a name="line.75"></a>
-<span class="sourceLineNo">076</span>        return Flow.HAS_MORE_STATE;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      case DISPATCH_WALS:<a name="line.77"></a>
-<span class="sourceLineNo">078</span>        dispathWals(syncReplicationReplayWALManager);<a name="line.78"></a>
-<span class="sourceLineNo">079</span>        setNextState(RecoverStandbyState.UNREGISTER_PEER_FROM_WORKER_STORAGE);<a name="line.79"></a>
-<span class="sourceLineNo">080</span>        return Flow.HAS_MORE_STATE;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      case UNREGISTER_PEER_FROM_WORKER_STORAGE:<a name="line.81"></a>
-<span class="sourceLineNo">082</span>        try {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>          syncReplicationReplayWALManager.unregisterPeer(peerId);<a name="line.83"></a>
-<span class="sourceLineNo">084</span>        } catch (ReplicationException e) {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>          LOG.warn("Failed to unregister peer from worker storage for peer id={}, retry", peerId,<a name="line.85"></a>
-<span class="sourceLineNo">086</span>              e);<a name="line.86"></a>
+<span class="sourceLineNo">044</span>  private boolean serial;<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>  public RecoverStandbyProcedure() {<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  }<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public RecoverStandbyProcedure(String peerId, boolean serial) {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    super(peerId);<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    this.serial = serial;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  @Override<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  protected Flow executeFromState(MasterProcedureEnv env, RecoverStandbyState state)<a name="line.55"></a>
+<span class="sourceLineNo">056</span>      throws ProcedureSuspendedException, ProcedureYieldException, InterruptedException {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    SyncReplicationReplayWALManager syncReplicationReplayWALManager =<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      env.getMasterServices().getSyncReplicationReplayWALManager();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    switch (state) {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      case RENAME_SYNC_REPLICATION_WALS_DIR:<a name="line.60"></a>
+<span class="sourceLineNo">061</span>        try {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>          syncReplicationReplayWALManager.renameToPeerReplayWALDir(peerId);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>        } catch (IOException e) {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>          LOG.warn("Failed to rename remote wal dir for peer id={}", peerId, e);<a name="line.64"></a>
+<span class="sourceLineNo">065</span>          setFailure("master-recover-standby", e);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>          return Flow.NO_MORE_STATE;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        }<a name="line.67"></a>
+<span class="sourceLineNo">068</span>        setNextState(RecoverStandbyState.REGISTER_PEER_TO_WORKER_STORAGE);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>        return Flow.HAS_MORE_STATE;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      case REGISTER_PEER_TO_WORKER_STORAGE:<a name="line.70"></a>
+<span class="sourceLineNo">071</span>        syncReplicationReplayWALManager.registerPeer(peerId);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>        setNextState(RecoverStandbyState.DISPATCH_WALS);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        return Flow.HAS_MORE_STATE;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      case DISPATCH_WALS:<a name="line.74"></a>
+<span class="sourceLineNo">075</span>        dispathWals(syncReplicationReplayWALManager);<a name="line.75"></a>
+<span class="sourceLineNo">076</span>        setNextState(RecoverStandbyState.UNREGISTER_PEER_FROM_WORKER_STORAGE);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>        return Flow.HAS_MORE_STATE;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      case UNREGISTER_PEER_FROM_WORKER_STORAGE:<a name="line.78"></a>
+<span class="sourceLineNo">079</span>        syncReplicationReplayWALManager.unregisterPeer(peerId);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>        setNextState(RecoverStandbyState.SNAPSHOT_SYNC_REPLICATION_WALS_DIR);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>        return Flow.HAS_MORE_STATE;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      case SNAPSHOT_SYNC_REPLICATION_WALS_DIR:<a name="line.82"></a>
+<span class="sourceLineNo">083</span>        try {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>          syncReplicationReplayWALManager.renameToPeerSnapshotWALDir(peerId);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>        } catch (IOException e) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>          LOG.warn("Failed to cleanup replay wals dir for peer id={}, , retry", peerId, e);<a name="line.86"></a>
 <span class="sourceLineNo">087</span>          throw new ProcedureYieldException();<a name="line.87"></a>
 <span class="sourceLineNo">088</span>        }<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        setNextState(RecoverStandbyState.SNAPSHOT_SYNC_REPLICATION_WALS_DIR);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        return Flow.HAS_MORE_STATE;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      case SNAPSHOT_SYNC_REPLICATION_WALS_DIR:<a name="line.91"></a>
-<span class="sourceLineNo">092</span>        try {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>          syncReplicationReplayWALManager.renameToPeerSnapshotWALDir(peerId);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>        } catch (IOException e) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>          LOG.warn("Failed to cleanup replay wals dir for peer id={}, , retry", peerId, e);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>          throw new ProcedureYieldException();<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        }<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        return Flow.NO_MORE_STATE;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      default:<a name="line.99"></a>
-<span class="sourceLineNo">100</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>  // TODO: dispatch wals by region server when serial is true and sort wals<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private void dispathWals(SyncReplicationReplayWALManager syncReplicationReplayWALManager)<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      throws ProcedureYieldException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    try {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      List&lt;Path&gt; wals = syncReplicationReplayWALManager.getReplayWALsAndCleanUpUnusedFiles(peerId);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      addChildProcedure(wals.stream().map(wal -&gt; new SyncReplicationReplayWALProcedure(peerId,<a name="line.109"></a>
-<span class="sourceLineNo">110</span>          Arrays.asList(syncReplicationReplayWALManager.removeWALRootPath(wal))))<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          .toArray(SyncReplicationReplayWALProcedure[]::new));<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    } catch (IOException e) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      LOG.warn("Failed to get replay wals for peer id={}, , retry", peerId, e);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      throw new ProcedureYieldException();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  @Override<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  protected RecoverStandbyState getState(int stateId) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    return RecoverStandbyState.forNumber(stateId);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>  @Override<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  protected int getStateId(RecoverStandbyState state) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return state.getNumber();<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  @Override<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  protected RecoverStandbyState getInitialState() {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    return RecoverStandbyState.RENAME_SYNC_REPLICATION_WALS_DIR;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  }<a name="line.131"></a>
-<span class="sourceLineNo">132</span><a name="line.132"></a>
-<span class="sourceLineNo">133</span>  @Override<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  public PeerOperationType getPeerOperationType() {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    return PeerOperationType.RECOVER_STANDBY;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @Override<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    super.serializeStateData(serializer);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    serializer.serialize(RecoverStandbyStateData.newBuilder().setSerial(serial).build());<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  @Override<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    super.deserializeStateData(serializer);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    RecoverStandbyStateData data = serializer.deserialize(RecoverStandbyStateData.class);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    serial = data.getSerial();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>}<a name="line.150"></a>
+<span class="sourceLineNo">089</span>        return Flow.NO_MORE_STATE;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      default:<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  // TODO: dispatch wals by region server when serial is true and sort wals<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  private void dispathWals(SyncReplicationReplayWALManager syncReplicationReplayWALManager)<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      throws ProcedureYieldException {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    try {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      List&lt;Path&gt; wals = syncReplicationReplayWALManager.getReplayWALsAndCleanUpUnusedFiles(peerId);<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      addChildProcedure(wals.stream()<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        .map(wal -&gt; new SyncReplicationReplayWALProcedure(peerId,<a name="line.101"></a>
+<span class="sourceLineNo">102</span>          Arrays.asList(syncReplicationReplayWALManager.removeWALRootPath(wal))))<a name="line.102"></a>
+<span class="sourceLineNo">103</span>        .toArray(SyncReplicationReplayWALProcedure[]::new));<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    } catch (IOException e) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      LOG.warn("Failed to get replay wals for peer id={}, , retry", peerId, e);<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      throw new ProcedureYieldException();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  @Override<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  protected RecoverStandbyState getState(int stateId) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    return RecoverStandbyState.forNumber(stateId);<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @Override<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  protected int getStateId(RecoverStandbyState state) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    return state.getNumber();<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  @Override<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  protected RecoverStandbyState getInitialState() {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    return RecoverStandbyState.RENAME_SYNC_REPLICATION_WALS_DIR;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>  @Override<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public PeerOperationType getPeerOperationType() {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    return PeerOperationType.RECOVER_STANDBY;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  }<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span>  @Override<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    super.serializeStateData(serializer);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    serializer.serialize(RecoverStandbyStateData.newBuilder().setSerial(serial).build());<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @Override<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    super.deserializeStateData(serializer);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    RecoverStandbyStateData data = serializer.deserialize(RecoverStandbyStateData.class);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    serial = data.getSerial();<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  @Override<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  protected void afterReplay(MasterProcedureEnv env) {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // For these two states, we need to register the peer to the replay manager, as the state are<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // only kept in memory and will be lost after restarting. And in<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // SyncReplicationReplayWALProcedure.afterReplay we will reconstruct the used workers.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    switch (getCurrentState()) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      case DISPATCH_WALS:<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      case UNREGISTER_PEER_FROM_WORKER_STORAGE:<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        env.getMasterServices().getSyncReplicationReplayWALManager().registerPeer(peerId);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        break;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      default:<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        break;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>}<a name="line.157"></a>
 
 
 


[10/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html
index c449893..da93df8 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.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};
+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};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" target="_top">Frames</a></li>
@@ -74,7 +74,7 @@ var activeTableTab = "activeTableTab";
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -110,14 +110,55 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.49">SyncReplicationReplayWALManager</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.75">SyncReplicationReplayWALManager</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">The manager for replaying remote wal.
+ <p/>
+ First, it will be used to balance the replay work across all the region servers. We will record
+ the region servers which have already been used for replaying wal, and prevent sending new replay
+ work to it, until the previous replay work has been done, where we will remove the region server
+ from the used worker set. See the comment for <code>UsedReplayWorkersForPeer</code> for more details.
+ <p/>
+ Second, the logic for managing the remote wal directory is kept here. Before replaying the wals,
+ we will rename the remote wal directory, the new name is called 'replay' directory, see
+ <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#renameToPeerReplayWALDir-java.lang.String-"><code>renameToPeerReplayWALDir(String)</code></a>. This is used to prevent further writing of remote
+ wals, which is very important for keeping consistency. And then we will start replaying all the
+ wals, once a wal has been replayed, we will truncate the file, so that if there are crashes
+ happen, we do not need to replay all the wals again, see <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#finishReplayWAL-java.lang.String-"><code>finishReplayWAL(String)</code></a> and
+ <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#isReplayWALFinished-java.lang.String-"><code>isReplayWALFinished(String)</code></a>. After replaying all the wals, we will rename the 'replay'
+ directory, the new name is called 'snapshot' directory. In the directory, we will keep all the
+ names for the wals being replayed, since all the files should have been truncated. When we
+ transitting original the ACTIVE cluster to STANDBY later, and there are region server crashes, we
+ will see the wals in this directory to determine whether a wal should be split and replayed or
+ not. You can see the code in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.html" title="class in org.apache.hadoop.hbase.regionserver"><code>SplitLogWorker</code></a> for more
+ details.</div>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></span></code>
+<div class="block">This class is used to record the used workers(region servers) for a replication peer.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- =========== FIELD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="field.summary">
@@ -143,24 +184,16 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#remoteWALDir">remoteWALDir</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#services">services</a></span></code>&nbsp;</td>
+<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/replication/SyncReplicationReplayWALManager.html#serverManager">serverManager</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#walRootDir">walRootDir</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <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></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#workerLock">workerLock</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/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/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/master/replication/SyncReplicationReplayWALManager.html#workers">workers</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>private <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/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#usedWorkersByPeer">usedWorkersByPeer</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#workerStorage">workerStorage</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#walRootDir">walRootDir</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -195,26 +228,33 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" 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/SyncReplicationReplayWALManager.html#checkReplayingWALDir--">checkReplayingWALDir</a></span>()</code>&nbsp;</td>
+<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/replication/SyncReplicationReplayWALManager.html#acquirePeerWorker-java.lang.String-org.apache.hadoop.hbase.procedure2.Procedure-">acquirePeerWorker</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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>
+<div class="block">Get a worker for replaying remote wal for a give peer.</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#createPeerRemoteWALDir-java.lang.String-">createPeerRemoteWALDir</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>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#addUsedPeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">addUsedPeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>
+<div class="block">Will only be called when loading procedures, where we need to construct the used worker set for
+ each peer.</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#createPeerRemoteWALDir-java.lang.String-">createPeerRemoteWALDir</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="i3" 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/SyncReplicationReplayWALManager.html#deleteDir-org.apache.hadoop.fs.Path-java.lang.String-">deleteDir</a></span>(org.apache.hadoop.fs.Path&nbsp;dir,
          <a href="https://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="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#finishReplayWAL-java.lang.String-">finishReplayWAL</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;wal)</code>&nbsp;</td>
 </tr>
-<tr id="i4" 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/replication/SyncReplicationReplayWALManager.html#getPeerWorker-java.lang.String-">getPeerWorker</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="i5" class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#getRemoteWALDir--">getRemoteWALDir</a></span>()</code>&nbsp;</td>
@@ -233,12 +273,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#removePeerRemoteWALs-java.lang.String-">removePeerRemoteWALs</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>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#releasePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler-">releasePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker,
+                 <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>&nbsp;scheduler)</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">removePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#removePeerRemoteWALs-java.lang.String-">removePeerRemoteWALs</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="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -260,10 +301,6 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#snapshotPeerReplayWALDir-java.lang.String-">snapshotPeerReplayWALDir</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="i16" class="altColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#unregisterPeer-java.lang.String-">unregisterPeer</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>
 </table>
@@ -294,16 +331,16 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <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/SyncReplicationReplayWALManager.html#line.51">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.77">LOG</a></pre>
 </li>
 </ul>
-<a name="services">
+<a name="serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>services</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.54">services</a></pre>
+<h4>serverManager</h4>
+<pre>private final&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/replication/SyncReplicationReplayWALManager.html#line.79">serverManager</a></pre>
 </li>
 </ul>
 <a name="fs">
@@ -312,7 +349,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <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/SyncReplicationReplayWALManager.html#line.56">fs</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.81">fs</a></pre>
 </li>
 </ul>
 <a name="walRootDir">
@@ -321,7 +358,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>walRootDir</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.58">walRootDir</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.83">walRootDir</a></pre>
 </li>
 </ul>
 <a name="remoteWALDir">
@@ -330,34 +367,16 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteWALDir</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.60">remoteWALDir</a></pre>
-</li>
-</ul>
-<a name="workerStorage">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>workerStorage</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.62">workerStorage</a></pre>
-</li>
-</ul>
-<a name="workers">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>workers</h4>
-<pre>private final&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="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/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/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.64">workers</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.85">remoteWALDir</a></pre>
 </li>
 </ul>
-<a name="workerLock">
+<a name="usedWorkersByPeer">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>workerLock</h4>
-<pre>private final&nbsp;<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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.66">workerLock</a></pre>
+<h4>usedWorkersByPeer</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/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.140">usedWorkersByPeer</a></pre>
 </li>
 </ul>
 </li>
@@ -374,7 +393,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SyncReplicationReplayWALManager</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.68">SyncReplicationReplayWALManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;services)
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.143">SyncReplicationReplayWALManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;services)
                                 throws <a href="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/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
@@ -392,77 +411,64 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="checkReplayingWALDir--">
+<a name="registerPeer-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>checkReplayingWALDir</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.79">checkReplayingWALDir</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="../../../../../../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>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
-</dl>
+<h4>registerPeer</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.164">registerPeer</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>
 </li>
 </ul>
-<a name="registerPeer-java.lang.String-">
+<a name="unregisterPeer-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>registerPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.90">registerPeer</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>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
-</dl>
+<h4>unregisterPeer</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.168">unregisterPeer</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>
 </li>
 </ul>
-<a name="unregisterPeer-java.lang.String-">
+<a name="acquirePeerWorker-java.lang.String-org.apache.hadoop.hbase.procedure2.Procedure-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>unregisterPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.95">unregisterPeer</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>
+<h4>acquirePeerWorker</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/replication/SyncReplicationReplayWALManager.html#line.178">acquirePeerWorker</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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)
+                             throws <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></pre>
+<div class="block">Get a worker for replaying remote wal for a give peer. If no worker available, i.e, all the
+ region servers have been used by others, a <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureSuspendedException</code></a> will be thrown
+ to suspend the procedure. And it will be woken up later when there are available workers,
+ either by others release a worker, or there is a new region server joins the cluster.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="getPeerWorker-java.lang.String-">
+<a name="releasePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getPeerWorker</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/replication/SyncReplicationReplayWALManager.html#line.100">getPeerWorker</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>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
-</dl>
+<h4>releasePeerWorker</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.192">releasePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker,
+                              <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>&nbsp;scheduler)</pre>
 </li>
 </ul>
-<a name="removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">
+<a name="addUsedPeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>removePeerWorker</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.117">removePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)
-                      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>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
-</dl>
+<h4>addUsedPeerWorker</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.205">addUsedPeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</pre>
+<div class="block">Will only be called when loading procedures, where we need to construct the used worker set for
+ each peer.</div>
 </li>
 </ul>
 <a name="createPeerRemoteWALDir-java.lang.String-">
@@ -471,7 +477,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createPeerRemoteWALDir</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.123">createPeerRemoteWALDir</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/SyncReplicationReplayWALManager.html#line.209">createPeerRemoteWALDir</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -485,7 +491,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>rename</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.130">rename</a>(org.apache.hadoop.fs.Path&nbsp;src,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.216">rename</a>(org.apache.hadoop.fs.Path&nbsp;src,
                     org.apache.hadoop.fs.Path&nbsp;dst,
                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -501,7 +507,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>renameToPeerReplayWALDir</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.144">renameToPeerReplayWALDir</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/SyncReplicationReplayWALManager.html#line.230">renameToPeerReplayWALDir</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -515,7 +521,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>renameToPeerSnapshotWALDir</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.149">renameToPeerSnapshotWALDir</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/SyncReplicationReplayWALManager.html#line.235">renameToPeerSnapshotWALDir</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -529,7 +535,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplayWALsAndCleanUpUnusedFiles</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;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.154">getReplayWALsAndCleanUpUnusedFiles</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="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;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.240">getReplayWALsAndCleanUpUnusedFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -537,27 +543,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
-<a name="snapshotPeerReplayWALDir-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>snapshotPeerReplayWALDir</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.178">snapshotPeerReplayWALDir</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
-                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="deleteDir-org.apache.hadoop.fs.Path-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteDir</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.186">deleteDir</a>(org.apache.hadoop.fs.Path&nbsp;dir,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.264">deleteDir</a>(org.apache.hadoop.fs.Path&nbsp;dir,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -572,7 +564,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>removePeerRemoteWALs</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.192">removePeerRemoteWALs</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/SyncReplicationReplayWALManager.html#line.270">removePeerRemoteWALs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -586,7 +578,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>removeWALRootPath</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/replication/SyncReplicationReplayWALManager.html#line.198">removeWALRootPath</a>(org.apache.hadoop.fs.Path&nbsp;path)</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/replication/SyncReplicationReplayWALManager.html#line.276">removeWALRootPath</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
 </li>
 </ul>
 <a name="finishReplayWAL-java.lang.String-">
@@ -595,7 +587,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>finishReplayWAL</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.204">finishReplayWAL</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;wal)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.282">finishReplayWAL</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;wal)
                      throws <a href="https://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>
@@ -609,7 +601,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isReplayWALFinished</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.209">isReplayWALFinished</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;wal)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.287">isReplayWALFinished</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;wal)
                             throws <a href="https://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>
@@ -623,7 +615,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getRemoteWALDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.215">getRemoteWALDir</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.293">getRemoteWALDir</a>()</pre>
 </li>
 </ul>
 </li>
@@ -655,7 +647,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" target="_top">Frames</a></li>
@@ -679,7 +671,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>


[03/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html
index 9ee37c0..1fe5928 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html
@@ -35,278 +35,281 @@
 <span class="sourceLineNo">027</span>import org.slf4j.Logger;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import org.slf4j.LoggerFactory;<a name="line.28"></a>
 <span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>@InterfaceAudience.Private<a name="line.30"></a>
-<span class="sourceLineNo">031</span>public abstract class AbstractProcedureScheduler implements ProcedureScheduler {<a name="line.31"></a>
-<span class="sourceLineNo">032</span>  private static final Logger LOG = LoggerFactory.getLogger(AbstractProcedureScheduler.class);<a name="line.32"></a>
-<span class="sourceLineNo">033</span>  private final ReentrantLock schedulerLock = new ReentrantLock();<a name="line.33"></a>
-<span class="sourceLineNo">034</span>  private final Condition schedWaitCond = schedulerLock.newCondition();<a name="line.34"></a>
-<span class="sourceLineNo">035</span>  private boolean running = false;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>  // TODO: metrics<a name="line.37"></a>
-<span class="sourceLineNo">038</span>  private long pollCalls = 0;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>  private long nullPollCalls = 0;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>  @Override<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  public void start() {<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    schedLock();<a name="line.43"></a>
-<span class="sourceLineNo">044</span>    try {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      running = true;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    } finally {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>      schedUnlock();<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    }<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  @Override<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  public void stop() {<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    schedLock();<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    try {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      running = false;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      schedWaitCond.signalAll();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    } finally {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      schedUnlock();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    }<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  @Override<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public void signalAll() {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    schedLock();<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    try {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      schedWaitCond.signalAll();<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    } finally {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      schedUnlock();<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    }<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>  // ==========================================================================<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  //  Add related<a name="line.73"></a>
+<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>@InterfaceAudience.Private<a name="line.32"></a>
+<span class="sourceLineNo">033</span>public abstract class AbstractProcedureScheduler implements ProcedureScheduler {<a name="line.33"></a>
+<span class="sourceLineNo">034</span>  private static final Logger LOG = LoggerFactory.getLogger(AbstractProcedureScheduler.class);<a name="line.34"></a>
+<span class="sourceLineNo">035</span>  private final ReentrantLock schedulerLock = new ReentrantLock();<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  private final Condition schedWaitCond = schedulerLock.newCondition();<a name="line.36"></a>
+<span class="sourceLineNo">037</span>  private boolean running = false;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>  // TODO: metrics<a name="line.39"></a>
+<span class="sourceLineNo">040</span>  private long pollCalls = 0;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>  private long nullPollCalls = 0;<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>  @Override<a name="line.43"></a>
+<span class="sourceLineNo">044</span>  public void start() {<a name="line.44"></a>
+<span class="sourceLineNo">045</span>    schedLock();<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    try {<a name="line.46"></a>
+<span class="sourceLineNo">047</span>      running = true;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    } finally {<a name="line.48"></a>
+<span class="sourceLineNo">049</span>      schedUnlock();<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    }<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  }<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>  @Override<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public void stop() {<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    schedLock();<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    try {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      running = false;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      schedWaitCond.signalAll();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    } finally {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      schedUnlock();<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    }<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  }<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>  @Override<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  public void signalAll() {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    schedLock();<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    try {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      schedWaitCond.signalAll();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    } finally {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      schedUnlock();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    }<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
 <span class="sourceLineNo">074</span>  // ==========================================================================<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  /**<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   * Add the procedure to the queue.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * NOTE: this method is called with the sched lock held.<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * @param procedure the Procedure to add<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * @param addFront true if the item should be added to the front of the queue<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  protected abstract void enqueue(Procedure procedure, boolean addFront);<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  @Override<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  public void addFront(final Procedure procedure) {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    push(procedure, true, true);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  @Override<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public void addFront(final Procedure procedure, boolean notify) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    push(procedure, true, notify);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  @Override<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  public void addFront(Iterator&lt;Procedure&gt; procedureIterator) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    schedLock();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    try {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      int count = 0;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      while (procedureIterator.hasNext()) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>        Procedure procedure = procedureIterator.next();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>        if (LOG.isTraceEnabled()) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          LOG.trace("Wake " + procedure);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        }<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        push(procedure, /* addFront= */ true, /* notify= */false);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        count++;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      }<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      wakePollIfNeeded(count);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    } finally {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      schedUnlock();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Override<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public void addBack(final Procedure procedure) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    push(procedure, false, true);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  @Override<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public void addBack(final Procedure procedure, boolean notify) {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    push(procedure, false, notify);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  protected void push(final Procedure procedure, final boolean addFront, final boolean notify) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    schedLock();<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    try {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      enqueue(procedure, addFront);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (notify) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        schedWaitCond.signal();<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    } finally {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      schedUnlock();<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  // ==========================================================================<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  //  Poll related<a name="line.135"></a>
+<span class="sourceLineNo">075</span>  //  Add related<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  // ==========================================================================<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  /**<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * Add the procedure to the queue.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * NOTE: this method is called with the sched lock held.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @param procedure the Procedure to add<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   * @param addFront true if the item should be added to the front of the queue<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   */<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  protected abstract void enqueue(Procedure procedure, boolean addFront);<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  @Override<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  public void addFront(final Procedure procedure) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    push(procedure, true, true);<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  @Override<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public void addFront(final Procedure procedure, boolean notify) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    push(procedure, true, notify);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  @Override<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public void addFront(Iterator&lt;Procedure&gt; procedureIterator) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    schedLock();<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    try {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      int count = 0;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      while (procedureIterator.hasNext()) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        Procedure procedure = procedureIterator.next();<a name="line.101"></a>
+<span class="sourceLineNo">102</span>        if (LOG.isTraceEnabled()) {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>          LOG.trace("Wake " + procedure);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>        }<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        push(procedure, /* addFront= */ true, /* notify= */false);<a name="line.105"></a>
+<span class="sourceLineNo">106</span>        count++;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      }<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      wakePollIfNeeded(count);<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    } finally {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      schedUnlock();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  @Override<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public void addBack(final Procedure procedure) {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    push(procedure, false, true);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public void addBack(final Procedure procedure, boolean notify) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    push(procedure, false, notify);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>  protected void push(final Procedure procedure, final boolean addFront, final boolean notify) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    schedLock();<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    try {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      enqueue(procedure, addFront);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      if (notify) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        schedWaitCond.signal();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    } finally {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      schedUnlock();<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
 <span class="sourceLineNo">136</span>  // ==========================================================================<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * Fetch one Procedure from the queue<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * NOTE: this method is called with the sched lock held.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   * @return the Procedure to execute, or null if nothing is available.<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   */<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  protected abstract Procedure dequeue();<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  @Override<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public Procedure poll() {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    return poll(-1);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  public Procedure poll(long timeout, TimeUnit unit) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    return poll(unit.toNanos(timeout));<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
-<span class="sourceLineNo">153</span><a name="line.153"></a>
-<span class="sourceLineNo">154</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public Procedure poll(final long nanos) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    schedLock();<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    try {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      if (!running) {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        LOG.debug("the scheduler is not running");<a name="line.159"></a>
-<span class="sourceLineNo">160</span>        return null;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>      if (!queueHasRunnables()) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        // WA_AWAIT_NOT_IN_LOOP: we are not in a loop because we want the caller<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        // to take decisions after a wake/interruption.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (nanos &lt; 0) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>          schedWaitCond.await();<a name="line.167"></a>
-<span class="sourceLineNo">168</span>        } else {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>          schedWaitCond.awaitNanos(nanos);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        if (!queueHasRunnables()) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          nullPollCalls++;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>          return null;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      final Procedure pollResult = dequeue();<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>      pollCalls++;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      nullPollCalls += (pollResult == null) ? 1 : 0;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      return pollResult;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    } catch (InterruptedException e) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      Thread.currentThread().interrupt();<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      nullPollCalls++;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      return null;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    } finally {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      schedUnlock();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  // ==========================================================================<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  //  Utils<a name="line.191"></a>
+<span class="sourceLineNo">137</span>  //  Poll related<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  // ==========================================================================<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * Fetch one Procedure from the queue<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * NOTE: this method is called with the sched lock held.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   * @return the Procedure to execute, or null if nothing is available.<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   */<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  protected abstract Procedure dequeue();<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  @Override<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  public Procedure poll() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    return poll(-1);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>  @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public Procedure poll(long timeout, TimeUnit unit) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    return poll(unit.toNanos(timeout));<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  public Procedure poll(final long nanos) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    schedLock();<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    try {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      if (!running) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        LOG.debug("the scheduler is not running");<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        return null;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>      if (!queueHasRunnables()) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        // WA_AWAIT_NOT_IN_LOOP: we are not in a loop because we want the caller<a name="line.166"></a>
+<span class="sourceLineNo">167</span>        // to take decisions after a wake/interruption.<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        if (nanos &lt; 0) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>          schedWaitCond.await();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>        } else {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>          schedWaitCond.awaitNanos(nanos);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        }<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        if (!queueHasRunnables()) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>          nullPollCalls++;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>          return null;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      }<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      final Procedure pollResult = dequeue();<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>      pollCalls++;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      nullPollCalls += (pollResult == null) ? 1 : 0;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      return pollResult;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    } catch (InterruptedException e) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      Thread.currentThread().interrupt();<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      nullPollCalls++;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      return null;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    } finally {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      schedUnlock();<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
 <span class="sourceLineNo">192</span>  // ==========================================================================<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * Returns the number of elements in this queue.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * NOTE: this method is called with the sched lock held.<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @return the number of elements in this queue.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected abstract int queueSize();<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * Returns true if there are procedures available to process.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * NOTE: this method is called with the sched lock held.<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * @return true if there are procedures available to process, otherwise false.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  protected abstract boolean queueHasRunnables();<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  @Override<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  public int size() {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    schedLock();<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    try {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      return queueSize();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    } finally {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      schedUnlock();<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    }<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  }<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>  @Override<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public boolean hasRunnables() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    schedLock();<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    try {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      return queueHasRunnables();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } finally {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      schedUnlock();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  // ============================================================================<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  //  TODO: Metrics<a name="line.228"></a>
+<span class="sourceLineNo">193</span>  //  Utils<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  // ==========================================================================<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  /**<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * Returns the number of elements in this queue.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * NOTE: this method is called with the sched lock held.<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * @return the number of elements in this queue.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  protected abstract int queueSize();<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  /**<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * Returns true if there are procedures available to process.<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * NOTE: this method is called with the sched lock held.<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @return true if there are procedures available to process, otherwise false.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  protected abstract boolean queueHasRunnables();<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  public int size() {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    schedLock();<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    try {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      return queueSize();<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    } finally {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      schedUnlock();<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  public boolean hasRunnables() {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    schedLock();<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    try {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      return queueHasRunnables();<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    } finally {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      schedUnlock();<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    }<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
 <span class="sourceLineNo">229</span>  // ============================================================================<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public long getPollCalls() {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    return pollCalls;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  public long getNullPollCalls() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return nullPollCalls;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>  // ==========================================================================<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  //  Procedure Events<a name="line.239"></a>
+<span class="sourceLineNo">230</span>  //  TODO: Metrics<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  // ============================================================================<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  public long getPollCalls() {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    return pollCalls;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public long getNullPollCalls() {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return nullPollCalls;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
 <span class="sourceLineNo">240</span>  // ==========================================================================<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Wake up all of the given events.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * Note that we first take scheduler lock and then wakeInternal() synchronizes on the event.<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * Access should remain package-private. Use ProcedureEvent class to wake/suspend events.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * @param events the list of events to wake<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  void wakeEvents(ProcedureEvent[] events) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    schedLock();<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      for (ProcedureEvent event : events) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        if (event == null) {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          continue;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>        }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        event.wakeInternal(this);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      }<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    } finally {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      schedUnlock();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  /**<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * Wakes up given waiting procedures by pushing them back into scheduler queues.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * @return size of given {@code waitQueue}.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  protected int wakeWaitingProcedures(LockAndQueue lockAndQueue) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    return lockAndQueue.wakeWaitingProcedures(this);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  protected void waitProcedure(LockAndQueue lockAndQueue, final Procedure proc) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    lockAndQueue.addLast(proc);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  }<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  protected void wakeProcedure(final Procedure procedure) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    LOG.trace("Wake {}", procedure);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    push(procedure, /* addFront= */ true, /* notify= */false);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>  // ==========================================================================<a name="line.280"></a>
-<span class="sourceLineNo">281</span>  //  Internal helpers<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  // ==========================================================================<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  protected void schedLock() {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    schedulerLock.lock();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  protected void schedUnlock() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    schedulerLock.unlock();<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  protected void wakePollIfNeeded(final int waitingCount) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (waitingCount &lt;= 0) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      return;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    if (waitingCount == 1) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      schedWaitCond.signal();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    } else {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      schedWaitCond.signalAll();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  }<a name="line.300"></a>
-<span class="sourceLineNo">301</span>}<a name="line.301"></a>
+<span class="sourceLineNo">241</span>  //  Procedure Events<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  // ==========================================================================<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>  /**<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * Wake up all of the given events.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * Note that we first take scheduler lock and then wakeInternal() synchronizes on the event.<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   * Access should remain package-private. Use ProcedureEvent class to wake/suspend events.<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * @param events the list of events to wake<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  @VisibleForTesting<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  public void wakeEvents(ProcedureEvent[] events) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    schedLock();<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    try {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      for (ProcedureEvent event : events) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        if (event == null) {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>          continue;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>        }<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        event.wakeInternal(this);<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      }<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    } finally {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      schedUnlock();<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * Wakes up given waiting procedures by pushing them back into scheduler queues.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * @return size of given {@code waitQueue}.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   */<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  protected int wakeWaitingProcedures(LockAndQueue lockAndQueue) {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    return lockAndQueue.wakeWaitingProcedures(this);<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  }<a name="line.271"></a>
+<span class="sourceLineNo">272</span><a name="line.272"></a>
+<span class="sourceLineNo">273</span>  protected void waitProcedure(LockAndQueue lockAndQueue, final Procedure proc) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    lockAndQueue.addLast(proc);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  }<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  protected void wakeProcedure(final Procedure procedure) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    LOG.trace("Wake {}", procedure);<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    push(procedure, /* addFront= */ true, /* notify= */false);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  // ==========================================================================<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  //  Internal helpers<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  // ==========================================================================<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  protected void schedLock() {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    schedulerLock.lock();<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  }<a name="line.288"></a>
+<span class="sourceLineNo">289</span><a name="line.289"></a>
+<span class="sourceLineNo">290</span>  protected void schedUnlock() {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    schedulerLock.unlock();<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>  protected void wakePollIfNeeded(final int waitingCount) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    if (waitingCount &lt;= 0) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      return;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    if (waitingCount == 1) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      schedWaitCond.signal();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    } else {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      schedWaitCond.signalAll();<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>}<a name="line.304"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html
index adf6822..175200d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html
@@ -99,36 +99,37 @@
 <span class="sourceLineNo">091</span>   * when waking up multiple events.<a name="line.91"></a>
 <span class="sourceLineNo">092</span>   * Access should remain package-private.<a name="line.92"></a>
 <span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  synchronized void wakeInternal(AbstractProcedureScheduler procedureScheduler) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    if (ready &amp;&amp; !suspendedProcedures.isEmpty()) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      LOG.warn("Found procedures suspended in a ready event! Size=" + suspendedProcedures.size());<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    }<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    ready = true;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    if (LOG.isTraceEnabled()) {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      LOG.trace("Unsuspend " + toString());<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    // wakeProcedure adds to the front of queue, so we start from last in the<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    // waitQueue' queue, so that the procedure which was added first goes in the front for<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    // the scheduler queue.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    procedureScheduler.addFront(suspendedProcedures.descendingIterator());<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    suspendedProcedures.clear();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>  /**<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * Access to suspendedProcedures is 'synchronized' on this object, but it's fine to return it<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * here for tests.<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @VisibleForTesting<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public ProcedureDeque getSuspendedProcedures() {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    return suspendedProcedures;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  @Override<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public String toString() {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    return getClass().getSimpleName() + " for " + object + ", ready=" + isReady() +<a name="line.120"></a>
-<span class="sourceLineNo">121</span>        ", " + suspendedProcedures;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span>}<a name="line.123"></a>
+<span class="sourceLineNo">094</span>  @VisibleForTesting<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  public synchronized void wakeInternal(AbstractProcedureScheduler procedureScheduler) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    if (ready &amp;&amp; !suspendedProcedures.isEmpty()) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      LOG.warn("Found procedures suspended in a ready event! Size=" + suspendedProcedures.size());<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    ready = true;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    if (LOG.isTraceEnabled()) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      LOG.trace("Unsuspend " + toString());<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    // wakeProcedure adds to the front of queue, so we start from last in the<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    // waitQueue' queue, so that the procedure which was added first goes in the front for<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    // the scheduler queue.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    procedureScheduler.addFront(suspendedProcedures.descendingIterator());<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    suspendedProcedures.clear();<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /**<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * Access to suspendedProcedures is 'synchronized' on this object, but it's fine to return it<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * here for tests.<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  @VisibleForTesting<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public ProcedureDeque getSuspendedProcedures() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return suspendedProcedures;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public String toString() {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    return getClass().getSimpleName() + " for " + object + ", ready=" + isReady() +<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        ", " + suspendedProcedures;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
+<span class="sourceLineNo">124</span>}<a name="line.124"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html b/devapidocs/src-html/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html
index a1a0f03..50d4e9a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html
@@ -43,7 +43,7 @@
 <span class="sourceLineNo">035</span> * zookeeper.<a name="line.35"></a>
 <span class="sourceLineNo">036</span> */<a name="line.36"></a>
 <span class="sourceLineNo">037</span>@InterfaceAudience.Private<a name="line.37"></a>
-<span class="sourceLineNo">038</span>public class ZKReplicationStorageBase {<a name="line.38"></a>
+<span class="sourceLineNo">038</span>public abstract class ZKReplicationStorageBase {<a name="line.38"></a>
 <span class="sourceLineNo">039</span><a name="line.39"></a>
 <span class="sourceLineNo">040</span>  public static final String REPLICATION_ZNODE = "zookeeper.znode.replication";<a name="line.40"></a>
 <span class="sourceLineNo">041</span>  public static final String REPLICATION_ZNODE_DEFAULT = "replication";<a name="line.41"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/downloads.html
----------------------------------------------------------------------
diff --git a/downloads.html b/downloads.html
index ae0983d..423eb47 100644
--- a/downloads.html
+++ b/downloads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase Downloads</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -461,7 +461,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index a5ea2c0..62202f8 100644
--- a/export_control.html
+++ b/export_control.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -341,7 +341,7 @@ for more details.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 47ee46e..a5f5266 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBaseâ„¢ Home</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -421,7 +421,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index a45f528..69e995e 100644
--- a/integration.html
+++ b/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -301,7 +301,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index 0b336b9..e731583 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -298,7 +298,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 578f8b6..fc3293d 100644
--- a/license.html
+++ b/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -501,7 +501,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index 5ef05b2..90d31a5 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -351,7 +351,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 7e1ff80..2ed884c 100644
--- a/metrics.html
+++ b/metrics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -469,7 +469,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 939514a..bb0ec91 100644
--- a/old_news.html
+++ b/old_news.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -450,7 +450,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index a00d5a3..f678d04 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -450,7 +450,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index db6c699..79ddbd3 100644
--- a/plugins.html
+++ b/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -385,7 +385,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 59b4f34..6856b2e 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Powered By Apache HBase™</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -779,7 +779,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 5ac1587..39a46d4 100644
--- a/project-info.html
+++ b/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -345,7 +345,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 6d51c56..2a7e416 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -315,7 +315,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index 1fb378e..62f57f1 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -341,7 +341,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 6803ce9..42dfbc8 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -318,7 +318,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 6e8ddf7..56cbd58 100644
--- a/replication.html
+++ b/replication.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -313,7 +313,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index f018877..4829675 100644
--- a/resources.html
+++ b/resources.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Other Apache HBase (TM) Resources</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -341,7 +341,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index d56b50c..5cde587 100644
--- a/source-repository.html
+++ b/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -309,7 +309,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index e4cd110..4f97af7 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase™ Sponsors</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -343,7 +343,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index bdfe8df..c971140 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Supporting Projects</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -530,7 +530,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 82bfc5f..fcbe231 100644
--- a/team-list.html
+++ b/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -770,7 +770,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index 4c8ee94..d2325d6 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -2266,6 +2266,7 @@
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationMoreLogsInLocalCopyToRemote.html" title="class in org.apache.hadoop.hbase.replication" target="classFrame">TestSyncReplicationMoreLogsInLocalCopyToRemote</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationMoreLogsInLocalGiveUpSplitting.html" title="class in org.apache.hadoop.hbase.replication" target="classFrame">TestSyncReplicationMoreLogsInLocalGiveUpSplitting</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationRemoveRemoteWAL.html" title="class in org.apache.hadoop.hbase.replication" target="classFrame">TestSyncReplicationRemoveRemoteWAL</a></li>
+<li><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestSyncReplicationReplayWALManager</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/TestSyncReplicationShipperQuit.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">TestSyncReplicationShipperQuit</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationStandBy.html" title="class in org.apache.hadoop.hbase.replication" target="classFrame">TestSyncReplicationStandBy</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationStandBy.TableAction.html" title="interface in org.apache.hadoop.hbase.replication" target="classFrame"><span class="interfaceName">TestSyncReplicationStandBy.TableAction</span></a></li>
@@ -2387,6 +2388,7 @@
 <li><a href="org/apache/hadoop/hbase/security/token/TestTokenUtil.html" title="class in org.apache.hadoop.hbase.security.token" target="classFrame">TestTokenUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestTransitPeerSyncReplicationStateProcedureBackoff</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure</a></li>
+<li><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TestTransitPeerSyncReplicationStateProcedureRetry</a></li>
 <li><a href="org/apache/hadoop/hbase/master/assignment/TestTransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment" target="classFrame">TestTransitRegionStateProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">TestTruncateTableProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedure.TruncateTableProcedureOnHDFSFailure.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">TestTruncateTableProcedure.TruncateTableProcedureOnHDFSFailure</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index daef360..99abaca 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -2266,6 +2266,7 @@
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationMoreLogsInLocalCopyToRemote.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationMoreLogsInLocalCopyToRemote</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationMoreLogsInLocalGiveUpSplitting.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationMoreLogsInLocalGiveUpSplitting</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationRemoveRemoteWAL.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationRemoveRemoteWAL</a></li>
+<li><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/TestSyncReplicationShipperQuit.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestSyncReplicationShipperQuit</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationStandBy.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationStandBy</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationStandBy.TableAction.html" title="interface in org.apache.hadoop.hbase.replication"><span class="interfaceName">TestSyncReplicationStandBy.TableAction</span></a></li>
@@ -2387,6 +2388,7 @@
 <li><a href="org/apache/hadoop/hbase/security/token/TestTokenUtil.html" title="class in org.apache.hadoop.hbase.security.token">TestTokenUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureBackoff</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure</a></li>
+<li><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureRetry</a></li>
 <li><a href="org/apache/hadoop/hbase/master/assignment/TestTransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TestTransitRegionStateProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">TestTruncateTableProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedure.TruncateTableProcedureOnHDFSFailure.html" title="class in org.apache.hadoop.hbase.master.procedure">TestTruncateTableProcedure.TruncateTableProcedureOnHDFSFailure</a></li>


[13/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.


Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/74ea8168
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/74ea8168
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/74ea8168

Branch: refs/heads/asf-site
Commit: 74ea8168c7b7c6b7d27302e7321da56540623a0b
Parents: 08c6e0f
Author: jenkins <bu...@apache.org>
Authored: Mon Nov 5 14:52:40 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Mon Nov 5 14:52:40 2018 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |   4 +-
 apache_hbase_reference_guide.pdf                |   4 +-
 book.html                                       |   2 +-
 bulk-loads.html                                 |   4 +-
 checkstyle-aggregate.html                       |   6 +-
 checkstyle.rss                                  |  44 +-
 coc.html                                        |   4 +-
 dependencies.html                               |   4 +-
 dependency-convergence.html                     |   4 +-
 dependency-info.html                            |   4 +-
 dependency-management.html                      |   4 +-
 devapidocs/allclasses-frame.html                |   2 +-
 devapidocs/allclasses-noframe.html              |   2 +-
 devapidocs/constant-values.html                 |  30 +-
 devapidocs/index-all.html                       |  98 ++--
 .../hadoop/hbase/backup/package-tree.html       |   2 +-
 .../hadoop/hbase/class-use/ServerName.html      |  45 +-
 .../hadoop/hbase/client/package-tree.html       |  26 +-
 .../hadoop/hbase/coprocessor/package-tree.html  |   2 +-
 .../hadoop/hbase/executor/package-tree.html     |   2 +-
 .../hadoop/hbase/filter/package-tree.html       |  10 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |   6 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |   2 +-
 ...egionStateNode.AssignmentProcedureEvent.html |   2 +-
 .../ServerStateNode.ServerReportEvent.html      |   2 +-
 .../hbase/master/balancer/package-tree.html     |   2 +-
 .../hbase/master/class-use/MasterServices.html  |  13 -
 .../hbase/master/class-use/ServerManager.html   |  35 ++
 .../hadoop/hbase/master/package-tree.html       |   6 +-
 .../apache/hadoop/hbase/master/package-use.html |   5 +
 .../procedure/MasterProcedureScheduler.html     |   2 +-
 .../procedure/class-use/MasterProcedureEnv.html |   8 +
 .../class-use/MasterProcedureScheduler.html     |  28 +
 .../class-use/PeerProcedureInterface.html       |  13 +-
 .../hbase/master/procedure/package-tree.html    |   4 +-
 .../hbase/master/procedure/package-use.html     |   9 +-
 .../replication/RecoverStandbyProcedure.html    |  71 ++-
 ...playWALManager.UsedReplayWorkersForPeer.html | 391 ++++++++++++++
 .../SyncReplicationReplayWALManager.html        | 250 +++++----
 .../SyncReplicationReplayWALProcedure.html      |  78 ++-
 ...SyncReplicationReplayWALRemoteProcedure.html |  45 +-
 .../replication/UpdatePeerConfigProcedure.html  |   4 +-
 ...ZKSyncReplicationReplayWALWorkerStorage.html | 476 ----------------
 .../class-use/AbstractPeerNoLockProcedure.html  |   9 +-
 ...playWALManager.UsedReplayWorkersForPeer.html | 165 ++++++
 ...ZKSyncReplicationReplayWALWorkerStorage.html | 165 ------
 .../hbase/master/replication/package-frame.html |   2 +-
 .../master/replication/package-summary.html     |  33 +-
 .../hbase/master/replication/package-tree.html  |   6 +-
 .../hbase/master/replication/package-use.html   |  12 +-
 .../org/apache/hadoop/hbase/package-tree.html   |  16 +-
 .../procedure2/AbstractProcedureScheduler.html  |  72 +--
 .../hadoop/hbase/procedure2/ProcedureEvent.html |   8 +-
 .../class-use/AbstractProcedureScheduler.html   |   2 +-
 .../hbase/procedure2/class-use/Procedure.html   |  33 +-
 .../procedure2/class-use/ProcedureEvent.html    |   6 +-
 .../class-use/ProcedureSuspendedException.html  |  19 +-
 ...moteProcedureDispatcher.RemoteProcedure.html |   4 +-
 .../class-use/StateMachineProcedure.html        |   9 +-
 .../hadoop/hbase/procedure2/package-tree.html   |   6 +-
 .../hadoop/hbase/quotas/package-tree.html       |   8 +-
 .../hadoop/hbase/regionserver/package-tree.html |  18 +-
 .../regionserver/querymatcher/package-tree.html |   4 +-
 .../hbase/regionserver/wal/package-tree.html    |   2 +-
 .../replication/ZKReplicationStorageBase.html   |   4 +-
 .../class-use/ReplicationException.html         |  73 +--
 .../class-use/ZKReplicationStorageBase.html     |  22 -
 .../hadoop/hbase/replication/package-tree.html  |   2 +-
 .../hadoop/hbase/replication/package-use.html   |   6 -
 .../hbase/security/access/package-tree.html     |   4 +-
 .../hadoop/hbase/security/package-tree.html     |   4 +-
 .../hadoop/hbase/thrift/package-tree.html       |   2 +-
 .../apache/hadoop/hbase/util/package-tree.html  |  10 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |   2 +-
 .../hbase/zookeeper/class-use/ZKWatcher.html    |  12 -
 devapidocs/overview-tree.html                   |   2 +-
 .../org/apache/hadoop/hbase/Version.html        |   4 +-
 .../replication/RecoverStandbyProcedure.html    | 255 ++++-----
 ...playWALManager.UsedReplayWorkersForPeer.html | 368 +++++++++++++
 .../SyncReplicationReplayWALManager.html        | 462 +++++++++-------
 .../SyncReplicationReplayWALProcedure.html      | 271 +++++-----
 ...SyncReplicationReplayWALRemoteProcedure.html | 286 +++++-----
 ...ZKSyncReplicationReplayWALWorkerStorage.html | 180 -------
 .../procedure2/AbstractProcedureScheduler.html  | 537 ++++++++++---------
 .../hadoop/hbase/procedure2/ProcedureEvent.html |  61 +--
 .../replication/ZKReplicationStorageBase.html   |   2 +-
 downloads.html                                  |   4 +-
 export_control.html                             |   4 +-
 index.html                                      |   4 +-
 integration.html                                |   4 +-
 issue-tracking.html                             |   4 +-
 license.html                                    |   4 +-
 mail-lists.html                                 |   4 +-
 metrics.html                                    |   4 +-
 old_news.html                                   |   4 +-
 plugin-management.html                          |   4 +-
 plugins.html                                    |   4 +-
 poweredbyhbase.html                             |   4 +-
 project-info.html                               |   4 +-
 project-reports.html                            |   4 +-
 project-summary.html                            |   4 +-
 pseudo-distributed.html                         |   4 +-
 replication.html                                |   4 +-
 resources.html                                  |   4 +-
 source-repository.html                          |   4 +-
 sponsors.html                                   |   4 +-
 supportingprojects.html                         |   4 +-
 team-list.html                                  |   4 +-
 testdevapidocs/allclasses-frame.html            |   2 +
 testdevapidocs/allclasses-noframe.html          |   2 +
 testdevapidocs/index-all.html                   |  32 ++
 .../hadoop/hbase/backup/package-tree.html       |   2 +-
 .../hbase/class-use/HBaseClassTestRule.html     |  10 +-
 .../hbase/class-use/HBaseTestingUtility.html    |   4 +
 ...ureRetryBackoff.TestModifyPeerProcedure.html |   4 +-
 .../TestSyncReplicationReplayWALManager.html    | 411 ++++++++++++++
 ...ransitPeerSyncReplicationStateProcedure.html |   4 +-
 ...eerSyncReplicationStateProcedureBackoff.html |   4 +-
 ...tPeerSyncReplicationStateProcedureRetry.html | 350 ++++++++++++
 .../TestSyncReplicationReplayWALManager.html    | 125 +++++
 ...tPeerSyncReplicationStateProcedureRetry.html | 125 +++++
 .../hbase/master/replication/package-frame.html |   2 +
 .../master/replication/package-summary.html     |  10 +-
 .../hbase/master/replication/package-tree.html  |   6 +
 .../org/apache/hadoop/hbase/package-tree.html   |  12 +-
 .../hadoop/hbase/procedure/package-tree.html    |   8 +-
 .../hadoop/hbase/procedure2/package-tree.html   |   6 +-
 .../hadoop/hbase/regionserver/package-tree.html |   6 +-
 .../replication/SyncReplicationTestBase.html    |   2 +-
 .../class-use/SyncReplicationTestBase.html      |  24 +-
 .../hadoop/hbase/replication/package-use.html   |  25 +-
 .../apache/hadoop/hbase/test/package-tree.html  |   4 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |   2 +-
 testdevapidocs/overview-tree.html               |   2 +
 .../TestSyncReplicationReplayWALManager.html    | 251 +++++++++
 ...tPeerSyncReplicationStateProcedureRetry.html | 166 ++++++
 136 files changed, 4216 insertions(+), 2396 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 6b28b84..6787383 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -611,7 +611,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 0d041d4..eac1df9 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20181104143245+00'00')
-/CreationDate (D:20181104144916+00'00')
+/ModDate (D:20181105143257+00'00')
+/CreationDate (D:20181105144922+00'00')
 >>
 endobj
 2 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 483e249..d8ba659 100644
--- a/book.html
+++ b/book.html
@@ -41078,7 +41078,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2018-11-04 14:32:45 UTC
+Last updated 2018-11-05 14:32:57 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 914a006..3a0d802 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -316,7 +316,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index c224640..f1789bd 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -291,7 +291,7 @@
 <th><img src="images/icon_warning_sml.gif" alt="" />&#160;Warnings</th>
 <th><img src="images/icon_error_sml.gif" alt="" />&#160;Errors</th></tr>
 <tr class="b">
-<td>3812</td>
+<td>3813</td>
 <td>0</td>
 <td>0</td>
 <td>15079</td></tr></table></div>
@@ -117279,7 +117279,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 0903bc3..27f6d30 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,7 +25,7 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2018 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 3812,
+      <title>File: 3813,
              Errors: 15079,
              Warnings: 0,
              Infos: 0
@@ -5114,20 +5114,6 @@ under the License.
               </tr>
                           <tr>
                 <td>
-                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage.java">org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.java</a>
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  0
-                </td>
-              </tr>
-                          <tr>
-                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.rsgroup.TestRSGroupsBasics.java">org/apache/hadoop/hbase/rsgroup/TestRSGroupsBasics.java</a>
                 </td>
                 <td>
@@ -6710,6 +6696,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.replication.TestSyncReplicationReplayWALManager.java">org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.io.hfile.TestHFile.java">org/apache/hadoop/hbase/io/hfile/TestHFile.java</a>
                 </td>
                 <td>
@@ -9538,6 +9538,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.replication.TestTransitPeerSyncReplicationStateProcedureRetry.java">org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.util.TestReusablePoolMap.java">org/apache/hadoop/hbase/util/TestReusablePoolMap.java</a>
                 </td>
                 <td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 36e0175..903cdec 100644
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -385,7 +385,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index d66a451..84e307c 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -450,7 +450,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 6698a4e..61dc84d 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -889,7 +889,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 71f6f35..a48f056 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -323,7 +323,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index e3baaa4..6785ff0 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181104" />
+    <meta name="Date-Revision-yyyymmdd" content="20181105" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -1015,7 +1015,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index 6f01553..71892af 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -2712,6 +2712,7 @@
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerInfoProviderImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">SyncReplicationPeerInfoProviderImpl</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerMappingManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">SyncReplicationPeerMappingManager</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">SyncReplicationReplayWALManager</a></li>
+<li><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">SyncReplicationReplayWALProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">SyncReplicationReplayWALRemoteProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication" target="classFrame">SyncReplicationState</a></li>
@@ -3031,7 +3032,6 @@
 <li><a href="org/apache/hadoop/hbase/coordination/ZKSplitLogManagerCoordination.TaskFinisher.Status.html" title="enum in org.apache.hadoop.hbase.coordination" target="classFrame">ZKSplitLogManagerCoordination.TaskFinisher.Status</a></li>
 <li><a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.html" title="class in org.apache.hadoop.hbase.coordination" target="classFrame">ZkSplitLogWorkerCoordination</a></li>
 <li><a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.ZkSplitTaskDetails.html" title="class in org.apache.hadoop.hbase.coordination" target="classFrame">ZkSplitLogWorkerCoordination.ZkSplitTaskDetails</a></li>
-<li><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">ZKSyncReplicationReplayWALWorkerStorage</a></li>
 <li><a href="org/apache/hadoop/hbase/backup/example/ZKTableArchiveClient.html" title="class in org.apache.hadoop.hbase.backup.example" target="classFrame">ZKTableArchiveClient</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.html" title="class in org.apache.hadoop.hbase.zookeeper" target="classFrame">ZKUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.JaasConfiguration.html" title="class in org.apache.hadoop.hbase.zookeeper" target="classFrame">ZKUtil.JaasConfiguration</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 4a8e941..a5c6165 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -2712,6 +2712,7 @@
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerInfoProviderImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerInfoProviderImpl</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerMappingManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerMappingManager</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></li>
+<li><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a></li>
@@ -3031,7 +3032,6 @@
 <li><a href="org/apache/hadoop/hbase/coordination/ZKSplitLogManagerCoordination.TaskFinisher.Status.html" title="enum in org.apache.hadoop.hbase.coordination">ZKSplitLogManagerCoordination.TaskFinisher.Status</a></li>
 <li><a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.html" title="class in org.apache.hadoop.hbase.coordination">ZkSplitLogWorkerCoordination</a></li>
 <li><a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.ZkSplitTaskDetails.html" title="class in org.apache.hadoop.hbase.coordination">ZkSplitLogWorkerCoordination.ZkSplitTaskDetails</a></li>
-<li><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></li>
 <li><a href="org/apache/hadoop/hbase/backup/example/ZKTableArchiveClient.html" title="class in org.apache.hadoop.hbase.backup.example">ZKTableArchiveClient</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.JaasConfiguration.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKUtil.JaasConfiguration</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index db29429..9bd2331 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3824,7 +3824,7 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;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></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Sun Nov  4 14:44:04 UTC 2018"</code></td>
+<td class="colLast"><code>"Mon Nov  5 14:44:12 UTC 2018"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
@@ -3838,7 +3838,7 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;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></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"50afa79a69e7ac681d96a3d83c2ad3a3"</code></td>
+<td class="colLast"><code>"e5eeae6af42369499135652feacb35e4"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
@@ -15610,32 +15610,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage.WORKERS_ZNODE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;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></code></td>
-<td><code><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#WORKERS_ZNODE">WORKERS_ZNODE</a></code></td>
-<td class="colLast"><code>"zookeeper.znode.sync.replication.replaywal.workers"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage.WORKERS_ZNODE_DEFAULT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;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></code></td>
-<td><code><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#WORKERS_ZNODE_DEFAULT">WORKERS_ZNODE_DEFAULT</a></code></td>
-<td class="colLast"><code>"replaywal-workers"</code></td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 <ul class="blockList">
 <li class="blockList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 67d6fe6..1ca258c 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -756,6 +756,8 @@
 <div class="block">Acquire the lock, waiting indefinitely until the lock is released or
  the thread is interrupted.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#acquire-org.apache.hadoop.hbase.master.ServerManager-">acquire(ServerManager)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/RootProcedureState.html#acquire-org.apache.hadoop.hbase.procedure2.Procedure-">acquire(Procedure&lt;TEnvironment&gt;)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a></dt>
 <dd>
 <div class="block">Called by the ProcedureExecutor to mark the procedure step as running.</div>
@@ -835,6 +837,10 @@
 <dd>
 <div class="block">Acquire locks for a set of keys.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#acquirePeerWorker-java.lang.String-org.apache.hadoop.hbase.procedure2.Procedure-">acquirePeerWorker(String, Procedure&lt;?&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
+<dd>
+<div class="block">Get a worker for replaying remote wal for a give peer.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html#acquireSlot--">acquireSlot()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#acquireSyncReplicationPeerLock--">acquireSyncReplicationPeerLock()</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>
@@ -2118,8 +2124,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#addPeer-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-boolean-">addPeer(String, ReplicationPeerConfig, boolean)</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>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#addPeer-java.lang.String-">addPeer(String)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html#addPeer-java.lang.String-">addPeer(String)</a></span> - Method in interface org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html#addPeer-java.lang.String-">addPeer(String)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandlerImpl</a></dt>
@@ -2156,8 +2160,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.html#addPeerToHFileRefs-java.lang.String-">addPeerToHFileRefs(String)</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorage</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#addPeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">addPeerWorker(String, ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html#addPrimaryAssignment-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">addPrimaryAssignment(RegionInfo, ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html" title="class in org.apache.hadoop.hbase.master">SnapshotOfRegionAssignmentFromMeta</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.html#addProperty-java.lang.String-java.lang.String-">addProperty(String, String)</a></span> - Method in class org.apache.hadoop.hbase.rest.model.<a href="org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.html" title="class in org.apache.hadoop.hbase.rest.model">NamespacesInstanceModel</a></dt>
@@ -2652,6 +2654,11 @@
 <dd>
 <div class="block">add some weight to the total unique weight</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#addUsedPeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">addUsedPeerWorker(String, ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
+<dd>
+<div class="block">Will only be called when loading procedures, where we need to construct the used worker set for
+ each peer.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessControlLists.html#addUserPermission-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.access.UserPermission-org.apache.hadoop.hbase.client.Table-boolean-">addUserPermission(Configuration, UserPermission, Table, boolean)</a></span> - Static method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessControlLists.html" title="class in org.apache.hadoop.hbase.security.access">AccessControlLists</a></dt>
 <dd>
 <div class="block">Stores a new user permission grant in the access control lists table.</div>
@@ -2816,6 +2823,10 @@
 <dd>
 <div class="block">Called after flush is executed.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#afterReplay-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">afterReplay(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#afterReplay-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">afterReplay(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay(TEnvironment)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></dt>
 <dd>
 <div class="block">Called when the procedure is ready to be added to the queue after
@@ -11047,8 +11058,6 @@
 <dd>
 <div class="block">Check whether the region has been reopened.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#checkReplayingWALDir--">checkReplayingWALDir()</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RegionInfoBuilder.MutableRegionInfo.html#checkReplicaId-int-">checkReplicaId(int)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RegionInfoBuilder.MutableRegionInfo.html" title="class in org.apache.hadoop.hbase.client">RegionInfoBuilder.MutableRegionInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#checkReplicationScope-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">checkReplicationScope(ColumnFamilyDescriptor)</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>
@@ -29127,6 +29136,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html#event">event</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#event">event</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#event">event</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/NettyRpcClientConfigHelper.html#EVENT_LOOP_CONFIG">EVENT_LOOP_CONFIG</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/NettyRpcClientConfigHelper.html" title="class in org.apache.hadoop.hbase.ipc">NettyRpcClientConfigHelper</a></dt>
@@ -45770,8 +45781,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.html#getPeerNewSyncReplicationState-java.lang.String-">getPeerNewSyncReplicationState(String)</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationPeerStorage</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#getPeerNode-java.lang.String-">getPeerNode(String)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.html#getPeerNode-java.lang.String-">getPeerNode(String)</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationPeerStorage</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerOperationType--">getPeerOperationType()</a></span> - Method in interface org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></dt>
@@ -45855,12 +45864,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityReplicationEndpoint.html#getPeerUUID--">getPeerUUID()</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityReplicationEndpoint.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityReplicationEndpoint</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#getPeerWorker-java.lang.String-">getPeerWorker(String)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#getPeerWorkerNode-java.lang.String-org.apache.hadoop.hbase.ServerName-">getPeerWorkerNode(String, ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#getPeerWorkers-java.lang.String-">getPeerWorkers(String)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getPercentFileLocal--">getPercentFileLocal()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></dt>
 <dd>
 <div class="block">Get the percent of HFiles' that are local.</div>
@@ -90129,7 +90132,10 @@ service.</div>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">RecoverStandbyProcedure</span></a> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">The procedure for replaying all the remote wals for transitting a sync replication peer from
+ STANDBY to DOWNGRADE_ACTIVE.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#RecoverStandbyProcedure--">RecoverStandbyProcedure()</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#RecoverStandbyProcedure-java.lang.String-boolean-">RecoverStandbyProcedure(String, boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></dt>
@@ -92311,6 +92317,8 @@ service.</div>
 <dd>
 <div class="block">Release the lock.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#release-org.apache.hadoop.hbase.ServerName-">release(ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/RootProcedureState.html#release-org.apache.hadoop.hbase.procedure2.Procedure-">release(Procedure&lt;TEnvironment&gt;)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a></dt>
 <dd>
 <div class="block">Called by the ProcedureExecutor to mark the procedure step as finished.</div>
@@ -92394,6 +92402,8 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#releaseMaster-org.apache.hadoop.hbase.client.ConnectionImplementation.MasterServiceState-">releaseMaster(ConnectionImplementation.MasterServiceState)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html" title="class in org.apache.hadoop.hbase.client">ConnectionImplementation</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#releasePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler-">releasePeerWorker(String, ServerName, MasterProcedureScheduler)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/ByteBufferListOutputStream.html#releaseResources--">releaseResources()</a></span> - Method in class org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/ByteBufferListOutputStream.html" title="class in org.apache.hadoop.hbase.io">ByteBufferListOutputStream</a></dt>
 <dd>
 <div class="block">Release the resources it uses (The ByteBuffers) which are obtained from pool.</div>
@@ -93226,8 +93236,6 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html#removePeer-java.lang.String-">removePeer(String)</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>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#removePeer-java.lang.String-">removePeer(String)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html#removePeer-java.lang.String-">removePeer(String)</a></span> - Method in interface org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html#removePeer-java.lang.String-">removePeer(String)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandlerImpl</a></dt>
@@ -93280,10 +93288,6 @@ service.</div>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">removePeerWorker(String, ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">removePeerWorker(String, ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessControlLists.html#removePermissionRecord-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.access.UserPermission-org.apache.hadoop.hbase.client.Table-">removePermissionRecord(Configuration, UserPermission, Table)</a></span> - Static method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessControlLists.html" title="class in org.apache.hadoop.hbase.security.access">AccessControlLists</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html#removeQueue-org.apache.hadoop.hbase.ServerName-java.lang.String-">removeQueue(ServerName, String)</a></span> - Method in interface org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a></dt>
@@ -101016,6 +101020,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/RegionServerTracker.html#serverManager">serverManager</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/RegionServerTracker.html" title="class in org.apache.hadoop.hbase.master">RegionServerTracker</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#serverManager">serverManager</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">ServerManager</span></a> - Class in <a href="org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a></dt>
 <dd>
 <div class="block">The ServerManager class manages info about region servers.</div>
@@ -101388,8 +101394,6 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterWalManager.html#services">services</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#services">services</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.html#services">services</a></span> - Variable in class org.apache.hadoop.hbase.master.snapshot.<a href="org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.html" title="class in org.apache.hadoop.hbase.master.snapshot">MasterSnapshotVerifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.PostOpenDeployTasksThread.html#services">services</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.handler.<a href="org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.PostOpenDeployTasksThread.html" title="class in org.apache.hadoop.hbase.regionserver.handler">OpenRegionHandler.PostOpenDeployTasksThread</a></dt>
@@ -108576,8 +108580,6 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html#SnapshotOfRegionAssignmentFromMeta-org.apache.hadoop.hbase.client.Connection-java.util.Set-boolean-">SnapshotOfRegionAssignmentFromMeta(Connection, Set&lt;TableName&gt;, boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html" title="class in org.apache.hadoop.hbase.master">SnapshotOfRegionAssignmentFromMeta</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#snapshotPeerReplayWALDir-java.lang.String-">snapshotPeerReplayWALDir(String)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#snapshotQuotaChore">snapshotQuotaChore</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/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SnapshotQuotaObserverChore</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
@@ -112303,6 +112305,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend(long)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#suspend-org.apache.hadoop.hbase.procedure2.Procedure-">suspend(Procedure&lt;?&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspend--">suspend()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a></dt>
 <dd>
 <div class="block">Mark the event as not ready.</div>
@@ -112522,17 +112526,27 @@ service.</div>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#syncReplicationReplayWALManager">syncReplicationReplayWALManager</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/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALManager</span></a> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">The manager for replaying remote wal.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#SyncReplicationReplayWALManager-org.apache.hadoop.hbase.master.MasterServices-">SyncReplicationReplayWALManager(MasterServices)</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</span></a> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
+<dd>
+<div class="block">This class is used to record the used workers(region servers) for a replication peer.</div>
+</dd>
 <dt><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALProcedure</span></a> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">The procedure for replaying a set of remote wals.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#SyncReplicationReplayWALProcedure--">SyncReplicationReplayWALProcedure()</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#SyncReplicationReplayWALProcedure-java.lang.String-java.util.List-">SyncReplicationReplayWALProcedure(String, List&lt;String&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALRemoteProcedure</span></a> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">A remote procedure which is used to send replaying remote wal work to region server.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#SyncReplicationReplayWALRemoteProcedure--">SyncReplicationReplayWALRemoteProcedure()</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#SyncReplicationReplayWALRemoteProcedure-java.lang.String-java.util.List-org.apache.hadoop.hbase.ServerName-">SyncReplicationReplayWALRemoteProcedure(String, List&lt;String&gt;, ServerName)</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></dt>
@@ -120177,6 +120191,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#useCryptoAesWrap">useCryptoAesWrap</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcConnection</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#used-org.apache.hadoop.hbase.ServerName-">used(ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.html#useDateTieredSingleOutputForMinorCompaction--">useDateTieredSingleOutputForMinorCompaction()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionConfiguration</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.IndexStatistics.html#usedBytes--">usedBytes()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.IndexStatistics.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator.IndexStatistics</a></dt>
@@ -120193,6 +120209,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ServerMetricsBuilder.html#usedHeapSize">usedHeapSize</a></span> - Variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerMetricsBuilder.html" title="class in org.apache.hadoop.hbase">ServerMetricsBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#UsedReplayWorkersForPeer-java.lang.String-">UsedReplayWorkersForPeer(String)</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html#usedSize">usedSize</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html#useDurability--">useDurability()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html" title="class in org.apache.hadoop.hbase.regionserver">BaseRowProcessor</a></dt>
@@ -120201,6 +120219,10 @@ service.</div>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#usedWorkers">usedWorkers</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#usedWorkersByPeer">usedWorkersByPeer</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/DynamicClassLoader.html#useDynamicJars">useDynamicJars</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/DynamicClassLoader.html" title="class in org.apache.hadoop.hbase.util">DynamicClassLoader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoder.html#useEncodedScanner--">useEncodedScanner()</a></span> - Method in interface org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileDataBlockEncoder</a></dt>
@@ -123146,6 +123168,8 @@ the order they are declared.</div>
 <dd>
 <div class="block">Wait until all wals have been rolled after calling <a href="org/apache/hadoop/hbase/regionserver/LogRoller.html#requestRollAll--"><code>LogRoller.requestRollAll()</code></a>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#wake-org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler-">wake(MasterProcedureScheduler)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wake-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-">wake(AbstractProcedureScheduler)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a></dt>
 <dd>
 <div class="block">Wakes up the suspended procedures by pushing them back into scheduler queues and sets the
@@ -124146,28 +124170,14 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.html#workerInGrabTask">workerInGrabTask</a></span> - Variable in class org.apache.hadoop.hbase.coordination.<a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.html" title="class in org.apache.hadoop.hbase.coordination">ZkSplitLogWorkerCoordination</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#workerLock">workerLock</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#WorkerMonitor--">WorkerMonitor()</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.WorkerMonitor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/BackupInfo.html#workers">workers</a></span> - Variable in class org.apache.hadoop.hbase.backup.<a href="org/apache/hadoop/hbase/backup/BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a></dt>
 <dd>
 <div class="block">Number of parallel workers.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#workers">workers</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#WORKERS_ZNODE">WORKERS_ZNODE</a></span> - Static variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#WORKERS_ZNODE_DEFAULT">WORKERS_ZNODE_DEFAULT</a></span> - Static variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#WorkerState--">WorkerState()</a></span> - Constructor for enum 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">ReplicationSourceShipper.WorkerState</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#workerStorage">workerStorage</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#workersZNode">workersZNode</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>
-<div class="block">The name of the znode that contains a list of workers to replay wal.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#WorkerThread-java.lang.ThreadGroup-">WorkerThread(ThreadGroup)</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.WorkerThread</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#WorkerThread-java.lang.ThreadGroup-java.lang.String-">WorkerThread(ThreadGroup, String)</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.WorkerThread</a></dt>
@@ -125738,10 +125748,6 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.ZkSplitTaskDetails.html#ZkSplitTaskDetails-java.lang.String-org.apache.commons.lang3.mutable.MutableInt-">ZkSplitTaskDetails(String, MutableInt)</a></span> - Constructor for class org.apache.hadoop.hbase.coordination.<a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.ZkSplitTaskDetails.html" title="class in org.apache.hadoop.hbase.coordination">ZkSplitLogWorkerCoordination.ZkSplitTaskDetails</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">ZKSyncReplicationReplayWALWorkerStorage</span></a> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#ZKSyncReplicationReplayWALWorkerStorage-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.conf.Configuration-">ZKSyncReplicationReplayWALWorkerStorage(ZKWatcher, Configuration)</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/backup/example/ZKTableArchiveClient.html" title="class in org.apache.hadoop.hbase.backup.example"><span class="typeNameLink">ZKTableArchiveClient</span></a> - Class in <a href="org/apache/hadoop/hbase/backup/example/package-summary.html">org.apache.hadoop.hbase.backup.example</a></dt>
 <dd>
 <div class="block">Example class for how to use the table archiving coordinated via zookeeper</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index 155a44c..245faa1 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -167,10 +167,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" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 </ul>
 </li>
 </ul>


[05/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html
new file mode 100644
index 0000000..84cf576
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master.replication;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.getPeerRemoteWALDir;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.getPeerReplayWALDir;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.getPeerSnapshotWALDir;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.HashSet;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Optional;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Set;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.concurrent.ConcurrentMap;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileStatus;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.FileSystem;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.Path;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.master.ServerListener;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.master.ServerManager;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.procedure2.ProcedureEvent;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.replication.ReplicationUtils;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.slf4j.Logger;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.slf4j.LoggerFactory;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>/**<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * The manager for replaying remote wal.<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * &lt;p/&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * First, it will be used to balance the replay work across all the region servers. We will record<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * the region servers which have already been used for replaying wal, and prevent sending new replay<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * work to it, until the previous replay work has been done, where we will remove the region server<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * from the used worker set. See the comment for {@code UsedReplayWorkersForPeer} for more details.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * &lt;p/&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * Second, the logic for managing the remote wal directory is kept here. Before replaying the wals,<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * we will rename the remote wal directory, the new name is called 'replay' directory, see<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * {@link #renameToPeerReplayWALDir(String)}. This is used to prevent further writing of remote<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * wals, which is very important for keeping consistency. And then we will start replaying all the<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * wals, once a wal has been replayed, we will truncate the file, so that if there are crashes<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * happen, we do not need to replay all the wals again, see {@link #finishReplayWAL(String)} and<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * {@link #isReplayWALFinished(String)}. After replaying all the wals, we will rename the 'replay'<a name="line.66"></a>
+<span class="sourceLineNo">067</span> * directory, the new name is called 'snapshot' directory. In the directory, we will keep all the<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * names for the wals being replayed, since all the files should have been truncated. When we<a name="line.68"></a>
+<span class="sourceLineNo">069</span> * transitting original the ACTIVE cluster to STANDBY later, and there are region server crashes, we<a name="line.69"></a>
+<span class="sourceLineNo">070</span> * will see the wals in this directory to determine whether a wal should be split and replayed or<a name="line.70"></a>
+<span class="sourceLineNo">071</span> * not. You can see the code in {@link org.apache.hadoop.hbase.regionserver.SplitLogWorker} for more<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * details.<a name="line.72"></a>
+<span class="sourceLineNo">073</span> */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>@InterfaceAudience.Private<a name="line.74"></a>
+<span class="sourceLineNo">075</span>public class SyncReplicationReplayWALManager {<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  private static final Logger LOG = LoggerFactory.getLogger(SyncReplicationReplayWALManager.class);<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private final ServerManager serverManager;<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  private final FileSystem fs;<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  private final Path walRootDir;<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Path remoteWALDir;<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  /**<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * This class is used to record the used workers(region servers) for a replication peer. For<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * balancing the replaying remote wal job, we will only schedule one remote replay procedure each<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * time. So when acquiring a worker, we will first get all the region servers for this cluster,<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * and then filter out the used ones.<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * &lt;p/&gt;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   * The {@link ProcedureEvent} is used for notifying procedures that there are available workers<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * now. We used to use sleeping and retrying before, but if the interval is too large, for<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * example, exponential backoff, then it is not effective, but if the interval is too small, then<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * we will flood the procedure wal.<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * &lt;p/&gt;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * The states are only kept in memory, so when restarting, we need to reconstruct these<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * information, using the information stored in related procedures. See the {@code afterReplay}<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * method in {@link RecoverStandbyProcedure} and {@link SyncReplicationReplayWALProcedure} for<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * more details.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  private static final class UsedReplayWorkersForPeer {<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>    private final Set&lt;ServerName&gt; usedWorkers = new HashSet&lt;ServerName&gt;();<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    private final ProcedureEvent&lt;?&gt; event;<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>    public UsedReplayWorkersForPeer(String peerId) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      this.event = new ProcedureEvent&lt;&gt;(peerId);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>    public void used(ServerName worker) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      usedWorkers.add(worker);<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    public Optional&lt;ServerName&gt; acquire(ServerManager serverManager) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      Optional&lt;ServerName&gt; worker = serverManager.getOnlineServers().keySet().stream()<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        .filter(server -&gt; !usedWorkers.contains(server)).findAny();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      worker.ifPresent(usedWorkers::add);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      return worker;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void release(ServerName worker) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      usedWorkers.remove(worker);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    }<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>    public void suspend(Procedure&lt;?&gt; proc) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      event.suspend();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      event.suspendIfNotReady(proc);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>    public void wake(MasterProcedureScheduler scheduler) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      if (!event.isReady()) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        event.wake(scheduler);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      }<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  private final ConcurrentMap&lt;String, UsedReplayWorkersForPeer&gt; usedWorkersByPeer =<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    new ConcurrentHashMap&lt;&gt;();<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  public SyncReplicationReplayWALManager(MasterServices services)<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      throws IOException, ReplicationException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    this.serverManager = services.getServerManager();<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    this.fs = services.getMasterFileSystem().getWALFileSystem();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    this.walRootDir = services.getMasterFileSystem().getWALRootDir();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    this.remoteWALDir = new Path(this.walRootDir, ReplicationUtils.REMOTE_WAL_DIR_NAME);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    MasterProcedureScheduler scheduler =<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      services.getMasterProcedureExecutor().getEnvironment().getProcedureScheduler();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    serverManager.registerListener(new ServerListener() {<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>      @Override<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      public void serverAdded(ServerName serverName) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        for (UsedReplayWorkersForPeer usedWorkers : usedWorkersByPeer.values()) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          synchronized (usedWorkers) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>            usedWorkers.wake(scheduler);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>          }<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        }<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    });<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  public void registerPeer(String peerId) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    usedWorkersByPeer.put(peerId, new UsedReplayWorkersForPeer(peerId));<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  }<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span>  public void unregisterPeer(String peerId) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    usedWorkersByPeer.remove(peerId);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  /**<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   * Get a worker for replaying remote wal for a give peer. If no worker available, i.e, all the<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * region servers have been used by others, a {@link ProcedureSuspendedException} will be thrown<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * to suspend the procedure. And it will be woken up later when there are available workers,<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * either by others release a worker, or there is a new region server joins the cluster.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  public ServerName acquirePeerWorker(String peerId, Procedure&lt;?&gt; proc)<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      throws ProcedureSuspendedException {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    UsedReplayWorkersForPeer usedWorkers = usedWorkersByPeer.get(peerId);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    synchronized (usedWorkers) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      Optional&lt;ServerName&gt; worker = usedWorkers.acquire(serverManager);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (worker.isPresent()) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        return worker.get();<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      // no worker available right now, suspend the procedure<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      usedWorkers.suspend(proc);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    throw new ProcedureSuspendedException();<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>  public void releasePeerWorker(String peerId, ServerName worker,<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      MasterProcedureScheduler scheduler) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    UsedReplayWorkersForPeer usedWorkers = usedWorkersByPeer.get(peerId);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    synchronized (usedWorkers) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      usedWorkers.release(worker);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      usedWorkers.wake(scheduler);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  }<a name="line.199"></a>
+<span class="sourceLineNo">200</span><a name="line.200"></a>
+<span class="sourceLineNo">201</span>  /**<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * Will only be called when loading procedures, where we need to construct the used worker set for<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * each peer.<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  public void addUsedPeerWorker(String peerId, ServerName worker) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    usedWorkersByPeer.get(peerId).used(worker);<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public void createPeerRemoteWALDir(String peerId) throws IOException {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    Path peerRemoteWALDir = getPeerRemoteWALDir(remoteWALDir, peerId);<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    if (!fs.exists(peerRemoteWALDir) &amp;&amp; !fs.mkdirs(peerRemoteWALDir)) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      throw new IOException("Unable to mkdir " + peerRemoteWALDir);<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  private void rename(Path src, Path dst, String peerId) throws IOException {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    if (fs.exists(src)) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      deleteDir(dst, peerId);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (!fs.rename(src, dst)) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        throw new IOException(<a name="line.220"></a>
+<span class="sourceLineNo">221</span>          "Failed to rename dir from " + src + " to " + dst + " for peer id=" + peerId);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      }<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      LOG.info("Renamed dir from {} to {} for peer id={}", src, dst, peerId);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    } else if (!fs.exists(dst)) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      throw new IOException(<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        "Want to rename from " + src + " to " + dst + ", but they both do not exist");<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  public void renameToPeerReplayWALDir(String peerId) throws IOException {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    rename(getPeerRemoteWALDir(remoteWALDir, peerId), getPeerReplayWALDir(remoteWALDir, peerId),<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      peerId);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>  public void renameToPeerSnapshotWALDir(String peerId) throws IOException {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    rename(getPeerReplayWALDir(remoteWALDir, peerId), getPeerSnapshotWALDir(remoteWALDir, peerId),<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      peerId);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  public List&lt;Path&gt; getReplayWALsAndCleanUpUnusedFiles(String peerId) throws IOException {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    Path peerReplayWALDir = getPeerReplayWALDir(remoteWALDir, peerId);<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    for (FileStatus status : fs.listStatus(peerReplayWALDir,<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      p -&gt; p.getName().endsWith(ReplicationUtils.RENAME_WAL_SUFFIX))) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      Path src = status.getPath();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      String srcName = src.getName();<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      String dstName =<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        srcName.substring(0, srcName.length() - ReplicationUtils.RENAME_WAL_SUFFIX.length());<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      FSUtils.renameFile(fs, src, new Path(src.getParent(), dstName));<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    }<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    List&lt;Path&gt; wals = new ArrayList&lt;&gt;();<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    for (FileStatus status : fs.listStatus(peerReplayWALDir)) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      Path path = status.getPath();<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      if (path.getName().endsWith(ReplicationUtils.SYNC_WAL_SUFFIX)) {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        wals.add(path);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      } else {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        if (!fs.delete(path, true)) {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>          LOG.warn("Can not delete unused file: " + path);<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        }<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      }<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    return wals;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private void deleteDir(Path dir, String peerId) throws IOException {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    if (!fs.delete(dir, true) &amp;&amp; fs.exists(dir)) {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>      throw new IOException("Failed to remove dir " + dir + " for peer id=" + peerId);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    }<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  public void removePeerRemoteWALs(String peerId) throws IOException {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    deleteDir(getPeerRemoteWALDir(remoteWALDir, peerId), peerId);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    deleteDir(getPeerReplayWALDir(remoteWALDir, peerId), peerId);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    deleteDir(getPeerSnapshotWALDir(remoteWALDir, peerId), peerId);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public String removeWALRootPath(Path path) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    String pathStr = path.toString();<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    // remove the "/" too.<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    return pathStr.substring(walRootDir.toString().length() + 1);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  public void finishReplayWAL(String wal) throws IOException {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    Path walPath = new Path(walRootDir, wal);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    fs.truncate(walPath, 0);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public boolean isReplayWALFinished(String wal) throws IOException {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    Path walPath = new Path(walRootDir, wal);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    return fs.getFileStatus(walPath).getLen() == 0;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  }<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>  @VisibleForTesting<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  public Path getRemoteWALDir() {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    return remoteWALDir;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>}<a name="line.296"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html
index 4baf172..84cf576 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html
@@ -25,205 +25,283 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master.replication;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.REMOTE_WAL_REPLAY_SUFFIX;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.getPeerRemoteWALDir;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.getPeerReplayWALDir;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.getPeerSnapshotWALDir;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.ArrayList;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.HashMap;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.HashSet;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.List;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Map;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Optional;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.Set;<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.FileStatus;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.FileSystem;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.Path;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ServerName;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.replication.ReplicationUtils;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.slf4j.Logger;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.slf4j.LoggerFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>@InterfaceAudience.Private<a name="line.48"></a>
-<span class="sourceLineNo">049</span>public class SyncReplicationReplayWALManager {<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  private static final Logger LOG =<a name="line.51"></a>
-<span class="sourceLineNo">052</span>      LoggerFactory.getLogger(SyncReplicationReplayWALManager.class);<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  private final MasterServices services;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private final FileSystem fs;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private final Path walRootDir;<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  private final Path remoteWALDir;<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  private final ZKSyncReplicationReplayWALWorkerStorage workerStorage;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private final Map&lt;String, Set&lt;ServerName&gt;&gt; workers = new HashMap&lt;&gt;();<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  private final Object workerLock = new Object();<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public SyncReplicationReplayWALManager(MasterServices services)<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      throws IOException, ReplicationException {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    this.services = services;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    this.fs = services.getMasterFileSystem().getWALFileSystem();<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    this.walRootDir = services.getMasterFileSystem().getWALRootDir();<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    this.remoteWALDir = new Path(this.walRootDir, ReplicationUtils.REMOTE_WAL_DIR_NAME);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    this.workerStorage = new ZKSyncReplicationReplayWALWorkerStorage(services.getZooKeeper(),<a name="line.74"></a>
-<span class="sourceLineNo">075</span>        services.getConfiguration());<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    checkReplayingWALDir();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.getPeerRemoteWALDir;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.getPeerReplayWALDir;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.replication.ReplicationUtils.getPeerSnapshotWALDir;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.HashSet;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Optional;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Set;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.concurrent.ConcurrentMap;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileStatus;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.FileSystem;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.Path;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.master.ServerListener;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.master.ServerManager;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.procedure2.ProcedureEvent;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.replication.ReplicationUtils;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.slf4j.Logger;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.slf4j.LoggerFactory;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>/**<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * The manager for replaying remote wal.<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * &lt;p/&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * First, it will be used to balance the replay work across all the region servers. We will record<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * the region servers which have already been used for replaying wal, and prevent sending new replay<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * work to it, until the previous replay work has been done, where we will remove the region server<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * from the used worker set. See the comment for {@code UsedReplayWorkersForPeer} for more details.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * &lt;p/&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * Second, the logic for managing the remote wal directory is kept here. Before replaying the wals,<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * we will rename the remote wal directory, the new name is called 'replay' directory, see<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * {@link #renameToPeerReplayWALDir(String)}. This is used to prevent further writing of remote<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * wals, which is very important for keeping consistency. And then we will start replaying all the<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * wals, once a wal has been replayed, we will truncate the file, so that if there are crashes<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * happen, we do not need to replay all the wals again, see {@link #finishReplayWAL(String)} and<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * {@link #isReplayWALFinished(String)}. After replaying all the wals, we will rename the 'replay'<a name="line.66"></a>
+<span class="sourceLineNo">067</span> * directory, the new name is called 'snapshot' directory. In the directory, we will keep all the<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * names for the wals being replayed, since all the files should have been truncated. When we<a name="line.68"></a>
+<span class="sourceLineNo">069</span> * transitting original the ACTIVE cluster to STANDBY later, and there are region server crashes, we<a name="line.69"></a>
+<span class="sourceLineNo">070</span> * will see the wals in this directory to determine whether a wal should be split and replayed or<a name="line.70"></a>
+<span class="sourceLineNo">071</span> * not. You can see the code in {@link org.apache.hadoop.hbase.regionserver.SplitLogWorker} for more<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * details.<a name="line.72"></a>
+<span class="sourceLineNo">073</span> */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>@InterfaceAudience.Private<a name="line.74"></a>
+<span class="sourceLineNo">075</span>public class SyncReplicationReplayWALManager {<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  private static final Logger LOG = LoggerFactory.getLogger(SyncReplicationReplayWALManager.class);<a name="line.77"></a>
 <span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private void checkReplayingWALDir() throws IOException, ReplicationException {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    FileStatus[] files = fs.listStatus(remoteWALDir);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    for (FileStatus file : files) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      String name = file.getPath().getName();<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      if (name.endsWith(REMOTE_WAL_REPLAY_SUFFIX)) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>        String peerId = name.substring(0, name.length() - REMOTE_WAL_REPLAY_SUFFIX.length());<a name="line.84"></a>
-<span class="sourceLineNo">085</span>        workers.put(peerId, workerStorage.getPeerWorkers(peerId));<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      }<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  public void registerPeer(String peerId) throws ReplicationException {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    workers.put(peerId, new HashSet&lt;&gt;());<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    workerStorage.addPeer(peerId);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public void unregisterPeer(String peerId) throws ReplicationException {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    workers.remove(peerId);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    workerStorage.removePeer(peerId);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public ServerName getPeerWorker(String peerId) throws ReplicationException {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    Optional&lt;ServerName&gt; worker = Optional.empty();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    ServerName workerServer = null;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    synchronized (workerLock) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      worker = services.getServerManager().getOnlineServers().keySet().stream()<a name="line.104"></a>
-<span class="sourceLineNo">105</span>          .filter(server -&gt; !workers.get(peerId).contains(server)).findFirst();<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      if (worker.isPresent()) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>        workerServer = worker.get();<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        workers.get(peerId).add(workerServer);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    }<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    if (workerServer != null) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      workerStorage.addPeerWorker(peerId, workerServer);<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return workerServer;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">079</span>  private final ServerManager serverManager;<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  private final FileSystem fs;<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  private final Path walRootDir;<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Path remoteWALDir;<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  /**<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * This class is used to record the used workers(region servers) for a replication peer. For<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * balancing the replaying remote wal job, we will only schedule one remote replay procedure each<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * time. So when acquiring a worker, we will first get all the region servers for this cluster,<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * and then filter out the used ones.<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * &lt;p/&gt;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   * The {@link ProcedureEvent} is used for notifying procedures that there are available workers<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * now. We used to use sleeping and retrying before, but if the interval is too large, for<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * example, exponential backoff, then it is not effective, but if the interval is too small, then<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * we will flood the procedure wal.<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * &lt;p/&gt;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * The states are only kept in memory, so when restarting, we need to reconstruct these<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * information, using the information stored in related procedures. See the {@code afterReplay}<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * method in {@link RecoverStandbyProcedure} and {@link SyncReplicationReplayWALProcedure} for<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * more details.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  private static final class UsedReplayWorkersForPeer {<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>    private final Set&lt;ServerName&gt; usedWorkers = new HashSet&lt;ServerName&gt;();<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    private final ProcedureEvent&lt;?&gt; event;<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>    public UsedReplayWorkersForPeer(String peerId) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      this.event = new ProcedureEvent&lt;&gt;(peerId);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>    public void used(ServerName worker) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      usedWorkers.add(worker);<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
 <span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public void removePeerWorker(String peerId, ServerName worker) throws ReplicationException {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    synchronized (workerLock) {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      workers.get(peerId).remove(worker);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    }<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    workerStorage.removePeerWorker(peerId, worker);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  public void createPeerRemoteWALDir(String peerId) throws IOException {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    Path peerRemoteWALDir = getPeerRemoteWALDir(remoteWALDir, peerId);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    if (!fs.exists(peerRemoteWALDir) &amp;&amp; !fs.mkdirs(peerRemoteWALDir)) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      throw new IOException("Unable to mkdir " + peerRemoteWALDir);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>  private void rename(Path src, Path dst, String peerId) throws IOException {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    if (fs.exists(src)) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      deleteDir(dst, peerId);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      if (!fs.rename(src, dst)) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        throw new IOException(<a name="line.134"></a>
-<span class="sourceLineNo">135</span>            "Failed to rename dir from " + src + " to " + dst + " for peer id=" + peerId);<a name="line.135"></a>
+<span class="sourceLineNo">117</span>    public Optional&lt;ServerName&gt; acquire(ServerManager serverManager) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      Optional&lt;ServerName&gt; worker = serverManager.getOnlineServers().keySet().stream()<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        .filter(server -&gt; !usedWorkers.contains(server)).findAny();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      worker.ifPresent(usedWorkers::add);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      return worker;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void release(ServerName worker) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      usedWorkers.remove(worker);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    }<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>    public void suspend(Procedure&lt;?&gt; proc) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      event.suspend();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      event.suspendIfNotReady(proc);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>    public void wake(MasterProcedureScheduler scheduler) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      if (!event.isReady()) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        event.wake(scheduler);<a name="line.135"></a>
 <span class="sourceLineNo">136</span>      }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      LOG.info("Renamed dir from {} to {} for peer id={}", src, dst, peerId);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    } else if (!fs.exists(dst)) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      throw new IOException(<a name="line.139"></a>
-<span class="sourceLineNo">140</span>          "Want to rename from " + src + " to " + dst + ", but they both do not exist");<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public void renameToPeerReplayWALDir(String peerId) throws IOException {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    rename(getPeerRemoteWALDir(remoteWALDir, peerId), getPeerReplayWALDir(remoteWALDir, peerId),<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        peerId);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public void renameToPeerSnapshotWALDir(String peerId) throws IOException {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    rename(getPeerReplayWALDir(remoteWALDir, peerId), getPeerSnapshotWALDir(remoteWALDir, peerId),<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        peerId);<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
-<span class="sourceLineNo">153</span><a name="line.153"></a>
-<span class="sourceLineNo">154</span>  public List&lt;Path&gt; getReplayWALsAndCleanUpUnusedFiles(String peerId) throws IOException {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    Path peerReplayWALDir = getPeerReplayWALDir(remoteWALDir, peerId);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    for (FileStatus status : fs.listStatus(peerReplayWALDir,<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      p -&gt; p.getName().endsWith(ReplicationUtils.RENAME_WAL_SUFFIX))) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      Path src = status.getPath();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      String srcName = src.getName();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      String dstName =<a name="line.160"></a>
-<span class="sourceLineNo">161</span>          srcName.substring(0, srcName.length() - ReplicationUtils.RENAME_WAL_SUFFIX.length());<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      FSUtils.renameFile(fs, src, new Path(src.getParent(), dstName));<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    List&lt;Path&gt; wals = new ArrayList&lt;&gt;();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    for (FileStatus status : fs.listStatus(peerReplayWALDir)) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      Path path = status.getPath();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      if (path.getName().endsWith(ReplicationUtils.SYNC_WAL_SUFFIX)) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>        wals.add(path);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      } else {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        if (!fs.delete(path, true)) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>          LOG.warn("Can not delete unused file: " + path);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      }<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return wals;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public void snapshotPeerReplayWALDir(String peerId) throws IOException {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    Path peerReplayWALDir = getPeerReplayWALDir(remoteWALDir, peerId);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    if (fs.exists(peerReplayWALDir) &amp;&amp; !fs.delete(peerReplayWALDir, true)) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      throw new IOException(<a name="line.181"></a>
-<span class="sourceLineNo">182</span>          "Failed to remove replay wals dir " + peerReplayWALDir + " for peer id=" + peerId);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  private void deleteDir(Path dir, String peerId) throws IOException {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    if (!fs.delete(dir, true) &amp;&amp; fs.exists(dir)) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      throw new IOException("Failed to remove dir " + dir + " for peer id=" + peerId);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  private final ConcurrentMap&lt;String, UsedReplayWorkersForPeer&gt; usedWorkersByPeer =<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    new ConcurrentHashMap&lt;&gt;();<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  public SyncReplicationReplayWALManager(MasterServices services)<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      throws IOException, ReplicationException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    this.serverManager = services.getServerManager();<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    this.fs = services.getMasterFileSystem().getWALFileSystem();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    this.walRootDir = services.getMasterFileSystem().getWALRootDir();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    this.remoteWALDir = new Path(this.walRootDir, ReplicationUtils.REMOTE_WAL_DIR_NAME);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    MasterProcedureScheduler scheduler =<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      services.getMasterProcedureExecutor().getEnvironment().getProcedureScheduler();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    serverManager.registerListener(new ServerListener() {<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>      @Override<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      public void serverAdded(ServerName serverName) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        for (UsedReplayWorkersForPeer usedWorkers : usedWorkersByPeer.values()) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          synchronized (usedWorkers) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>            usedWorkers.wake(scheduler);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>          }<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        }<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    });<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  public void registerPeer(String peerId) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    usedWorkersByPeer.put(peerId, new UsedReplayWorkersForPeer(peerId));<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  }<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span>  public void unregisterPeer(String peerId) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    usedWorkersByPeer.remove(peerId);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  /**<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   * Get a worker for replaying remote wal for a give peer. If no worker available, i.e, all the<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * region servers have been used by others, a {@link ProcedureSuspendedException} will be thrown<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * to suspend the procedure. And it will be woken up later when there are available workers,<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * either by others release a worker, or there is a new region server joins the cluster.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  public ServerName acquirePeerWorker(String peerId, Procedure&lt;?&gt; proc)<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      throws ProcedureSuspendedException {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    UsedReplayWorkersForPeer usedWorkers = usedWorkersByPeer.get(peerId);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    synchronized (usedWorkers) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      Optional&lt;ServerName&gt; worker = usedWorkers.acquire(serverManager);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (worker.isPresent()) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        return worker.get();<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      // no worker available right now, suspend the procedure<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      usedWorkers.suspend(proc);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    throw new ProcedureSuspendedException();<a name="line.189"></a>
 <span class="sourceLineNo">190</span>  }<a name="line.190"></a>
 <span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  public void removePeerRemoteWALs(String peerId) throws IOException {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    deleteDir(getPeerRemoteWALDir(remoteWALDir, peerId), peerId);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    deleteDir(getPeerReplayWALDir(remoteWALDir, peerId), peerId);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    deleteDir(getPeerSnapshotWALDir(remoteWALDir, peerId), peerId);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  public String removeWALRootPath(Path path) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    String pathStr = path.toString();<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // remove the "/" too.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    return pathStr.substring(walRootDir.toString().length() + 1);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  public void finishReplayWAL(String wal) throws IOException {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    Path walPath = new Path(walRootDir, wal);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    fs.truncate(walPath, 0);<a name="line.206"></a>
+<span class="sourceLineNo">192</span>  public void releasePeerWorker(String peerId, ServerName worker,<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      MasterProcedureScheduler scheduler) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    UsedReplayWorkersForPeer usedWorkers = usedWorkersByPeer.get(peerId);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    synchronized (usedWorkers) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      usedWorkers.release(worker);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      usedWorkers.wake(scheduler);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  }<a name="line.199"></a>
+<span class="sourceLineNo">200</span><a name="line.200"></a>
+<span class="sourceLineNo">201</span>  /**<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * Will only be called when loading procedures, where we need to construct the used worker set for<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * each peer.<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  public void addUsedPeerWorker(String peerId, ServerName worker) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    usedWorkersByPeer.get(peerId).used(worker);<a name="line.206"></a>
 <span class="sourceLineNo">207</span>  }<a name="line.207"></a>
 <span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  public boolean isReplayWALFinished(String wal) throws IOException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    Path walPath = new Path(walRootDir, wal);<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    return fs.getFileStatus(walPath).getLen() == 0;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  }<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>  @VisibleForTesting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  public Path getRemoteWALDir() {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    return remoteWALDir;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  }<a name="line.217"></a>
-<span class="sourceLineNo">218</span>}<a name="line.218"></a>
+<span class="sourceLineNo">209</span>  public void createPeerRemoteWALDir(String peerId) throws IOException {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    Path peerRemoteWALDir = getPeerRemoteWALDir(remoteWALDir, peerId);<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    if (!fs.exists(peerRemoteWALDir) &amp;&amp; !fs.mkdirs(peerRemoteWALDir)) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      throw new IOException("Unable to mkdir " + peerRemoteWALDir);<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  private void rename(Path src, Path dst, String peerId) throws IOException {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    if (fs.exists(src)) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      deleteDir(dst, peerId);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (!fs.rename(src, dst)) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        throw new IOException(<a name="line.220"></a>
+<span class="sourceLineNo">221</span>          "Failed to rename dir from " + src + " to " + dst + " for peer id=" + peerId);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      }<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      LOG.info("Renamed dir from {} to {} for peer id={}", src, dst, peerId);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    } else if (!fs.exists(dst)) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      throw new IOException(<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        "Want to rename from " + src + " to " + dst + ", but they both do not exist");<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  public void renameToPeerReplayWALDir(String peerId) throws IOException {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    rename(getPeerRemoteWALDir(remoteWALDir, peerId), getPeerReplayWALDir(remoteWALDir, peerId),<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      peerId);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>  public void renameToPeerSnapshotWALDir(String peerId) throws IOException {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    rename(getPeerReplayWALDir(remoteWALDir, peerId), getPeerSnapshotWALDir(remoteWALDir, peerId),<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      peerId);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  public List&lt;Path&gt; getReplayWALsAndCleanUpUnusedFiles(String peerId) throws IOException {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    Path peerReplayWALDir = getPeerReplayWALDir(remoteWALDir, peerId);<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    for (FileStatus status : fs.listStatus(peerReplayWALDir,<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      p -&gt; p.getName().endsWith(ReplicationUtils.RENAME_WAL_SUFFIX))) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      Path src = status.getPath();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      String srcName = src.getName();<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      String dstName =<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        srcName.substring(0, srcName.length() - ReplicationUtils.RENAME_WAL_SUFFIX.length());<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      FSUtils.renameFile(fs, src, new Path(src.getParent(), dstName));<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    }<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    List&lt;Path&gt; wals = new ArrayList&lt;&gt;();<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    for (FileStatus status : fs.listStatus(peerReplayWALDir)) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      Path path = status.getPath();<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      if (path.getName().endsWith(ReplicationUtils.SYNC_WAL_SUFFIX)) {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        wals.add(path);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      } else {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        if (!fs.delete(path, true)) {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>          LOG.warn("Can not delete unused file: " + path);<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        }<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      }<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    return wals;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private void deleteDir(Path dir, String peerId) throws IOException {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    if (!fs.delete(dir, true) &amp;&amp; fs.exists(dir)) {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>      throw new IOException("Failed to remove dir " + dir + " for peer id=" + peerId);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    }<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  public void removePeerRemoteWALs(String peerId) throws IOException {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    deleteDir(getPeerRemoteWALDir(remoteWALDir, peerId), peerId);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    deleteDir(getPeerReplayWALDir(remoteWALDir, peerId), peerId);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    deleteDir(getPeerSnapshotWALDir(remoteWALDir, peerId), peerId);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public String removeWALRootPath(Path path) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    String pathStr = path.toString();<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    // remove the "/" too.<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    return pathStr.substring(walRootDir.toString().length() + 1);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  public void finishReplayWAL(String wal) throws IOException {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    Path walPath = new Path(walRootDir, wal);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    fs.truncate(walPath, 0);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public boolean isReplayWALFinished(String wal) throws IOException {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    Path walPath = new Path(walRootDir, wal);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    return fs.getFileStatus(walPath).getLen() == 0;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  }<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>  @VisibleForTesting<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  public Path getRemoteWALDir() {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    return remoteWALDir;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>}<a name="line.296"></a>
 
 
 


[08/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html b/devapidocs/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html
deleted file mode 100644
index 0abcd59..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html
+++ /dev/null
@@ -1,476 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ZKSyncReplicationReplayWALWorkerStorage (Apache HBase 3.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ZKSyncReplicationReplayWALWorkerStorage (Apache HBase 3.0.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ZKSyncReplicationReplayWALWorkerStorage.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" target="_top">Frames</a></li>
-<li><a href="ZKSyncReplicationReplayWALWorkerStorage.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.master.replication</div>
-<h2 title="Class ZKSyncReplicationReplayWALWorkerStorage" class="title">Class ZKSyncReplicationReplayWALWorkerStorage</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html" title="class in org.apache.hadoop.hbase.replication">org.apache.hadoop.hbase.replication.ZKReplicationStorageBase</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.36">ZKSyncReplicationReplayWALWorkerStorage</a>
-extends <a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationStorageBase</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</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>
-<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/replication/ZKSyncReplicationReplayWALWorkerStorage.html#WORKERS_ZNODE">WORKERS_ZNODE</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<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/replication/ZKSyncReplicationReplayWALWorkerStorage.html#WORKERS_ZNODE_DEFAULT">WORKERS_ZNODE_DEFAULT</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/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/replication/ZKSyncReplicationReplayWALWorkerStorage.html#workersZNode">workersZNode</a></span></code>
-<div class="block">The name of the znode that contains a list of workers to replay wal.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.replication.ZKReplicationStorageBase">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.replication.<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationStorageBase</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html#conf">conf</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html#REPLICATION_ZNODE">REPLICATION_ZNODE</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html#REPLICATION_ZNODE_DEFAULT">REPLICATION_ZNODE_DEFAULT</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html#replicationZNode">replicationZNode</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html#zookeeper">zookeeper</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#ZKSyncReplicationReplayWALWorkerStorage-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.conf.Configuration-">ZKSyncReplicationReplayWALWorkerStorage</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zookeeper,
-                                       org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#addPeer-java.lang.String-">addPeer</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="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#addPeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">addPeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>private <a href="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/replication/ZKSyncReplicationReplayWALWorkerStorage.html#getPeerNode-java.lang.String-">getPeerNode</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="i3" class="rowColor">
-<td class="colFirst"><code>private <a href="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/replication/ZKSyncReplicationReplayWALWorkerStorage.html#getPeerWorkerNode-java.lang.String-org.apache.hadoop.hbase.ServerName-">getPeerWorkerNode</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><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/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#getPeerWorkers-java.lang.String-">getPeerWorkers</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="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.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="i6" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">removePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.replication.ZKReplicationStorageBase">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.replication.<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationStorageBase</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html#toByteArray-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ReplicationState.State-">toByteArray</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="WORKERS_ZNODE">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>WORKERS_ZNODE</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/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.38">WORKERS_ZNODE</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage.WORKERS_ZNODE">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="WORKERS_ZNODE_DEFAULT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>WORKERS_ZNODE_DEFAULT</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/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.40">WORKERS_ZNODE_DEFAULT</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage.WORKERS_ZNODE_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="workersZNode">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>workersZNode</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/ZKSyncReplicationReplayWALWorkerStorage.html#line.45">workersZNode</a></pre>
-<div class="block">The name of the znode that contains a list of workers to replay wal.</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ZKSyncReplicationReplayWALWorkerStorage-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ZKSyncReplicationReplayWALWorkerStorage</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.47">ZKSyncReplicationReplayWALWorkerStorage</a>(<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zookeeper,
-                                               org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getPeerNode-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getPeerNode</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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.53">getPeerNode</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>
-</li>
-</ul>
-<a name="addPeer-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.57">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)
-             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>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="removePeer-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>removePeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.66">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>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getPeerWorkerNode-java.lang.String-org.apache.hadoop.hbase.ServerName-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getPeerWorkerNode</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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.75">getPeerWorkerNode</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</pre>
-</li>
-</ul>
-<a name="addPeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addPeerWorker</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.79">addPeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)
-                   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>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>removePeerWorker</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.88">removePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)
-                      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>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getPeerWorkers-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getPeerWorkers</h4>
-<pre>public&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/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#line.97">getPeerWorkers</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>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ZKSyncReplicationReplayWALWorkerStorage.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" target="_top">Frames</a></li>
-<li><a href="ZKSyncReplicationReplayWALWorkerStorage.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html
index 405fc16..bd10873 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html
@@ -135,7 +135,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code>
+<div class="block">The procedure for replaying all the remote wals for transitting a sync replication peer from
+ STANDBY to DOWNGRADE_ACTIVE.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
@@ -145,7 +148,9 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code>
+<div class="block">The procedure for replaying a set of remote wals.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html b/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html
new file mode 100644
index 0000000..0f233b1
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALManager.UsedReplayWorkersForPeer (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALManager.UsedReplayWorkersForPeer (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" target="_top">Frames</a></li>
+<li><a href="SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALManager.UsedReplayWorkersForPeer" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</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> with type parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</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="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/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#usedWorkersByPeer">usedWorkersByPeer</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" target="_top">Frames</a></li>
+<li><a href="SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/ZKSyncReplicationReplayWALWorkerStorage.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/ZKSyncReplicationReplayWALWorkerStorage.html b/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/ZKSyncReplicationReplayWALWorkerStorage.html
deleted file mode 100644
index 8b73b00..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/ZKSyncReplicationReplayWALWorkerStorage.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage (Apache HBase 3.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage (Apache HBase 3.0.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/ZKSyncReplicationReplayWALWorkerStorage.html" target="_top">Frames</a></li>
-<li><a href="ZKSyncReplicationReplayWALWorkerStorage.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.replication.ZKSyncReplicationReplayWALWorkerStorage</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</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/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</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/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#workerStorage">workerStorage</a></span></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/ZKSyncReplicationReplayWALWorkerStorage.html" target="_top">Frames</a></li>
-<li><a href="ZKSyncReplicationReplayWALWorkerStorage.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html b/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
index 9356a6d..4300886 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
@@ -24,11 +24,11 @@
 <li><a href="RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">RemovePeerProcedure</a></li>
 <li><a href="ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">ReplicationPeerManager</a></li>
 <li><a href="SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">SyncReplicationReplayWALManager</a></li>
+<li><a href="SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></li>
 <li><a href="SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">SyncReplicationReplayWALProcedure</a></li>
 <li><a href="SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">SyncReplicationReplayWALRemoteProcedure</a></li>
 <li><a href="TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">TransitPeerSyncReplicationStateProcedure</a></li>
 <li><a href="UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">UpdatePeerConfigProcedure</a></li>
-<li><a href="ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">ZKSyncReplicationReplayWALWorkerStorage</a></li>
 </ul>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html b/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
index 1aa621c..f6d7bec 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
@@ -122,7 +122,10 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">The procedure for replaying all the remote wals for transitting a sync replication peer from
+ STANDBY to DOWNGRADE_ACTIVE.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a></td>
@@ -142,32 +145,40 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">The manager for replaying remote wal.</div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a></td>
+<td class="colLast">
+<div class="block">This class is used to record the used workers(region servers) for a replication peer.</div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></td>
+<td class="colLast">
+<div class="block">The procedure for replaying a set of remote wals.</div>
+</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></td>
+<td class="colLast">
+<div class="block">A remote procedure which is used to send replaying remote wal work to region server.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a></td>
 <td class="colLast">
 <div class="block">The procedure for transit current sync replication state for a synchronous replication peer.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">UpdatePeerConfigProcedure</a></td>
 <td class="colLast">
 <div class="block">The procedure for updating the config for a replication peer.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
index e2b8f75..06ca455 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
@@ -113,11 +113,7 @@
 </li>
 <li type="circle">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"><span class="typeNameLink">ReplicationPeerManager</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALManager</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ZKReplicationStorageBase</span></a>
-<ul>
-<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">ZKSyncReplicationReplayWALWorkerStorage</span></a></li>
-</ul>
-</li>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html b/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html
index 3c97da7..76d57da 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html
@@ -121,7 +121,9 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.html#org.apache.hadoop.hbase.master">SyncReplicationReplayWALManager</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.html#org.apache.hadoop.hbase.master">SyncReplicationReplayWALManager</a>
+<div class="block">The manager for replaying remote wal.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -192,10 +194,14 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.html#org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.html#org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>
+<div class="block">The manager for replaying remote wal.</div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/ZKSyncReplicationReplayWALWorkerStorage.html#org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a>
+<div class="block">This class is used to record the used workers(region servers) for a replication peer.</div>
+</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index ea36e4c..cbdf079 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -437,19 +437,19 @@
 <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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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/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/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/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/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/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/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/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</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/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/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/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/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/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/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/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</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/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/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>
 </ul>
 </li>
 </ul>


[07/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html b/devapidocs/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html
index 674afd0..ed2d51e 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.31">AbstractProcedureScheduler</a>
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.33">AbstractProcedureScheduler</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/procedure2/ProcedureScheduler.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureScheduler</a></pre>
 </li>
@@ -327,7 +327,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
              <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 <tr id="i23" class="rowColor">
-<td class="colFirst"><code>(package private) void</code></td>
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#wakeEvents-org.apache.hadoop.hbase.procedure2.ProcedureEvent:A-">wakeEvents</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>[]&nbsp;events)</code>
 <div class="block">Wake up all of the given events.</div>
 </td>
@@ -381,7 +381,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <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/procedure2/AbstractProcedureScheduler.html#line.32">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.34">LOG</a></pre>
 </li>
 </ul>
 <a name="schedulerLock">
@@ -390,7 +390,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>schedulerLock</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.33">schedulerLock</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.35">schedulerLock</a></pre>
 </li>
 </ul>
 <a name="schedWaitCond">
@@ -399,7 +399,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>schedWaitCond</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.34">schedWaitCond</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.36">schedWaitCond</a></pre>
 </li>
 </ul>
 <a name="running">
@@ -408,7 +408,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>running</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.35">running</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.37">running</a></pre>
 </li>
 </ul>
 <a name="pollCalls">
@@ -417,7 +417,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>pollCalls</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.38">pollCalls</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.40">pollCalls</a></pre>
 </li>
 </ul>
 <a name="nullPollCalls">
@@ -426,7 +426,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockListLast">
 <li class="blockList">
 <h4>nullPollCalls</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.39">nullPollCalls</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.41">nullPollCalls</a></pre>
 </li>
 </ul>
 </li>
@@ -443,7 +443,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AbstractProcedureScheduler</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.31">AbstractProcedureScheduler</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.33">AbstractProcedureScheduler</a>()</pre>
 </li>
 </ul>
 </li>
@@ -460,7 +460,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>start</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.42">start</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.44">start</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#start--">ProcedureScheduler</a></code></span></div>
 <div class="block">Start the scheduler</div>
 <dl>
@@ -475,7 +475,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.52">stop</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.54">stop</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#stop--">ProcedureScheduler</a></code></span></div>
 <div class="block">Stop the scheduler</div>
 <dl>
@@ -490,7 +490,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>signalAll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.63">signalAll</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.65">signalAll</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#signalAll--">ProcedureScheduler</a></code></span></div>
 <div class="block">In case the class is blocking on poll() waiting for items to be added,
  this method should awake poll() and poll() should return.</div>
@@ -506,7 +506,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>enqueue</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.81">enqueue</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.83">enqueue</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
                                 boolean&nbsp;addFront)</pre>
 <div class="block">Add the procedure to the queue.
  NOTE: this method is called with the sched lock held.</div>
@@ -523,7 +523,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>addFront</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.84">addFront</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.86">addFront</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#addFront-org.apache.hadoop.hbase.procedure2.Procedure-">ProcedureScheduler</a></code></span></div>
 <div class="block">Inserts the specified element at the front of this queue.</div>
 <dl>
@@ -540,7 +540,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>addFront</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.89">addFront</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.91">addFront</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
                      boolean&nbsp;notify)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#addFront-org.apache.hadoop.hbase.procedure2.Procedure-boolean-">ProcedureScheduler</a></code></span></div>
 <div class="block">Inserts the specified element at the front of this queue.</div>
@@ -559,7 +559,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>addFront</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.94">addFront</a>(<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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;&nbsp;procedureIterator)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.96">addFront</a>(<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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;&nbsp;procedureIterator)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#addFront-java.util.Iterator-">ProcedureScheduler</a></code></span></div>
 <div class="block">Inserts all elements in the iterator at the front of this queue.</div>
 <dl>
@@ -574,7 +574,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>addBack</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.113">addBack</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.115">addBack</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#addBack-org.apache.hadoop.hbase.procedure2.Procedure-">ProcedureScheduler</a></code></span></div>
 <div class="block">Inserts the specified element at the end of this queue.</div>
 <dl>
@@ -591,7 +591,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>addBack</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.118">addBack</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.120">addBack</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
                     boolean&nbsp;notify)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#addBack-org.apache.hadoop.hbase.procedure2.Procedure-boolean-">ProcedureScheduler</a></code></span></div>
 <div class="block">Inserts the specified element at the end of this queue.</div>
@@ -610,7 +610,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>push</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.122">push</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.124">push</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
                     boolean&nbsp;addFront,
                     boolean&nbsp;notify)</pre>
 </li>
@@ -621,7 +621,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>dequeue</h4>
-<pre>protected abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.142">dequeue</a>()</pre>
+<pre>protected abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.144">dequeue</a>()</pre>
 <div class="block">Fetch one Procedure from the queue
  NOTE: this method is called with the sched lock held.</div>
 <dl>
@@ -636,7 +636,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>poll</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.145">poll</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.147">poll</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#poll--">ProcedureScheduler</a></code></span></div>
 <div class="block">Fetch one Procedure from the queue</div>
 <dl>
@@ -653,7 +653,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>poll</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.150">poll</a>(long&nbsp;timeout,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.152">poll</a>(long&nbsp;timeout,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#poll-long-java.util.concurrent.TimeUnit-">ProcedureScheduler</a></code></span></div>
 <div class="block">Fetch one Procedure from the queue</div>
@@ -674,7 +674,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>poll</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.155">poll</a>(long&nbsp;nanos)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.157">poll</a>(long&nbsp;nanos)</pre>
 </li>
 </ul>
 <a name="queueSize--">
@@ -683,7 +683,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>queueSize</h4>
-<pre>protected abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.198">queueSize</a>()</pre>
+<pre>protected abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.200">queueSize</a>()</pre>
 <div class="block">Returns the number of elements in this queue.
  NOTE: this method is called with the sched lock held.</div>
 <dl>
@@ -698,7 +698,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>queueHasRunnables</h4>
-<pre>protected abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.205">queueHasRunnables</a>()</pre>
+<pre>protected abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.207">queueHasRunnables</a>()</pre>
 <div class="block">Returns true if there are procedures available to process.
  NOTE: this method is called with the sched lock held.</div>
 <dl>
@@ -713,7 +713,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.208">size</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.210">size</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#size--">ProcedureScheduler</a></code></span></div>
 <div class="block">Returns the number of elements in this queue.</div>
 <dl>
@@ -730,7 +730,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>hasRunnables</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.218">hasRunnables</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.220">hasRunnables</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html#hasRunnables--">hasRunnables</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureScheduler</a></code></dd>
@@ -745,7 +745,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>getPollCalls</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.230">getPollCalls</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.232">getPollCalls</a>()</pre>
 </li>
 </ul>
 <a name="getNullPollCalls--">
@@ -754,7 +754,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>getNullPollCalls</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.234">getNullPollCalls</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.236">getNullPollCalls</a>()</pre>
 </li>
 </ul>
 <a name="wakeEvents-org.apache.hadoop.hbase.procedure2.ProcedureEvent:A-">
@@ -763,7 +763,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>wakeEvents</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.248">wakeEvents</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>[]&nbsp;events)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.251">wakeEvents</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>[]&nbsp;events)</pre>
 <div class="block">Wake up all of the given events.
  Note that we first take scheduler lock and then wakeInternal() synchronizes on the event.
  Access should remain package-private. Use ProcedureEvent class to wake/suspend events.</div>
@@ -779,7 +779,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>wakeWaitingProcedures</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.266">wakeWaitingProcedures</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html" title="class in org.apache.hadoop.hbase.procedure2">LockAndQueue</a>&nbsp;lockAndQueue)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.269">wakeWaitingProcedures</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html" title="class in org.apache.hadoop.hbase.procedure2">LockAndQueue</a>&nbsp;lockAndQueue)</pre>
 <div class="block">Wakes up given waiting procedures by pushing them back into scheduler queues.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -793,7 +793,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>waitProcedure</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.270">waitProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html" title="class in org.apache.hadoop.hbase.procedure2">LockAndQueue</a>&nbsp;lockAndQueue,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.273">waitProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html" title="class in org.apache.hadoop.hbase.procedure2">LockAndQueue</a>&nbsp;lockAndQueue,
                              <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
 </li>
 </ul>
@@ -803,7 +803,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>wakeProcedure</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.274">wakeProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.277">wakeProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</pre>
 </li>
 </ul>
 <a name="schedLock--">
@@ -812,7 +812,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>schedLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.283">schedLock</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.286">schedLock</a>()</pre>
 </li>
 </ul>
 <a name="schedUnlock--">
@@ -821,7 +821,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockList">
 <li class="blockList">
 <h4>schedUnlock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.287">schedUnlock</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.290">schedUnlock</a>()</pre>
 </li>
 </ul>
 <a name="wakePollIfNeeded-int-">
@@ -830,7 +830,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureS
 <ul class="blockListLast">
 <li class="blockList">
 <h4>wakePollIfNeeded</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.291">wakePollIfNeeded</a>(int&nbsp;waitingCount)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#line.294">wakePollIfNeeded</a>(int&nbsp;waitingCount)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html
index 29eca16..470dc90 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html
@@ -225,7 +225,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>(package private) void</code></td>
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wakeInternal-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-">wakeInternal</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">AbstractProcedureScheduler</a>&nbsp;procedureScheduler)</code>
 <div class="block">Only to be used by ProcedureScheduler implementations.</div>
 </td>
@@ -377,7 +377,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>wakeInternal</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#line.94">wakeInternal</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">AbstractProcedureScheduler</a>&nbsp;procedureScheduler)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#line.95">wakeInternal</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">AbstractProcedureScheduler</a>&nbsp;procedureScheduler)</pre>
 <div class="block">Only to be used by ProcedureScheduler implementations.
  Reason: To wake up multiple events, locking sequence is
  schedLock --> synchronized (event)
@@ -397,7 +397,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getSuspendedProcedures</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureDeque.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureDeque</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#line.114">getSuspendedProcedures</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureDeque.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureDeque</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#line.115">getSuspendedProcedures</a>()</pre>
 <div class="block">Access to suspendedProcedures is 'synchronized' on this object, but it's fine to return it
  here for tests.</div>
 </li>
@@ -408,7 +408,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</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/procedure2/ProcedureEvent.html#line.119">toString</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/procedure2/ProcedureEvent.html#line.120">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><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></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/AbstractProcedureScheduler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/AbstractProcedureScheduler.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/AbstractProcedureScheduler.html
index c94189b..9a535b3 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/AbstractProcedureScheduler.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/AbstractProcedureScheduler.html
@@ -157,7 +157,7 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) void</code></td>
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ProcedureEvent.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wakeInternal-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-">wakeInternal</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">AbstractProcedureScheduler</a>&nbsp;procedureScheduler)</code>
 <div class="block">Only to be used by ProcedureScheduler implementations.</div>
 </td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
index 9da7326..dcc8fb8 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
@@ -911,7 +911,10 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code>
+<div class="block">The procedure for replaying all the remote wals for transitting a sync replication peer from
+ STANDBY to DOWNGRADE_ACTIVE.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
@@ -925,11 +928,15 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code>
+<div class="block">The procedure for replaying a set of remote wals.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></span></code>
+<div class="block">A remote procedure which is used to send replaying remote wal work to region server.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
@@ -962,6 +969,26 @@
 </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> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#acquirePeerWorker-java.lang.String-org.apache.hadoop.hbase.procedure2.Procedure-">acquirePeerWorker</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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>
+<div class="block">Get a worker for replaying remote wal for a give peer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#suspend-org.apache.hadoop.hbase.procedure2.Procedure-">suspend</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.procedure2">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureEvent.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureEvent.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureEvent.html
index f739bad..af963fa 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureEvent.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureEvent.html
@@ -264,6 +264,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#event">event</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALRemoteProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#event">event</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -289,7 +293,7 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>(package private) void</code></td>
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractProcedureScheduler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#wakeEvents-org.apache.hadoop.hbase.procedure2.ProcedureEvent:A-">wakeEvents</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>[]&nbsp;events)</code>
 <div class="block">Wake up all of the given events.</div>
 </td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html
index 2773259..43bc7a1 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html
@@ -256,34 +256,41 @@
 </tr>
 <tbody>
 <tr 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"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#acquirePeerWorker-java.lang.String-org.apache.hadoop.hbase.procedure2.Procedure-">acquirePeerWorker</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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>
+<div class="block">Get a worker for replaying remote wal for a give peer.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;[]</code></td>
 <td class="colLast"><span class="typeNameLabel">RefreshPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html#execute-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">execute</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;[]</code></td>
 <td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALRemoteProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#execute-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">execute</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ModifyPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#executeFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState-">executeFromState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TransitPeerSyncReplicationStateProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html#executeFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerSyncReplicationStateTransitionState-">executeFromState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerSyncReplicationStateTransitionState&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RecoverStandbyProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#executeFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState-">executeFromState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#executeFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState-">executeFromState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractPeerNoLockProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a></span>(long&nbsp;backoff)</code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/RemoteProcedureDispatcher.RemoteProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/RemoteProcedureDispatcher.RemoteProcedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/RemoteProcedureDispatcher.RemoteProcedure.html
index 29069cb..cae4444 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/RemoteProcedureDispatcher.RemoteProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/RemoteProcedureDispatcher.RemoteProcedure.html
@@ -297,7 +297,9 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></span></code>
+<div class="block">A remote procedure which is used to send replaying remote wal work to region server.</div>
+</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html
index e2ebc1e..42a9349 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html
@@ -312,7 +312,10 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code>
+<div class="block">The procedure for replaying all the remote wals for transitting a sync replication peer from
+ STANDBY to DOWNGRADE_ACTIVE.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
@@ -322,7 +325,9 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code>
+<div class="block">The procedure for replaying a set of remote wals.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 9fabfb4..d694fec 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -216,11 +216,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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/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/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/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/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>
+<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/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 098de9f..437eee5 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -229,13 +229,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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/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/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/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/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/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/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</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/RpcThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">RpcThrottlingException.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 8055e21..c3da5ac 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -716,20 +716,20 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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/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/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/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/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/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.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/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/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/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/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/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/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/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/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/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/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/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/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/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.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/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
----------------------------------------------------------------------
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 b377318..6851ee1 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -130,9 +130,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" title="class or interface in java.io">Serializable</a>)
 <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/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</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/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
----------------------------------------------------------------------
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 f0c55c8..feee307 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -248,8 +248,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" title="class or interface in java.io">Serializable</a>)
 <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/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/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html b/devapidocs/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html
index 6a415b9..486b24e 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html
@@ -109,12 +109,12 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationPeerStorage</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorage</a>, <a href="../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></dd>
+<dd><a href="../../../../../org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationPeerStorage</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorage</a></dd>
 </dl>
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html#line.38">ZKReplicationStorageBase</a>
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html#line.38">ZKReplicationStorageBase</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">This is a base class for maintaining replication related data,for example, peer, queue, etc, in
  zookeeper.</div>


[04/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
index d98263b..18f1cc8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
@@ -26,150 +26,143 @@
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master.replication;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
 <span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.ArrayList;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.ServerName;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.procedure2.ProcedureUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.slf4j.Logger;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.slf4j.LoggerFactory;<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALStateData;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>@InterfaceAudience.Private<a name="line.37"></a>
-<span class="sourceLineNo">038</span>public class SyncReplicationReplayWALProcedure<a name="line.38"></a>
-<span class="sourceLineNo">039</span>    extends AbstractPeerNoLockProcedure&lt;SyncReplicationReplayWALState&gt; {<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private static final Logger LOG =<a name="line.41"></a>
-<span class="sourceLineNo">042</span>      LoggerFactory.getLogger(SyncReplicationReplayWALProcedure.class);<a name="line.42"></a>
+<span class="sourceLineNo">021</span>import java.util.List;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.ServerName;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.procedure2.ProcedureUtil;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.slf4j.Logger;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.slf4j.LoggerFactory;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALStateData;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * The procedure for replaying a set of remote wals. It will get an available region server and<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * schedule a {@link SyncReplicationReplayWALRemoteProcedure} to actually send the request to region<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * server.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>@InterfaceAudience.Private<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public class SyncReplicationReplayWALProcedure<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    extends AbstractPeerNoLockProcedure&lt;SyncReplicationReplayWALState&gt; {<a name="line.42"></a>
 <span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>  private ServerName worker = null;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  private List&lt;String&gt; wals;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  public SyncReplicationReplayWALProcedure() {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
+<span class="sourceLineNo">044</span>  private static final Logger LOG =<a name="line.44"></a>
+<span class="sourceLineNo">045</span>    LoggerFactory.getLogger(SyncReplicationReplayWALProcedure.class);<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  private ServerName worker = null;<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>  private List&lt;String&gt; wals;<a name="line.49"></a>
 <span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  public SyncReplicationReplayWALProcedure(String peerId, List&lt;String&gt; wals) {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    this.peerId = peerId;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    this.wals = wals;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  }<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  @Override<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  protected Flow executeFromState(MasterProcedureEnv env, SyncReplicationReplayWALState state)<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      throws ProcedureSuspendedException {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    SyncReplicationReplayWALManager syncReplicationReplayWALManager =<a name="line.59"></a>
-<span class="sourceLineNo">060</span>        env.getMasterServices().getSyncReplicationReplayWALManager();<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    switch (state) {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>      case ASSIGN_WORKER:<a name="line.62"></a>
-<span class="sourceLineNo">063</span>        try {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>          worker = syncReplicationReplayWALManager.getPeerWorker(peerId);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>        } catch (ReplicationException e) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>          long backoff = ProcedureUtil.getBackoffTimeMs(attempts);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>          LOG.warn("Failed to get worker to replay wals {} for peer id={}, sleep {} secs and retry",<a name="line.67"></a>
-<span class="sourceLineNo">068</span>            wals, peerId, backoff / 1000, e);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>          throw suspend(backoff);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>        }<a name="line.70"></a>
-<span class="sourceLineNo">071</span>        if (worker == null) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>          long backoff = ProcedureUtil.getBackoffTimeMs(attempts);<a name="line.72"></a>
-<span class="sourceLineNo">073</span>          LOG.info("No worker to replay wals {} for peer id={}, sleep {} secs and retry", wals,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>            peerId, backoff / 1000);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>          throw suspend(backoff);<a name="line.75"></a>
-<span class="sourceLineNo">076</span>        }<a name="line.76"></a>
-<span class="sourceLineNo">077</span>        attempts = 0;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>        setNextState(SyncReplicationReplayWALState.DISPATCH_WALS_TO_WORKER);<a name="line.78"></a>
-<span class="sourceLineNo">079</span>        return Flow.HAS_MORE_STATE;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      case DISPATCH_WALS_TO_WORKER:<a name="line.80"></a>
-<span class="sourceLineNo">081</span>        addChildProcedure(new SyncReplicationReplayWALRemoteProcedure(peerId, wals, worker));<a name="line.81"></a>
-<span class="sourceLineNo">082</span>        setNextState(SyncReplicationReplayWALState.RELEASE_WORKER);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>        return Flow.HAS_MORE_STATE;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      case RELEASE_WORKER:<a name="line.84"></a>
-<span class="sourceLineNo">085</span>        boolean finished = false;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>        try {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>          finished = syncReplicationReplayWALManager.isReplayWALFinished(wals.get(0));<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        } catch (IOException e) {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>          long backoff = ProcedureUtil.getBackoffTimeMs(attempts);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>          LOG.warn("Failed to check whether replay wals {} finished for peer id={}" +<a name="line.90"></a>
-<span class="sourceLineNo">091</span>              ", sleep {} secs and retry",<a name="line.91"></a>
-<span class="sourceLineNo">092</span>            wals, peerId, backoff / 1000, e);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>          throw suspend(backoff);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>        }<a name="line.94"></a>
-<span class="sourceLineNo">095</span>        try {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>          syncReplicationReplayWALManager.removePeerWorker(peerId, worker);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        } catch (ReplicationException e) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>          long backoff = ProcedureUtil.getBackoffTimeMs(attempts);<a name="line.98"></a>
-<span class="sourceLineNo">099</span>          LOG.warn("Failed to remove worker {} for peer id={}, sleep {} secs and retry", worker,<a name="line.99"></a>
-<span class="sourceLineNo">100</span>            peerId, backoff / 1000, e);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          throw suspend(backoff);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        }<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        attempts = 0;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        if (!finished) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>          LOG.warn("Failed to replay wals {} for peer id={}, retry", wals, peerId);<a name="line.105"></a>
-<span class="sourceLineNo">106</span>          setNextState(SyncReplicationReplayWALState.ASSIGN_WORKER);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>          return Flow.HAS_MORE_STATE;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        }<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        return Flow.NO_MORE_STATE;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      default:<a name="line.110"></a>
-<span class="sourceLineNo">111</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">051</span>  public SyncReplicationReplayWALProcedure() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public SyncReplicationReplayWALProcedure(String peerId, List&lt;String&gt; wals) {<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    this.peerId = peerId;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    this.wals = wals;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  @Override<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  protected Flow executeFromState(MasterProcedureEnv env, SyncReplicationReplayWALState state)<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      throws ProcedureSuspendedException {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    SyncReplicationReplayWALManager syncReplicationReplayWALManager =<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      env.getMasterServices().getSyncReplicationReplayWALManager();<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    switch (state) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      case ASSIGN_WORKER:<a name="line.65"></a>
+<span class="sourceLineNo">066</span>        worker = syncReplicationReplayWALManager.acquirePeerWorker(peerId, this);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        setNextState(SyncReplicationReplayWALState.DISPATCH_WALS_TO_WORKER);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>        return Flow.HAS_MORE_STATE;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      case DISPATCH_WALS_TO_WORKER:<a name="line.69"></a>
+<span class="sourceLineNo">070</span>        addChildProcedure(new SyncReplicationReplayWALRemoteProcedure(peerId, wals, worker));<a name="line.70"></a>
+<span class="sourceLineNo">071</span>        setNextState(SyncReplicationReplayWALState.RELEASE_WORKER);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>        return Flow.HAS_MORE_STATE;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      case RELEASE_WORKER:<a name="line.73"></a>
+<span class="sourceLineNo">074</span>        boolean finished = false;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>        try {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>          finished = syncReplicationReplayWALManager.isReplayWALFinished(wals.get(0));<a name="line.76"></a>
+<span class="sourceLineNo">077</span>        } catch (IOException e) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>          long backoff = ProcedureUtil.getBackoffTimeMs(attempts);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>          LOG.warn("Failed to check whether replay wals {} finished for peer id={}" +<a name="line.79"></a>
+<span class="sourceLineNo">080</span>            ", sleep {} secs and retry", wals, peerId, backoff / 1000, e);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>          throw suspend(backoff);<a name="line.81"></a>
+<span class="sourceLineNo">082</span>        }<a name="line.82"></a>
+<span class="sourceLineNo">083</span>        syncReplicationReplayWALManager.releasePeerWorker(peerId, worker,<a name="line.83"></a>
+<span class="sourceLineNo">084</span>          env.getProcedureScheduler());<a name="line.84"></a>
+<span class="sourceLineNo">085</span>        if (!finished) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>          LOG.warn("Failed to replay wals {} for peer id={}, retry", wals, peerId);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>          setNextState(SyncReplicationReplayWALState.ASSIGN_WORKER);<a name="line.87"></a>
+<span class="sourceLineNo">088</span>          return Flow.HAS_MORE_STATE;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>        }<a name="line.89"></a>
+<span class="sourceLineNo">090</span>        return Flow.NO_MORE_STATE;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      default:<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    }<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span>  @Override<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  protected void rollbackState(MasterProcedureEnv env, SyncReplicationReplayWALState state)<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      throws IOException, InterruptedException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    if (state == getInitialState()) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    throw new UnsupportedOperationException();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>  @Override<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  protected SyncReplicationReplayWALState getState(int state) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return SyncReplicationReplayWALState.forNumber(state);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  @Override<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  protected int getStateId(SyncReplicationReplayWALState state) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    return state.getNumber();<a name="line.112"></a>
 <span class="sourceLineNo">113</span>  }<a name="line.113"></a>
 <span class="sourceLineNo">114</span><a name="line.114"></a>
 <span class="sourceLineNo">115</span>  @Override<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  protected void rollbackState(MasterProcedureEnv env,<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      SyncReplicationReplayWALState state)<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      throws IOException, InterruptedException {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    if (state == getInitialState()) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    throw new UnsupportedOperationException();<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  @Override<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  protected SyncReplicationReplayWALState getState(int state) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return SyncReplicationReplayWALState.forNumber(state);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>  @Override<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  protected int getStateId(<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      SyncReplicationReplayWALState state) {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return state.getNumber();<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>  @Override<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  protected SyncReplicationReplayWALState getInitialState() {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    return SyncReplicationReplayWALState.ASSIGN_WORKER;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      throws IOException {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    SyncReplicationReplayWALStateData.Builder builder =<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        SyncReplicationReplayWALStateData.newBuilder();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    builder.setPeerId(peerId);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    wals.stream().forEach(builder::addWal);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    serializer.serialize(builder.build());<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>  @Override<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    SyncReplicationReplayWALStateData data =<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        serializer.deserialize(SyncReplicationReplayWALStateData.class);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    peerId = data.getPeerId();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    wals = new ArrayList&lt;&gt;();<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    data.getWalList().forEach(wals::add);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public PeerOperationType getPeerOperationType() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return PeerOperationType.SYNC_REPLICATION_REPLAY_WAL;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>}<a name="line.164"></a>
+<span class="sourceLineNo">116</span>  protected SyncReplicationReplayWALState getInitialState() {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    return SyncReplicationReplayWALState.ASSIGN_WORKER;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  @Override<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    super.serializeStateData(serializer);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    SyncReplicationReplayWALStateData.Builder builder =<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      SyncReplicationReplayWALStateData.newBuilder().setPeerId(peerId).addAllWal(wals);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    if (worker != null) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      builder.setWorker(ProtobufUtil.toServerName(worker));<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    serializer.serialize(builder.build());<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  @Override<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    super.deserializeStateData(serializer);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    SyncReplicationReplayWALStateData data =<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      serializer.deserialize(SyncReplicationReplayWALStateData.class);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    peerId = data.getPeerId();<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    wals = data.getWalList();<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (data.hasWorker()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      worker = ProtobufUtil.toServerName(data.getWorker());<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  @Override<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public PeerOperationType getPeerOperationType() {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    return PeerOperationType.SYNC_REPLICATION_REPLAY_WAL;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>  @Override<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  protected void afterReplay(MasterProcedureEnv env) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    // If the procedure is not finished and the worker is not null, we should add it to the used<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    // worker set, to prevent the worker being used by others.<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    if (worker != null &amp;&amp; !isFinished()) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      env.getMasterServices().getSyncReplicationReplayWALManager().addUsedPeerWorker(peerId,<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        worker);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>}<a name="line.157"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html
index e0343ff..afa0b72 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html
@@ -51,151 +51,151 @@
 <span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReplaySyncReplicationWALParameter;<a name="line.43"></a>
 <span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALRemoteStateData;<a name="line.44"></a>
 <span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>@InterfaceAudience.Private<a name="line.46"></a>
-<span class="sourceLineNo">047</span>public class SyncReplicationReplayWALRemoteProcedure extends Procedure&lt;MasterProcedureEnv&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    implements RemoteProcedure&lt;MasterProcedureEnv, ServerName&gt;, PeerProcedureInterface {<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  private static final Logger LOG =<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      LoggerFactory.getLogger(SyncReplicationReplayWALRemoteProcedure.class);<a name="line.51"></a>
+<span class="sourceLineNo">046</span>/**<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * A remote procedure which is used to send replaying remote wal work to region server.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@InterfaceAudience.Private<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public class SyncReplicationReplayWALRemoteProcedure extends Procedure&lt;MasterProcedureEnv&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    implements RemoteProcedure&lt;MasterProcedureEnv, ServerName&gt;, PeerProcedureInterface {<a name="line.51"></a>
 <span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private String peerId;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  private ServerName targetServer;<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>  private List&lt;String&gt; wals;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  private boolean dispatched;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private ProcedureEvent&lt;?&gt; event;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private boolean succ;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public SyncReplicationReplayWALRemoteProcedure() {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">053</span>  private static final Logger LOG =<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    LoggerFactory.getLogger(SyncReplicationReplayWALRemoteProcedure.class);<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private String peerId;<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private ServerName targetServer;<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  private List&lt;String&gt; wals;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private boolean dispatched;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>  private ProcedureEvent&lt;?&gt; event;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private boolean succ;<a name="line.66"></a>
 <span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public SyncReplicationReplayWALRemoteProcedure(String peerId, List&lt;String&gt; wals,<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      ServerName targetServer) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    this.peerId = peerId;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    this.wals = wals;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    this.targetServer = targetServer;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  }<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  @Override<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public RemoteOperation remoteCallBuild(MasterProcedureEnv env, ServerName remote) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    ReplaySyncReplicationWALParameter.Builder builder =<a name="line.77"></a>
-<span class="sourceLineNo">078</span>        ReplaySyncReplicationWALParameter.newBuilder();<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    builder.setPeerId(peerId);<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    wals.stream().forEach(builder::addWal);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    return new ServerOperation(this, getProcId(), ReplaySyncReplicationWALCallable.class,<a name="line.81"></a>
-<span class="sourceLineNo">082</span>        builder.build().toByteArray());<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  @Override<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public void remoteCallFailed(MasterProcedureEnv env, ServerName remote, IOException exception) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    complete(env, exception);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public void remoteOperationCompleted(MasterProcedureEnv env) {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    complete(env, null);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  public void remoteOperationFailed(MasterProcedureEnv env, RemoteProcedureException error) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    complete(env, error);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private void complete(MasterProcedureEnv env, Throwable error) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    if (event == null) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      LOG.warn("procedure event for {} is null, maybe the procedure is created when recovery",<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        getProcId());<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      return;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    if (error != null) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      LOG.warn("Replay wals {} on {} failed for peer id={}", wals, targetServer, peerId, error);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      this.succ = false;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    } else {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      truncateWALs(env);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      LOG.info("Replay wals {} on {} succeed for peer id={}", wals, targetServer, peerId);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      this.succ = true;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    event.wake(env.getProcedureScheduler());<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    event = null;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  /**<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * Only truncate wals one by one when task succeed. The parent procedure will check the first<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * wal length to know whether this task succeed.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private void truncateWALs(MasterProcedureEnv env) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    String firstWal = wals.get(0);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    try {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      env.getMasterServices().getSyncReplicationReplayWALManager().finishReplayWAL(firstWal);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    } catch (IOException e) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      // As it is idempotent to rerun this task. Just ignore this exception and return.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      LOG.warn("Failed to truncate wal {} for peer id={}", firstWal, peerId, e);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      return;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    }<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    for (int i = 1; i &lt; wals.size(); i++) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      String wal = wals.get(i);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      try {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        env.getMasterServices().getSyncReplicationReplayWALManager().finishReplayWAL(wal);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      } catch (IOException e1) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        try {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>          // retry<a name="line.137"></a>
-<span class="sourceLineNo">138</span>          env.getMasterServices().getSyncReplicationReplayWALManager().finishReplayWAL(wal);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        } catch (IOException e2) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>          // As the parent procedure only check the first wal length. Just ignore this exception.<a name="line.140"></a>
-<span class="sourceLineNo">141</span>          LOG.warn("Failed to truncate wal {} for peer id={}", wal, peerId, e2);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  protected Procedure&lt;MasterProcedureEnv&gt;[] execute(MasterProcedureEnv env)<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (dispatched) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      if (succ) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        return null;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      // retry<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      dispatched = false;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    }<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>    // Dispatch task to target server<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    try {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      env.getRemoteDispatcher().addOperationToNode(targetServer, this);<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    } catch (FailedRemoteDispatchException e) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      LOG.warn(<a name="line.162"></a>
-<span class="sourceLineNo">163</span>          "Can not add remote operation for replay wals {} on {} for peer id={}, "<a name="line.163"></a>
-<span class="sourceLineNo">164</span>              + "this usually because the server is already dead",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>          wals, targetServer, peerId);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      // Return directly and the parent procedure will assign a new worker to replay wals<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      return null;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    dispatched = true;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    event = new ProcedureEvent&lt;&gt;(this);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    event.suspendIfNotReady(this);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    throw new ProcedureSuspendedException();<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>  @Override<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    throw new UnsupportedOperationException();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  @Override<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  protected boolean abort(MasterProcedureEnv env) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    return false;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>  @Override<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      throws IOException {<a name="line.187"></a>
+<span class="sourceLineNo">068</span>  public SyncReplicationReplayWALRemoteProcedure() {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public SyncReplicationReplayWALRemoteProcedure(String peerId, List&lt;String&gt; wals,<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      ServerName targetServer) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    this.peerId = peerId;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    this.wals = wals;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    this.targetServer = targetServer;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>  @Override<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public RemoteOperation remoteCallBuild(MasterProcedureEnv env, ServerName remote) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    ReplaySyncReplicationWALParameter.Builder builder =<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      ReplaySyncReplicationWALParameter.newBuilder();<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    builder.setPeerId(peerId);<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    wals.stream().forEach(builder::addWal);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    return new ServerOperation(this, getProcId(), ReplaySyncReplicationWALCallable.class,<a name="line.84"></a>
+<span class="sourceLineNo">085</span>      builder.build().toByteArray());<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  @Override<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  public void remoteCallFailed(MasterProcedureEnv env, ServerName remote, IOException exception) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    complete(env, exception);<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  @Override<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public void remoteOperationCompleted(MasterProcedureEnv env) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    complete(env, null);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  @Override<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public void remoteOperationFailed(MasterProcedureEnv env, RemoteProcedureException error) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    complete(env, error);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>  private void complete(MasterProcedureEnv env, Throwable error) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    if (event == null) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      LOG.warn("procedure event for {} is null, maybe the procedure is created when recovery",<a name="line.105"></a>
+<span class="sourceLineNo">106</span>        getProcId());<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      return;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    }<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    if (error != null) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      LOG.warn("Replay wals {} on {} failed for peer id={}", wals, targetServer, peerId, error);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      this.succ = false;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    } else {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      truncateWALs(env);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      LOG.info("Replay wals {} on {} succeed for peer id={}", wals, targetServer, peerId);<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      this.succ = true;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    event.wake(env.getProcedureScheduler());<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    event = null;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  /**<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * Only truncate wals one by one when task succeed. The parent procedure will check the first wal<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * length to know whether this task succeed.<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  private void truncateWALs(MasterProcedureEnv env) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    String firstWal = wals.get(0);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    try {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      env.getMasterServices().getSyncReplicationReplayWALManager().finishReplayWAL(firstWal);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    } catch (IOException e) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      // As it is idempotent to rerun this task. Just ignore this exception and return.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      LOG.warn("Failed to truncate wal {} for peer id={}", firstWal, peerId, e);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      return;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    for (int i = 1; i &lt; wals.size(); i++) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      String wal = wals.get(i);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      try {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        env.getMasterServices().getSyncReplicationReplayWALManager().finishReplayWAL(wal);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      } catch (IOException e1) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>        try {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>          // retry<a name="line.140"></a>
+<span class="sourceLineNo">141</span>          env.getMasterServices().getSyncReplicationReplayWALManager().finishReplayWAL(wal);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        } catch (IOException e2) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>          // As the parent procedure only check the first wal length. Just ignore this exception.<a name="line.143"></a>
+<span class="sourceLineNo">144</span>          LOG.warn("Failed to truncate wal {} for peer id={}", wal, peerId, e2);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        }<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      }<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    }<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  @Override<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  protected Procedure&lt;MasterProcedureEnv&gt;[] execute(MasterProcedureEnv env)<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    if (dispatched) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      if (succ) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        return null;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      // retry<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      dispatched = false;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>    // Dispatch task to target server<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    try {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      env.getRemoteDispatcher().addOperationToNode(targetServer, this);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    } catch (FailedRemoteDispatchException e) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      LOG.warn("Can not add remote operation for replay wals {} on {} for peer id={}, " +<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        "this usually because the server is already dead", wals, targetServer, peerId);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      // Return directly and the parent procedure will assign a new worker to replay wals<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      return null;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    dispatched = true;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    event = new ProcedureEvent&lt;&gt;(this);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    event.suspendIfNotReady(this);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    throw new ProcedureSuspendedException();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>  @Override<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    throw new UnsupportedOperationException();<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  @Override<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  protected boolean abort(MasterProcedureEnv env) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    return false;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
+<span class="sourceLineNo">185</span><a name="line.185"></a>
+<span class="sourceLineNo">186</span>  @Override<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.187"></a>
 <span class="sourceLineNo">188</span>    SyncReplicationReplayWALRemoteStateData.Builder builder =<a name="line.188"></a>
-<span class="sourceLineNo">189</span>        SyncReplicationReplayWALRemoteStateData.newBuilder().setPeerId(peerId)<a name="line.189"></a>
-<span class="sourceLineNo">190</span>            .setTargetServer(ProtobufUtil.toServerName(targetServer));<a name="line.190"></a>
+<span class="sourceLineNo">189</span>      SyncReplicationReplayWALRemoteStateData.newBuilder().setPeerId(peerId)<a name="line.189"></a>
+<span class="sourceLineNo">190</span>        .setTargetServer(ProtobufUtil.toServerName(targetServer));<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    wals.stream().forEach(builder::addWal);<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    serializer.serialize(builder.build());<a name="line.192"></a>
 <span class="sourceLineNo">193</span>  }<a name="line.193"></a>
@@ -203,7 +203,7 @@
 <span class="sourceLineNo">195</span>  @Override<a name="line.195"></a>
 <span class="sourceLineNo">196</span>  protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.196"></a>
 <span class="sourceLineNo">197</span>    SyncReplicationReplayWALRemoteStateData data =<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        serializer.deserialize(SyncReplicationReplayWALRemoteStateData.class);<a name="line.198"></a>
+<span class="sourceLineNo">198</span>      serializer.deserialize(SyncReplicationReplayWALRemoteStateData.class);<a name="line.198"></a>
 <span class="sourceLineNo">199</span>    peerId = data.getPeerId();<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    wals = new ArrayList&lt;&gt;();<a name="line.200"></a>
 <span class="sourceLineNo">201</span>    data.getWalList().forEach(wals::add);<a name="line.201"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html
deleted file mode 100644
index 8a83f03..0000000
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master.replication;<a name="line.18"></a>
-<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.util.HashSet;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.List;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.Set;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.stream.Collectors;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.ServerName;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.replication.ZKReplicationStorageBase;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.zookeeper.ZKWatcher;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.zookeeper.ZNodePaths;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.zookeeper.KeeperException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>@InterfaceAudience.Private<a name="line.35"></a>
-<span class="sourceLineNo">036</span>public class ZKSyncReplicationReplayWALWorkerStorage extends ZKReplicationStorageBase {<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>  public static final String WORKERS_ZNODE = "zookeeper.znode.sync.replication.replaywal.workers";<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>  public static final String WORKERS_ZNODE_DEFAULT = "replaywal-workers";<a name="line.40"></a>
-<span class="sourceLineNo">041</span><a name="line.41"></a>
-<span class="sourceLineNo">042</span>  /**<a name="line.42"></a>
-<span class="sourceLineNo">043</span>   * The name of the znode that contains a list of workers to replay wal.<a name="line.43"></a>
-<span class="sourceLineNo">044</span>   */<a name="line.44"></a>
-<span class="sourceLineNo">045</span>  private final String workersZNode;<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public ZKSyncReplicationReplayWALWorkerStorage(ZKWatcher zookeeper, Configuration conf) {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    super(zookeeper, conf);<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    String workersZNodeName = conf.get(WORKERS_ZNODE, WORKERS_ZNODE_DEFAULT);<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    workersZNode = ZNodePaths.joinZNode(replicationZNode, workersZNodeName);<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private String getPeerNode(String peerId) {<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    return ZNodePaths.joinZNode(workersZNode, peerId);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  }<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>  public void addPeer(String peerId) throws ReplicationException {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    try {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      ZKUtil.createWithParents(zookeeper, getPeerNode(peerId));<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    } catch (KeeperException e) {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>      throw new ReplicationException(<a name="line.61"></a>
-<span class="sourceLineNo">062</span>          "Failed to add peer id=" + peerId + " to replaywal-workers storage", e);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    }<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public void removePeer(String peerId) throws ReplicationException {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    try {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      ZKUtil.deleteNodeRecursively(zookeeper, getPeerNode(peerId));<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    } catch (KeeperException e) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      throw new ReplicationException(<a name="line.70"></a>
-<span class="sourceLineNo">071</span>          "Failed to remove peer id=" + peerId + " to replaywal-workers storage", e);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    }<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  }<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private String getPeerWorkerNode(String peerId, ServerName worker) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    return ZNodePaths.joinZNode(getPeerNode(peerId), worker.getServerName());<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public void addPeerWorker(String peerId, ServerName worker) throws ReplicationException {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    try {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      ZKUtil.createWithParents(zookeeper, getPeerWorkerNode(peerId, worker));<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    } catch (KeeperException e) {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      throw new ReplicationException("Failed to add worker=" + worker + " for peer id=" + peerId,<a name="line.83"></a>
-<span class="sourceLineNo">084</span>          e);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    }<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  public void removePeerWorker(String peerId, ServerName worker) throws ReplicationException {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    try {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      ZKUtil.deleteNode(zookeeper, getPeerWorkerNode(peerId, worker));<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    } catch (KeeperException e) {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      throw new ReplicationException("Failed to remove worker=" + worker + " for peer id=" + peerId,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>          e);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    }<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  public Set&lt;ServerName&gt; getPeerWorkers(String peerId) throws ReplicationException {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    try {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      List&lt;String&gt; children = ZKUtil.listChildrenNoWatch(zookeeper, getPeerNode(peerId));<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      if (children == null) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        return new HashSet&lt;&gt;();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return children.stream().map(ServerName::valueOf).collect(Collectors.toSet());<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    } catch (KeeperException e) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      throw new ReplicationException("Failed to list workers for peer id=" + peerId, e);<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    }<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>}<a name="line.108"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>


[02/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index a579c0d..30f742a 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -5319,8 +5319,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html" title="class in org.apache.hadoop.hbase.master.replication">TestModifyPeerProcedureRetryBackoff</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureBackoff</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureRetry</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.master.snapshot.<a href="org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.html" title="class in org.apache.hadoop.hbase.master.snapshot">TestSnapshotFileCache</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.master.snapshot.<a href="org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.html" title="class in org.apache.hadoop.hbase.master.snapshot">TestSnapshotHFileCleaner</a></dt>
@@ -23385,6 +23389,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/TestTableScan.ClientSideCellSetModel.html#listenerInvoked">listenerInvoked</a></span> - Static variable in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/TestTableScan.ClientSideCellSetModel.html" title="class in org.apache.hadoop.hbase.rest">TestTableScan.ClientSideCellSetModel</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#listeners">listeners</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/IOTestProvider.html#listeners">listeners</a></span> - Variable in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/IOTestProvider.html" title="class in org.apache.hadoop.hbase.wal">IOTestProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/compactions/TestPartitionedMobCompactor.html#listFiles--">listFiles()</a></span> - Method in class org.apache.hadoop.hbase.mob.compactions.<a href="org/apache/hadoop/hbase/mob/compactions/TestPartitionedMobCompactor.html" title="class in org.apache.hadoop.hbase.mob.compactions">TestPartitionedMobCompactor</a></dt>
@@ -25393,6 +25399,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/AbstractTestDLS.html#makeWAL-org.apache.hadoop.hbase.regionserver.HRegionServer-java.util.List-int-int-boolean-">makeWAL(HRegionServer, List&lt;RegionInfo&gt;, int, int, boolean)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/AbstractTestDLS.html" title="class in org.apache.hadoop.hbase.master">AbstractTestDLS</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#manager">manager</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/TestActiveMasterManager.WaitToBeMasterThread.html#manager">manager</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/TestActiveMasterManager.WaitToBeMasterThread.html" title="class in org.apache.hadoop.hbase.master">TestActiveMasterManager.WaitToBeMasterThread</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestSpaceQuotaViolationPolicyRefresherChore.html#manager">manager</a></span> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestSpaceQuotaViolationPolicyRefresherChore.html" title="class in org.apache.hadoop.hbase.quotas">TestSpaceQuotaViolationPolicyRefresherChore</a></dt>
@@ -29071,6 +29079,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestBufferedMutatorParams.MockExceptionListener.html#onException-org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException-org.apache.hadoop.hbase.client.BufferedMutator-">onException(RetriesExhaustedWithDetailsException, BufferedMutator)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestBufferedMutatorParams.MockExceptionListener.html" title="class in org.apache.hadoop.hbase.client">TestBufferedMutatorParams.MockExceptionListener</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#onlineServers">onlineServers</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/BufferingScanResultConsumer.html#onNext-org.apache.hadoop.hbase.client.Result:A-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer.ScanController-">onNext(Result[], AdvancedScanResultConsumer.ScanController)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/BufferingScanResultConsumer.html" title="class in org.apache.hadoop.hbase.client">BufferingScanResultConsumer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/SimpleScanResultConsumer.html#onNext-org.apache.hadoop.hbase.client.Result-">onNext(Result)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/SimpleScanResultConsumer.html" title="class in org.apache.hadoop.hbase.client">SimpleScanResultConsumer</a></dt>
@@ -36399,6 +36409,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/TestSchedulerQueueDeadLock.TestEnv.html#scheduler">scheduler</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/TestSchedulerQueueDeadLock.TestEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">TestSchedulerQueueDeadLock.TestEnv</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#scheduler">scheduler</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.html#scopes">scopes</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">TestWALRecordReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.html#scopes">scopes</a></span> - Static variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestReplicationSourceManager</a></dt>
@@ -37837,8 +37849,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html#setUp--">setUp()</a></span> - Static method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html" title="class in org.apache.hadoop.hbase.master.replication">TestModifyPeerProcedureRetryBackoff</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html#setUp--">setUp()</a></span> - Static method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureBackoff</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#setUp--">setUp()</a></span> - Static method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureRetry</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.html#setup--">setup()</a></span> - Static method in class org.apache.hadoop.hbase.master.snapshot.<a href="org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.html" title="class in org.apache.hadoop.hbase.master.snapshot">TestSnapshotHFileCleaner</a></dt>
 <dd>
 <div class="block">Setup the test environment</div>
@@ -59510,6 +59526,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedure.html#testRecoveryAndDoubleExecution-org.apache.hadoop.hbase.TableName-boolean-">testRecoveryAndDoubleExecution(TableName, boolean)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">TestTruncateTableProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#testRecoveryAndDoubleExecution--">testRecoveryAndDoubleExecution()</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureRetry</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.html#testRecoveryAndDoubleExecution-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">testRecoveryAndDoubleExecution(ProcedureExecutor&lt;TEnv&gt;, long)</a></span> - Static method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureTestingUtility</a></dt>
 <dd>
 <div class="block">Run through all procedure flow states TWICE while also restarting
@@ -64610,6 +64628,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/TestSyncReplicationRemoveRemoteWAL.html#TestSyncReplicationRemoveRemoteWAL--">TestSyncReplicationRemoveRemoteWAL()</a></span> - Constructor for class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/TestSyncReplicationRemoveRemoteWAL.html" title="class in org.apache.hadoop.hbase.replication">TestSyncReplicationRemoveRemoteWAL</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestSyncReplicationReplayWALManager</span></a> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#TestSyncReplicationReplayWALManager--">TestSyncReplicationReplayWALManager()</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/replication/regionserver/TestSyncReplicationShipperQuit.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">TestSyncReplicationShipperQuit</span></a> - Class in <a href="org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></dt>
 <dd>
 <div class="block">Testcase for HBASE-20456.</div>
@@ -65690,6 +65712,10 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure</span></a> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestTransitPeerSyncReplicationStateProcedureRetry</span></a> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#TestTransitPeerSyncReplicationStateProcedureRetry--">TestTransitPeerSyncReplicationStateProcedureRetry()</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureRetry</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/master/assignment/TestTransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment"><span class="typeNameLink">TestTransitRegionStateProcedure</span></a> - Class in <a href="org/apache/hadoop/hbase/master/assignment/package-summary.html">org.apache.hadoop.hbase.master.assignment</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/TestTransitRegionStateProcedure.html#TestTransitRegionStateProcedure--">TestTransitRegionStateProcedure()</a></span> - Constructor for class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/TestTransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TestTransitRegionStateProcedure</a></dt>
@@ -65904,6 +65930,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/TestGetAndPutResource.html#testURLEncodedKey--">testURLEncodedKey()</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/TestGetAndPutResource.html" title="class in org.apache.hadoop.hbase.rest">TestGetAndPutResource</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#testUsedWorkers--">testUsedWorkers()</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/token/TestTokenAuthentication.html#testUseExistingToken--">testUseExistingToken()</a></span> - Method in class org.apache.hadoop.hbase.security.token.<a href="org/apache/hadoop/hbase/security/token/TestTokenAuthentication.html" title="class in org.apache.hadoop.hbase.security.token">TestTokenAuthentication</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/security/TestUser.html" title="class in org.apache.hadoop.hbase.security"><span class="typeNameLink">TestUser</span></a> - Class in <a href="org/apache/hadoop/hbase/security/package-summary.html">org.apache.hadoop.hbase.security</a></dt>
@@ -68631,6 +68659,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html" title="class in org.apache.hadoop.hbase.master.replication">TestModifyPeerProcedureRetryBackoff</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication">TestTransitPeerSyncReplicationStateProcedureBackoff</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.master.snapshot.<a href="org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.html" title="class in org.apache.hadoop.hbase.master.snapshot">TestSnapshotFileCache</a></dt>
@@ -71192,6 +71222,8 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestBulkLoad.html#withMissingHFileForFamily-byte:A-">withMissingHFileForFamily(byte[])</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestBulkLoad.html" title="class in org.apache.hadoop.hbase.regionserver">TestBulkLoad</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#wokenProcedures">wokenProcedures</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">TestSyncReplicationReplayWALManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.html#workDir">workDir</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.html" title="class in org.apache.hadoop.hbase.util">ProcessBasedLocalHBaseCluster</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/AcidGuaranteesTestTool.AtomicGetReader.html#workDone--">workDone()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/AcidGuaranteesTestTool.AtomicGetReader.html" title="class in org.apache.hadoop.hbase">AcidGuaranteesTestTool.AtomicGetReader</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index 6af42fe..2d9b60f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -146,8 +146,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/TestIncrementalBackupMergeWithFailures.FailurePhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">TestIncrementalBackupMergeWithFailures.FailurePhase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.Failure.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">TestBackupDeleteWithFailures.Failure</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/TestIncrementalBackupMergeWithFailures.FailurePhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">TestIncrementalBackupMergeWithFailures.FailurePhase</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
index c9170e0..5e0f571 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
@@ -3899,12 +3899,20 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestModifyPeerProcedureRetryBackoff.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestTransitPeerSyncReplicationStateProcedureRetry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TestModifyPeerProcedureRetryBackoff.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestTransitPeerSyncReplicationStateProcedureBackoff.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TestSyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
index 32530da..2b872c0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
@@ -2602,6 +2602,10 @@
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestTransitPeerSyncReplicationStateProcedureBackoff.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TestSyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#UTIL">UTIL</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html
index 3335da4..2244199 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html" target="_top">Frames</a></li>
@@ -583,7 +583,7 @@ extends org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure</pre>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html
new file mode 100644
index 0000000..551def6
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html
@@ -0,0 +1,411 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TestSyncReplicationReplayWALManager (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TestSyncReplicationReplayWALManager (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestSyncReplicationReplayWALManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" target="_top">Frames</a></li>
+<li><a href="TestSyncReplicationReplayWALManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.replication</div>
+<h2 title="Class TestSyncReplicationReplayWALManager" class="title">Class TestSyncReplicationReplayWALManager</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.replication.TestSyncReplicationReplayWALManager</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.65">TestSyncReplicationReplayWALManager</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</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>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<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;org.apache.hadoop.hbase.master.ServerListener&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#listeners">listeners</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALManager</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#manager">manager</a></span></code>&nbsp;</td>
+</tr>
+<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;org.apache.hadoop.hbase.ServerName&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#onlineServers">onlineServers</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#scheduler">scheduler</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#UTIL">UTIL</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/Queue.html?is-external=true" title="class or interface in java.util">Queue</a>&lt;org.apache.hadoop.hbase.procedure2.Procedure&lt;?&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#wokenProcedures">wokenProcedures</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#TestSyncReplicationReplayWALManager--">TestSyncReplicationReplayWALManager</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#setUp--">setUp</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#testUsedWorkers--">testUsedWorkers</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="CLASS_RULE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CLASS_RULE</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.68">CLASS_RULE</a></pre>
+</li>
+</ul>
+<a name="UTIL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UTIL</h4>
+<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.71">UTIL</a></pre>
+</li>
+</ul>
+<a name="manager">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>manager</h4>
+<pre>private&nbsp;org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALManager <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.73">manager</a></pre>
+</li>
+</ul>
+<a name="scheduler">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scheduler</h4>
+<pre>private&nbsp;org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.75">scheduler</a></pre>
+</li>
+</ul>
+<a name="onlineServers">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onlineServers</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;org.apache.hadoop.hbase.ServerName&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.77">onlineServers</a></pre>
+</li>
+</ul>
+<a name="listeners">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>listeners</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.hbase.master.ServerListener&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.79">listeners</a></pre>
+</li>
+</ul>
+<a name="wokenProcedures">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>wokenProcedures</h4>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a>&lt;org.apache.hadoop.hbase.procedure2.Procedure&lt;?&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.81">wokenProcedures</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TestSyncReplicationReplayWALManager--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestSyncReplicationReplayWALManager</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.65">TestSyncReplicationReplayWALManager</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setUp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUp</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.84">setUp</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.hadoop.hbase.replication.ReplicationException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code>org.apache.hadoop.hbase.replication.ReplicationException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="testUsedWorkers--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testUsedWorkers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html#line.130">testUsedWorkers</a>()
+                     throws org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestSyncReplicationReplayWALManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" target="_top">Frames</a></li>
+<li><a href="TestSyncReplicationReplayWALManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html
index 12c3ffe..2d0c6c8 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" target="_top">Frames</a></li>
@@ -529,7 +529,7 @@ extends org.apache.hadoop.hbase.master.replication.TransitPeerSyncReplicationSta
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html
index 9703017..b099ba7 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -390,7 +390,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html
new file mode 100644
index 0000000..8b23b0c
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TestTransitPeerSyncReplicationStateProcedureRetry (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TestTransitPeerSyncReplicationStateProcedureRetry (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":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";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestTransitPeerSyncReplicationStateProcedureRetry.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" target="_top">Frames</a></li>
+<li><a href="TestTransitPeerSyncReplicationStateProcedureRetry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.replication</div>
+<h2 title="Class TestTransitPeerSyncReplicationStateProcedureRetry" class="title">Class TestTransitPeerSyncReplicationStateProcedureRetry</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html" title="class in org.apache.hadoop.hbase.replication">org.apache.hadoop.hbase.replication.SyncReplicationTestBase</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.replication.TestTransitPeerSyncReplicationStateProcedureRetry</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#line.40">TestTransitPeerSyncReplicationStateProcedureRetry</a>
+extends <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html" title="class in org.apache.hadoop.hbase.replication">SyncReplicationTestBase</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</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>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.replication.SyncReplicationTestBase">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.replication.<a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html" title="class in org.apache.hadoop.hbase.replication">SyncReplicationTestBase</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#CF">CF</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#CQ">CQ</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#PEER_ID">PEER_ID</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#REMOTE_WAL_DIR1">REMOTE_WAL_DIR1</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#REMOTE_WAL_DIR2">REMOTE_WAL_DIR2</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#TABLE_NAME">TABLE_NAME</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#UTIL1">UTIL1</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#UTIL2">UTIL2</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncRe
 plicationTestBase.html#ZK_UTIL">ZK_UTIL</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#TestTransitPeerSyncReplicationStateProcedureRetry--">TestTransitPeerSyncReplicationStateProcedureRetry</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#setUp--">setUp</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#testRecoveryAndDoubleExecution--">testRecoveryAndDoubleExecution</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.replication.SyncReplicationTestBase">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.replication.<a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html" title="class in org.apache.hadoop.hbase.replication">SyncReplicationTestBase</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#getRemoteWALDir-org.apache.hadoop.hbase.master.MasterFileSystem-java.lang.String-">getRemoteWALDir</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#getRemoteWALDir-org.apache.hadoop.fs.Path-java.lang.String-">getRemoteWALDir</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#getReplayRemoteWALs-org.apache.hadoop.fs.Path-java.lang.String-">getReplayRemoteWALs</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#initTestingUtility-org.apache.hadoop.hbase.HBaseTestingUtility-java.lang.String-">initTestingUtility</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#tearDown--">tearDown</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#verify-org.apache.hadoop.hbase.
 HBaseTestingUtility-int-int-">verify</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#verifyNotReplicatedThroughRegion-org.apache.hadoop.hbase.HBaseTestingUtility-int-int-">verifyNotReplicatedThroughRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#verifyRemovedPeer-java.lang.String-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.HBaseTestingUtility-">verifyRemovedPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#verifyReplicationRequestRejection-org.apache.hadoop.hbase.HBaseTestingUtility-boolean-">verifyReplicationRequestRejection</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#verifyThroughRegion-org.apache.hadoop.hbase.HBaseTestingUtility-int-int-">verifyThroughRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#waitUntilRepli
 cationDone-org.apache.hadoop.hbase.HBaseTestingUtility-int-">waitUntilReplicationDone</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#write-org.apache.hadoop.hbase.HBaseTestingUtility-int-int-">write</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html#writeAndVerifyReplication-org.apache.hadoop.hbase.HBaseTestingUtility-org.apache.hadoop.hbase.HBaseTestingUtility-int-int-">writeAndVerifyReplication</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="CLASS_RULE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CLASS_RULE</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#line.43">CLASS_RULE</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TestTransitPeerSyncReplicationStateProcedureRetry--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestTransitPeerSyncReplicationStateProcedureRetry</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#line.40">TestTransitPeerSyncReplicationStateProcedureRetry</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setUp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUp</h4>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#line.47">setUp</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>
+<dd><code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testRecoveryAndDoubleExecution--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testRecoveryAndDoubleExecution</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html#line.53">testRecoveryAndDoubleExecution</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>
+<dd><code><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></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestTransitPeerSyncReplicationStateProcedureRetry.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureRetry.html" target="_top">Frames</a></li>
+<li><a href="TestTransitPeerSyncReplicationStateProcedureRetry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/testdevapidocs/org/apache/hadoop/hbase/master/replication/class-use/TestSyncReplicationReplayWALManager.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/class-use/TestSyncReplicationReplayWALManager.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/class-use/TestSyncReplicationReplayWALManager.html
new file mode 100644
index 0000000..0a2ebde
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/class-use/TestSyncReplicationReplayWALManager.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.replication.TestSyncReplicationReplayWALManager (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.master.replication.TestSyncReplicationReplayWALManager (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/TestSyncReplicationReplayWALManager.html" target="_top">Frames</a></li>
+<li><a href="TestSyncReplicationReplayWALManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.replication.TestSyncReplicationReplayWALManager" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.replication.TestSyncReplicationReplayWALManager</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.master.replication.TestSyncReplicationReplayWALManager</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/TestSyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/TestSyncReplicationReplayWALManager.html" target="_top">Frames</a></li>
+<li><a href="TestSyncReplicationReplayWALManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


[11/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
index 3aa6730..1c8da23 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.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};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -129,8 +129,10 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.38">RecoverStandbyProcedure</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.40">RecoverStandbyProcedure</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&gt;</pre>
+<div class="block">The procedure for replaying all the remote wals for transitting a sync replication peer from
+ STANDBY to DOWNGRADE_ACTIVE.</div>
 </li>
 </ul>
 </div>
@@ -245,45 +247,52 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#afterReplay-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">afterReplay</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
+<div class="block">Called when the procedure is ready to be added to the queue after
+ the loading/replay operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)</code>
 <div class="block">Called on store load to allow the user to decode the previously serialized
  state.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" 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/RecoverStandbyProcedure.html#dispathWals-org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALManager-">dispathWals</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;syncReplicationReplayWALManager)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#executeFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState-">executeFromState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;state)</code>
 <div class="block">called to perform a single step of the specified 'state' of the procedure</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#getInitialState--">getInitialState</a></span>()</code>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface.PeerOperationType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#getPeerOperationType--">getPeerOperationType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#getState-int-">getState</a></span>(int&nbsp;stateId)</code>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#getStateId-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState-">getStateId</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;state)</code>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)</code>
 <div class="block">The user-level code of the procedure may have some state to
@@ -310,7 +319,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-
 TEnvironment-">getProcedureMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>,
  <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="
 ../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Procedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../
 ../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../..
 /../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href=
 "../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--
 ">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringClass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">toStringClassDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedur
 e.html#wasExecuted--">wasExecuted</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a
  href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-TEnvironment-">getProcedureMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getP
 rocId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <
 a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Pro
 cedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../or
 g/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure<
 /a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../
 ../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringCla
 ss</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">toStringClassDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExecuted</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -339,7 +348,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <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/RecoverStandbyProcedure.html#line.40">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.42">LOG</a></pre>
 </li>
 </ul>
 <a name="serial">
@@ -348,7 +357,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>serial</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.42">serial</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.44">serial</a></pre>
 </li>
 </ul>
 </li>
@@ -365,7 +374,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>RecoverStandbyProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.44">RecoverStandbyProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.46">RecoverStandbyProcedure</a>()</pre>
 </li>
 </ul>
 <a name="RecoverStandbyProcedure-java.lang.String-boolean-">
@@ -374,7 +383,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RecoverStandbyProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.47">RecoverStandbyProcedure</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="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.49">RecoverStandbyProcedure</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;serial)</pre>
 </li>
 </ul>
@@ -392,7 +401,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>executeFromState</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.53">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.55">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                       org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;state)
                                                throws <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a>,
                                                       <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureYieldException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureYieldException</a>,
@@ -419,7 +428,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>dispathWals</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.105">dispathWals</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;syncReplicationReplayWALManager)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.96">dispathWals</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;syncReplicationReplayWALManager)
                   throws <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureYieldException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureYieldException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -433,7 +442,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.119">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.111">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState-int-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -452,7 +461,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.124">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.116">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;state)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId-TState-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -471,7 +480,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.129">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.121">getInitialState</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState--">StateMachineProcedure</a></code></span></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -488,7 +497,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>getPeerOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface.PeerOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.134">getPeerOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface.PeerOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.126">getPeerOperationType</a>()</pre>
 </li>
 </ul>
 <a name="serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">
@@ -497,7 +506,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.139">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.131">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                            throws <a href="https://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 class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -516,10 +525,10 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <a name="deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.145">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.137">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                              throws <a href="https://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 class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -534,6 +543,22 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 </dl>
 </li>
 </ul>
+<a name="afterReplay-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>afterReplay</h4>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.144">afterReplay</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">Procedure</a></code></span></div>
+<div class="block">Called when the procedure is ready to be added to the queue after
+ the loading/replay operation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html
new file mode 100644
index 0000000..a95463f
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html
@@ -0,0 +1,391 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SyncReplicationReplayWALManager.UsedReplayWorkersForPeer (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SyncReplicationReplayWALManager.UsedReplayWorkersForPeer (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" target="_top">Frames</a></li>
+<li><a href="SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.replication</div>
+<h2 title="Class SyncReplicationReplayWALManager.UsedReplayWorkersForPeer" class="title">Class SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private static final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#line.103">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This class is used to record the used workers(region servers) for a replication peer. For
+ balancing the replaying remote wal job, we will only schedule one remote replay procedure each
+ time. So when acquiring a worker, we will first get all the region servers for this cluster,
+ and then filter out the used ones.
+ <p/>
+ The <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureEvent</code></a> is used for notifying procedures that there are available workers
+ now. We used to use sleeping and retrying before, but if the interval is too large, for
+ example, exponential backoff, then it is not effective, but if the interval is too small, then
+ we will flood the procedure wal.
+ <p/>
+ The states are only kept in memory, so when restarting, we need to reconstruct these
+ information, using the information stored in related procedures. See the <code>afterReplay</code>
+ method in <a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><code>RecoverStandbyProcedure</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><code>SyncReplicationReplayWALProcedure</code></a> for
+ more details.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</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>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#event">event</a></span></code>&nbsp;</td>
+</tr>
+<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="../../../../../../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/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#usedWorkers">usedWorkers</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#UsedReplayWorkersForPeer-java.lang.String-">UsedReplayWorkersForPeer</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>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/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;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#acquire-org.apache.hadoop.hbase.master.ServerManager-">acquire</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#release-org.apache.hadoop.hbase.ServerName-">release</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#suspend-org.apache.hadoop.hbase.procedure2.Procedure-">suspend</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#used-org.apache.hadoop.hbase.ServerName-">used</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#wake-org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler-">wake</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>&nbsp;scheduler)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="usedWorkers">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>usedWorkers</h4>
+<pre>private final&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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#line.105">usedWorkers</a></pre>
+</li>
+</ul>
+<a name="event">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>event</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/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#line.107">event</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="UsedReplayWorkersForPeer-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UsedReplayWorkersForPeer</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#line.109">UsedReplayWorkersForPeer</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>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="used-org.apache.hadoop.hbase.ServerName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>used</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#line.113">used</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</pre>
+</li>
+</ul>
+<a name="acquire-org.apache.hadoop.hbase.master.ServerManager-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>acquire</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/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#line.117">acquire</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
+</li>
+</ul>
+<a name="release-org.apache.hadoop.hbase.ServerName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>release</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#line.124">release</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</pre>
+</li>
+</ul>
+<a name="suspend-org.apache.hadoop.hbase.procedure2.Procedure-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>suspend</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#line.128">suspend</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="wake-org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>wake</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#line.133">wake</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>&nbsp;scheduler)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" target="_top">Frames</a></li>
+<li><a href="SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


[09/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
index 859adb8..60734aa 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.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};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -129,8 +129,11 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.38">SyncReplicationReplayWALProcedure</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.41">SyncReplicationReplayWALProcedure</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&gt;</pre>
+<div class="block">The procedure for replaying a set of remote wals. It will get an available region server and
+ schedule a <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><code>SyncReplicationReplayWALRemoteProcedure</code></a> to actually send the request to region
+ server.</div>
 </li>
 </ul>
 </div>
@@ -249,48 +252,55 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#afterReplay-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">afterReplay</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
+<div class="block">Called when the procedure is ready to be added to the queue after
+ the loading/replay operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)</code>
 <div class="block">Called on store load to allow the user to decode the previously serialized
  state.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#executeFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState-">executeFromState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;state)</code>
 <div class="block">called to perform a single step of the specified 'state' of the procedure</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#getInitialState--">getInitialState</a></span>()</code>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface.PeerOperationType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#getPeerOperationType--">getPeerOperationType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#getState-int-">getState</a></span>(int&nbsp;state)</code>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#getStateId-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState-">getStateId</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;state)</code>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState-">rollbackState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
              org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;state)</code>
 <div class="block">called to perform the rollback of the specified state</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)</code>
 <div class="block">The user-level code of the procedure may have some state to
@@ -317,7 +327,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-
 TEnvironment-">getProcedureMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>,
  <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="
 ../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Procedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../
 ../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../..
 /../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href=
 "../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--
 ">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringClass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">toStringClassDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedur
 e.html#wasExecuted--">wasExecuted</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a
  href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-TEnvironment-">getProcedureMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getP
 rocId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <
 a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Pro
 cedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../or
 g/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure<
 /a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../
 ../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringCla
 ss</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">toStringClassDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExecuted</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -346,7 +356,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <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/SyncReplicationReplayWALProcedure.html#line.41">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.44">LOG</a></pre>
 </li>
 </ul>
 <a name="worker">
@@ -355,7 +365,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>worker</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.44">worker</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.47">worker</a></pre>
 </li>
 </ul>
 <a name="wals">
@@ -364,7 +374,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>wals</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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.46">wals</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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.49">wals</a></pre>
 </li>
 </ul>
 </li>
@@ -381,7 +391,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>SyncReplicationReplayWALProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.48">SyncReplicationReplayWALProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.51">SyncReplicationReplayWALProcedure</a>()</pre>
 </li>
 </ul>
 <a name="SyncReplicationReplayWALProcedure-java.lang.String-java.util.List-">
@@ -390,7 +400,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SyncReplicationReplayWALProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.51">SyncReplicationReplayWALProcedure</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="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.54">SyncReplicationReplayWALProcedure</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="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;wals)</pre>
 </li>
 </ul>
@@ -408,7 +418,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>executeFromState</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.57">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.60">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                       org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;state)
                                                throws <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#executeFromState-TEnvironment-TState-">StateMachineProcedure</a></code></span></div>
@@ -431,7 +441,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.116">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.97">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                              org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;state)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                              <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>
@@ -453,7 +463,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.126">getState</a>(int&nbsp;state)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.106">getState</a>(int&nbsp;state)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState-int-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -472,7 +482,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.131">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.111">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;state)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId-TState-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -491,7 +501,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.137">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.116">getInitialState</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState--">StateMachineProcedure</a></code></span></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -508,7 +518,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.142">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.121">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                            throws <a href="https://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 class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -530,7 +540,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.152">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.132">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                              throws <a href="https://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 class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -548,10 +558,26 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <a name="getPeerOperationType--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getPeerOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface.PeerOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.161">getPeerOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface.PeerOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.144">getPeerOperationType</a>()</pre>
+</li>
+</ul>
+<a name="afterReplay-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>afterReplay</h4>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.149">afterReplay</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">Procedure</a></code></span></div>
+<div class="block">Called when the procedure is ready to be added to the queue after
+ the loading/replay operation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;</code></dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -582,7 +608,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html
index 78266d1..62b769f 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html
@@ -119,9 +119,10 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.47">SyncReplicationReplayWALRemoteProcedure</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.50">SyncReplicationReplayWALRemoteProcedure</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;
 implements <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>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></pre>
+<div class="block">A remote procedure which is used to send replaying remote wal work to region server.</div>
 </li>
 </ul>
 </div>
@@ -351,7 +352,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <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/SyncReplicationReplayWALRemoteProcedure.html#line.50">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.53">LOG</a></pre>
 </li>
 </ul>
 <a name="peerId">
@@ -360,7 +361,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>peerId</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/replication/SyncReplicationReplayWALRemoteProcedure.html#line.53">peerId</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/replication/SyncReplicationReplayWALRemoteProcedure.html#line.56">peerId</a></pre>
 </li>
 </ul>
 <a name="targetServer">
@@ -369,7 +370,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>targetServer</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.55">targetServer</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.58">targetServer</a></pre>
 </li>
 </ul>
 <a name="wals">
@@ -378,7 +379,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>wals</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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.57">wals</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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.60">wals</a></pre>
 </li>
 </ul>
 <a name="dispatched">
@@ -387,7 +388,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>dispatched</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.59">dispatched</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.62">dispatched</a></pre>
 </li>
 </ul>
 <a name="event">
@@ -396,7 +397,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>event</h4>
-<pre>private&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/replication/SyncReplicationReplayWALRemoteProcedure.html#line.61">event</a></pre>
+<pre>private&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/replication/SyncReplicationReplayWALRemoteProcedure.html#line.64">event</a></pre>
 </li>
 </ul>
 <a name="succ">
@@ -405,7 +406,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockListLast">
 <li class="blockList">
 <h4>succ</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.63">succ</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.66">succ</a></pre>
 </li>
 </ul>
 </li>
@@ -422,7 +423,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>SyncReplicationReplayWALRemoteProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.65">SyncReplicationReplayWALRemoteProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.68">SyncReplicationReplayWALRemoteProcedure</a>()</pre>
 </li>
 </ul>
 <a name="SyncReplicationReplayWALRemoteProcedure-java.lang.String-java.util.List-org.apache.hadoop.hbase.ServerName-">
@@ -431,7 +432,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SyncReplicationReplayWALRemoteProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.68">SyncReplicationReplayWALRemoteProcedure</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="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.71">SyncReplicationReplayWALRemoteProcedure</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="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;wals,
                                                <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;targetServer)</pre>
 </li>
@@ -450,7 +451,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteCallBuild</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteOperation.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteOperation</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.76">remoteCallBuild</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteOperation.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteOperation</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.79">remoteCallBuild</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                                  <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;remote)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html#remoteCallBuild-TEnv-TRemote-">RemoteProcedureDispatcher.RemoteProcedure</a></code></span></div>
 <div class="block">For building the remote operation.</div>
@@ -466,7 +467,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteCallFailed</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.86">remoteCallFailed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.89">remoteCallFailed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                              <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;remote,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;exception)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html#remoteCallFailed-TEnv-TRemote-java.io.IOException-">RemoteProcedureDispatcher.RemoteProcedure</a></code></span></div>
@@ -483,7 +484,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteOperationCompleted</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.91">remoteOperationCompleted</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.94">remoteOperationCompleted</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html#remoteOperationCompleted-TEnv-">RemoteProcedureDispatcher.RemoteProcedure</a></code></span></div>
 <div class="block">Called when RS tells the remote procedure is succeeded through the
  <code>reportProcedureDone</code> method.</div>
@@ -499,7 +500,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteOperationFailed</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.96">remoteOperationFailed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.99">remoteOperationFailed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                   <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a>&nbsp;error)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html#remoteOperationFailed-TEnv-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">RemoteProcedureDispatcher.RemoteProcedure</a></code></span></div>
 <div class="block">Called when RS tells the remote procedure is failed through the <code>reportProcedureDone</code>
@@ -516,7 +517,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>complete</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.100">complete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.103">complete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                       <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;error)</pre>
 </li>
 </ul>
@@ -526,9 +527,9 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>truncateWALs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.122">truncateWALs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
-<div class="block">Only truncate wals one by one when task succeed. The parent procedure will check the first
- wal length to know whether this task succeed.</div>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.125">truncateWALs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<div class="block">Only truncate wals one by one when task succeed. The parent procedure will check the first wal
+ length to know whether this task succeed.</div>
 </li>
 </ul>
 <a name="execute-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
@@ -537,7 +538,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>execute</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</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/replication/SyncReplicationReplayWALRemoteProcedure.html#line.148">execute</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</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/replication/SyncReplicationReplayWALRemoteProcedure.html#line.151">execute</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                            throws <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureYieldException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureYieldException</a>,
                                                   <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</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>
@@ -567,7 +568,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>rollback</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.176">rollback</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.177">rollback</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                  throws <a href="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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#rollback-TEnvironment-">Procedure</a></code></span></div>
@@ -594,7 +595,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.181">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.182">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">The abort() call is asynchronous and each procedure must decide how to deal
  with it, if they want to be abortable. The simplest implementation
@@ -617,7 +618,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteP
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.186">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#line.187">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                            throws <a href="https://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 class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">The user-level code of the procedure may have some state to

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html
index d4c4a41..b08e40d 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" target="_top">Frames</a></li>
@@ -713,7 +713,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" target="_top">Frames</a></li>


[12/13] hbase-site git commit: Published site at c8574ba3c52274ed5a93e46f7af30dd8b46fb878.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
index e4de51f..77ee94f 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
@@ -5463,8 +5463,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <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="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/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"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#workers">workers</a></span></code>&nbsp;</td>
+<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"><span class="typeNameLabel">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#usedWorkers">usedWorkers</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -5477,7 +5477,10 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr 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"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#getPeerWorker-java.lang.String-">getPeerWorker</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>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#acquirePeerWorker-java.lang.String-org.apache.hadoop.hbase.procedure2.Procedure-">acquirePeerWorker</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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>
+<div class="block">Get a worker for replaying remote wal for a give peer.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -5489,8 +5492,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><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"><span class="typeNameLabel">ZKSyncReplicationReplayWALWorkerStorage.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#getPeerWorkers-java.lang.String-">getPeerWorkers</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>
+<td class="colFirst"><code><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;</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#acquire-org.apache.hadoop.hbase.master.ServerManager-">acquire</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -5503,45 +5506,47 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ZKSyncReplicationReplayWALWorkerStorage.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#addPeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">addPeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#addUsedPeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">addUsedPeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>
+<div class="block">Will only be called when loading procedures, where we need to construct the used worker set for
+ each peer.</div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="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"><span class="typeNameLabel">ZKSyncReplicationReplayWALWorkerStorage.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#getPeerWorkerNode-java.lang.String-org.apache.hadoop.hbase.ServerName-">getPeerWorkerNode</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#release-org.apache.hadoop.hbase.ServerName-">release</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#releasePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler-">releasePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker,
+                 <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>&nbsp;scheduler)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteOperation.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteOperation</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RefreshPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html#remoteCallBuild-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.ServerName-">remoteCallBuild</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;remote)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteOperation.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteOperation</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALRemoteProcedure.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#remoteCallBuild-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.ServerName-">remoteCallBuild</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;remote)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RefreshPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html#remoteCallFailed-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.ServerName-java.io.IOException-">remoteCallFailed</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;remote,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;exception)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALRemoteProcedure.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html#remoteCallFailed-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.ServerName-java.io.IOException-">remoteCallFailed</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;remote,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;exception)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">removePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ZKSyncReplicationReplayWALWorkerStorage.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html#removePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-">removePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#used-org.apache.hadoop.hbase.ServerName-">used</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index 4d0622f..efd0653 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -555,24 +555,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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/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/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/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/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</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/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/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/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</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/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/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/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/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/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/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/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</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/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/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/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/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/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/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/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</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/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
index e67b778..329f62f 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
@@ -201,8 +201,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.MetaTableOps.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">MetaTableMetrics.MetaTableOps</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">RegionObserver.MutationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.MetaTableOps.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">MetaTableMetrics.MetaTableOps</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
index ae0124e..ce950b0 100644
--- a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
@@ -104,8 +104,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" title="class or interface in java.io">Serializable</a>)
 <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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 4326c32..e423bc0 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -183,14 +183,14 @@
 <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" title="class or interface in java.io">Serializable</a>)
 <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/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/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/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</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/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/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
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 5a3a222..996a06f 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -274,12 +274,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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/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/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</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>
 <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/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</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/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index b11f6ad..f1985a3 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -294,9 +294,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" title="class or interface in java.io">Serializable</a>)
 <ul>
 <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>
-<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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateNode.AssignmentProcedureEvent.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateNode.AssignmentProcedureEvent.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateNode.AssignmentProcedureEvent.html
index 171ec92..5da083d 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateNode.AssignmentProcedureEvent.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateNode.AssignmentProcedureEvent.html
@@ -148,7 +148,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureE
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#getSuspendedProcedures--">getSuspendedProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#isReady--">isReady</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspend--">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspendIfNotReady-org.apache.hadoop.hbase.procedure2.Procedure-">suspendIfNotReady</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wake-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-">wake</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wakeEvents-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-org.apache.hadoop.hbase.procedure2.ProcedureEvent
 ...-">wakeEvents</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#getSuspendedProcedures--">getSuspendedProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#isReady--">isReady</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspend--">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspendIfNotReady-org.apache.hadoop.hbase.procedure2.Procedure-">suspendIfNotReady</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wake-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-">wake</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wakeEvents-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-org.apache.hadoop.hbase.procedure2.ProcedureEvent
 ...-">wakeEvents</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wakeInternal-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-">wakeInternal</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.ServerReportEvent.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.ServerReportEvent.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.ServerReportEvent.html
index 75d5b33..f32c924 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.ServerReportEvent.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.ServerReportEvent.html
@@ -148,7 +148,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureE
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#getSuspendedProcedures--">getSuspendedProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#isReady--">isReady</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspend--">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspendIfNotReady-org.apache.hadoop.hbase.procedure2.Procedure-">suspendIfNotReady</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wake-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-">wake</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wakeEvents-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-org.apache.hadoop.hbase.procedure2.ProcedureEvent
 ...-">wakeEvents</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#getSuspendedProcedures--">getSuspendedProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#isReady--">isReady</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspend--">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspendIfNotReady-org.apache.hadoop.hbase.procedure2.Procedure-">suspendIfNotReady</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wake-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-">wake</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wakeEvents-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-org.apache.hadoop.hbase.procedure2.ProcedureEvent
 ...-">wakeEvents</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#wakeInternal-org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler-">wakeInternal</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
index abd92a9..1799704 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/balancer/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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/class-use/MasterServices.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/class-use/MasterServices.html b/devapidocs/org/apache/hadoop/hbase/master/class-use/MasterServices.html
index 537179a..727c91c 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/class-use/MasterServices.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/class-use/MasterServices.html
@@ -759,19 +759,6 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> in <a href="../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</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/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</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/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#services">services</a></span></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/class-use/ServerManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/class-use/ServerManager.html b/devapidocs/org/apache/hadoop/hbase/master/class-use/ServerManager.html
index db31e5d..30b998f 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/class-use/ServerManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/class-use/ServerManager.html
@@ -87,6 +87,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.tmpl.master">org.apache.hadoop.hbase.tmpl.master</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -163,6 +167,37 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> in <a href="../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</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/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</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/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#serverManager">serverManager</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> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/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;</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#acquire-org.apache.hadoop.hbase.master.ServerManager-">acquire</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.tmpl.master">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 8b92691..cf632c1 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -347,11 +347,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" title="class or interface in java.io">Serializable</a>)
 <ul>
-<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/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/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/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/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/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/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-use.html b/devapidocs/org/apache/hadoop/hbase/master/package-use.html
index 624eed1..0c9e322 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-use.html
@@ -823,6 +823,11 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/master/class-use/ServerManager.html#org.apache.hadoop.hbase.master.replication">ServerManager</a>
+<div class="block">The ServerManager class manages info about region servers.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/master/class-use/TableStateManager.html#org.apache.hadoop.hbase.master.replication">TableStateManager</a>
 <div class="block">This is a helper class used to manage table states.</div>
 </td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html
index 88bf21c..9b4ec28 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html
@@ -590,7 +590,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractPr
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">AbstractProcedureScheduler</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addBack-org.apache.hadoop.hbase.procedure2.Procedure-">addBack</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addBack-org.apache.hadoop.hbase.procedure2.Procedure-boolean-">addBack</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addFront-java.util.Iterator-">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addFront-org.apache.hadoop.hbase.procedure2.Procedure-">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addFront-org.apache.hadoop.hbase.procedure2.Procedure-boolean-">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#getNullPollCalls--">getNullPollCalls</a>, <a href="../../../../../../org/apache/hadoop/hbas
 e/procedure2/AbstractProcedureScheduler.html#getPollCalls--">getPollCalls</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#hasRunnables--">hasRunnables</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#poll--">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#poll-long-">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#poll-long-java.util.concurrent.TimeUnit-">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#push-org.apache.hadoop.hbase.procedure2.Procedure-boolean-boolean-">push</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#schedLock--">schedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#schedUnlock--">schedUnlock</
 a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#signalAll--">signalAll</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#size--">size</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#start--">start</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#stop--">stop</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#waitProcedure-org.apache.hadoop.hbase.procedure2.LockAndQueue-org.apache.hadoop.hbase.procedure2.Procedure-">waitProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#wakePollIfNeeded-int-">wakePollIfNeeded</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#wakeProcedure-org.apache.hadoop.hbase.procedure2.Procedure-">wakeProcedure</a>
 , <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#wakeWaitingProcedures-org.apache.hadoop.hbase.procedure2.LockAndQueue-">wakeWaitingProcedures</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addBack-org.apache.hadoop.hbase.procedure2.Procedure-">addBack</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addBack-org.apache.hadoop.hbase.procedure2.Procedure-boolean-">addBack</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addFront-java.util.Iterator-">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addFront-org.apache.hadoop.hbase.procedure2.Procedure-">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#addFront-org.apache.hadoop.hbase.procedure2.Procedure-boolean-">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#getNullPollCalls--">getNullPollCalls</a>, <a href="../../../../../../org/apache/hadoop/hbas
 e/procedure2/AbstractProcedureScheduler.html#getPollCalls--">getPollCalls</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#hasRunnables--">hasRunnables</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#poll--">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#poll-long-">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#poll-long-java.util.concurrent.TimeUnit-">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#push-org.apache.hadoop.hbase.procedure2.Procedure-boolean-boolean-">push</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#schedLock--">schedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#schedUnlock--">schedUnlock</
 a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#signalAll--">signalAll</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#size--">size</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#start--">start</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#stop--">stop</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#waitProcedure-org.apache.hadoop.hbase.procedure2.LockAndQueue-org.apache.hadoop.hbase.procedure2.Procedure-">waitProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#wakeEvents-org.apache.hadoop.hbase.procedure2.ProcedureEvent:A-">wakeEvents</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#wakePollIfNeeded-int-">wakePollIfNeeded</a
 >, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#wakeProcedure-org.apache.hadoop.hbase.procedure2.Procedure-">wakeProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#wakeWaitingProcedures-org.apache.hadoop.hbase.procedure2.LockAndQueue-">wakeWaitingProcedures</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
index 67cc7cc..031a0dc 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
@@ -2297,6 +2297,14 @@
 <td class="colLast"><span class="typeNameLabel">AbstractPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">RecoverStandbyProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#afterReplay-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">afterReplay</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#afterReplay-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">afterReplay</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">RefreshPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html#complete-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-java.lang.Throwable-">complete</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
         <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;error)</code>&nbsp;</td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html
index 3d65cf5..4b5ceaf 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html
@@ -90,6 +90,10 @@
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -144,6 +148,30 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html#releasePeerWorker-java.lang.String-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler-">releasePeerWorker</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;worker,
+                 <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>&nbsp;scheduler)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.UsedReplayWorkersForPeer.html#wake-org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler-">wake</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>&nbsp;scheduler)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html
index daee7e8..31928d5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html
@@ -164,7 +164,10 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code>
+<div class="block">The procedure for replaying all the remote wals for transitting a sync replication peer from
+ STANDBY to DOWNGRADE_ACTIVE.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
@@ -178,11 +181,15 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code>
+<div class="block">The procedure for replaying a set of remote wals.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></span></code>
+<div class="block">A remote procedure which is used to send replaying remote wal work to region server.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
----------------------------------------------------------------------
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 2991c16..59af371 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -215,10 +215,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" title="class or interface in java.io">Serializable</a>)
 <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/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/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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/74ea8168/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html
index 6048bbd..b761d81 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html
@@ -343,12 +343,17 @@
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html#org.apache.hadoop.hbase.master.replication">MasterProcedureEnv</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html#org.apache.hadoop.hbase.master.replication">PeerProcedureInterface</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html#org.apache.hadoop.hbase.master.replication">MasterProcedureScheduler</a>
+<div class="block">ProcedureScheduler for the Master Procedures.</div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.PeerOperationType.html#org.apache.hadoop.hbase.master.replication">PeerProcedureInterface.PeerOperationType</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html#org.apache.hadoop.hbase.master.replication">PeerProcedureInterface</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.PeerOperationType.html#org.apache.hadoop.hbase.master.replication">PeerProcedureInterface.PeerOperationType</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/ProcedurePrepareLatch.html#org.apache.hadoop.hbase.master.replication">ProcedurePrepareLatch</a>
 <div class="block">Latch used by the Master to have the prepare() sync behaviour for old
  clients, that can only get exceptions in a synchronous way.</div>