http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 202b813..9a7940d 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
     <copyright>&#169;2007 - 2018 The Apache Software Foundation</copyright>
     <item>
       <title>File: 3604,
-             Errors: 15858,
+             Errors: 15861,
              Warnings: 0,
              Infos: 0
       </title>
@@ -1502,6 +1502,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a 
href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.replication.regionserver.TestReplicationSource.java";>org/apache/hadoop/hbase/replication/regionserver/TestReplicationSource.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  10
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a 
href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.regionserver.MetricsRegionSourceImpl.java";>org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java</a>
                 </td>
                 <td>
@@ -28074,20 +28088,6 @@ under the License.
               </tr>
                           <tr>
                 <td>
-                  <a 
href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.replication.TestReplicationSource.java";>org/apache/hadoop/hbase/replication/TestReplicationSource.java</a>
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  7
-                </td>
-              </tr>
-                          <tr>
-                <td>
                   <a 
href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.quotas.ThrottleType.java";>org/apache/hadoop/hbase/quotas/ThrottleType.java</a>
                 </td>
                 <td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 866db5b..485701d 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="20180427" />
+    <meta name="Date-Revision-yyyymmdd" content="20180428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -375,7 +375,7 @@ email to <a class="externalLink" 
href="mailto:priv...@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-04-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2018-04-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 05c2c0c..207d50d 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="20180427" />
+    <meta name="Date-Revision-yyyymmdd" content="20180428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" 
/>
@@ -440,7 +440,7 @@
                         <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 
2018-04-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2018-04-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index e9c6119..b6db1d5 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="20180427" />
+    <meta name="Date-Revision-yyyymmdd" content="20180428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" 
/>
@@ -1105,7 +1105,7 @@
                         <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 
2018-04-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2018-04-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 3fbc3da..1457907 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="20180427" />
+    <meta name="Date-Revision-yyyymmdd" content="20180428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" 
/>
@@ -313,7 +313,7 @@
                         <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 
2018-04-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2018-04-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 00786c7..3191a3a 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="20180427" />
+    <meta name="Date-Revision-yyyymmdd" content="20180428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" 
/>
@@ -969,7 +969,7 @@
                         <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 
2018-04-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2018-04-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 585b4a6..8e53117 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3768,21 +3768,21 @@
 <!--   -->
 </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>"Fri Apr 27 14:39:10 UTC 2018"</code></td>
+<td class="colLast"><code>"Sat Apr 28 14:42:29 UTC 2018"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </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#revision">revision</a></code></td>
-<td 
class="colLast"><code>"e9a278adc617a41ad3eefdd419e7618afee6b2b3"</code></td>
+<td 
class="colLast"><code>"a13630383335371dee338f4e2b42ac0f5de57667"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </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>"caf1e1906ad0f6f6e7eeda39558516c5"</code></td>
+<td class="colLast"><code>"05d5a910bd9a34952978ab46e80e224e"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
 
b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
index 1b97937..39d4dcb 100644
--- 
a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
+++ 
b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.372">AssignProcedure.CompareAssignProcedure</a>
+<pre>public static class <a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.373">AssignProcedure.CompareAssignProcedure</a>
 extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true";
 title="class or interface in java.lang">Object</a>
 implements <a 
href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true";
 title="class or interface in java.util">Comparator</a>&lt;<a 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html"
 title="class in 
org.apache.hadoop.hbase.master.assignment">AssignProcedure</a>&gt;</pre>
 <div class="block">Sort AssignProcedures such that meta and system assigns 
come first before user-space assigns.
@@ -198,7 +198,7 @@ implements <a 
href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CompareAssignProcedure</h4>
-<pre>public&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html#line.372">CompareAssignProcedure</a>()</pre>
+<pre>public&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html#line.373">CompareAssignProcedure</a>()</pre>
 </li>
 </ul>
 </li>
@@ -215,7 +215,7 @@ implements <a 
href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>compare</h4>
-<pre>public&nbsp;int&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html#line.374">compare</a>(<a
 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html"
 title="class in 
org.apache.hadoop.hbase.master.assignment">AssignProcedure</a>&nbsp;left,
+<pre>public&nbsp;int&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html#line.375">compare</a>(<a
 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html"
 title="class in 
org.apache.hadoop.hbase.master.assignment">AssignProcedure</a>&nbsp;left,
                    <a 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html"
 title="class in 
org.apache.hadoop.hbase.master.assignment">AssignProcedure</a>&nbsp;right)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html 
b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html
index 92ef600..882553c 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html
@@ -650,7 +650,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/Reg
 <ul class="blockList">
 <li class="blockList">
 <h4>handleFailure</h4>
-<pre>private&nbsp;void&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.311">handleFailure</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/assignment/AssignProcedure.html#line.312">handleFailure</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/master/assignment/RegionStates.RegionStateNode.html"
 title="class in 
org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&nbsp;regionNode)</pre>
 <div class="block">Called when dispatch or subsequent OPEN request fail. Can 
be run by the
  inline dispatch call or later by the ServerCrashProcedure. Our state is
@@ -664,7 +664,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/Reg
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementAndCheckMaxAttempts</h4>
-<pre>private&nbsp;boolean&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.324">incrementAndCheckMaxAttempts</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;boolean&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.325">incrementAndCheckMaxAttempts</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/master/assignment/RegionStates.RegionStateNode.html"
 title="class in 
org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&nbsp;regionNode)</pre>
 </li>
 </ul>
@@ -674,7 +674,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/Reg
 <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/assignment/AssignProcedure.html#line.335">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/assignment/AssignProcedure.html#line.336">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;serverName)</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>
@@ -692,7 +692,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/Reg
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteCallFailed</h4>
-<pre>protected&nbsp;boolean&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.342">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>protected&nbsp;boolean&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.343">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/master/assignment/RegionStates.RegionStateNode.html"
 title="class in 
org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&nbsp;regionNode,
                                    <a 
href="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>
 <dl>
@@ -711,7 +711,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/Reg
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.349">toStringClassDetails</a>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true";
 title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.350">toStringClassDetails</a>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true";
 title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from 
class:&nbsp;<code><a 
href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">Procedure</a></code></span></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -729,7 +729,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/Reg
 <ul class="blockList">
 <li class="blockList">
 <h4>getServer</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/assignment/AssignProcedure.html#line.355">getServer</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;<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/assignment/AssignProcedure.html#line.356">getServer</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/master/assignment/RegionTransitionProcedure.html#getServer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">RegionTransitionProcedure</a></code></span></div>
 <div class="block">Used by ServerCrashProcedure to see if this Assign/Unassign 
needs processing.</div>
 <dl>
@@ -746,7 +746,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/master/assignment/Reg
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getProcedureMetrics</h4>
-<pre>protected&nbsp;<a 
href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html"
 title="interface in 
org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.363">getProcedureMetrics</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;<a 
href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html"
 title="interface in 
org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#line.364">getProcedureMetrics</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#getProcedureMetrics-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">Override this method to provide procedure specific counters 
for submitted count, failed
  count and time histogram.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html
 
b/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html
index d145f61..a4a3adc 100644
--- 
a/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html
+++ 
b/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html
@@ -716,7 +716,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/ModifyPeerProcedure.html#line.246">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/ModifyPeerProcedure.html#line.245">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.PeerModificationState&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>,
@@ -743,7 +743,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/ModifyPeerProcedure.html#line.332">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/ModifyPeerProcedure.html#line.331">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.PeerModificationState&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>
@@ -765,7 +765,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.PeerModificationState&nbsp;<a
 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#line.343">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState&nbsp;<a
 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#line.342">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>
@@ -784,7 +784,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/ModifyPeerProcedure.html#line.348">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#line.347">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState&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>
@@ -803,7 +803,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState&nbsp;<a
 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#line.353">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState&nbsp;<a
 
href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#line.352">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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html
 
b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html
index 3f4b0bd..4479a12 100644
--- 
a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html
+++ 
b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html
@@ -234,7 +234,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#getRecoveredQueueStartPos--">getRecoveredQueueStartPos</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>(package private) long</code></td>
+<td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#getStartPosition--">getStartPosition</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
@@ -374,7 +374,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartPosition</h4>
-<pre>long&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.63">getStartPosition</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.63">getStartPosition</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a 
href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getStartPosition--">getStartPosition</a></code>&nbsp;in
 class&nbsp;<code><a 
href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html"
 title="class in 
org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper</a></code></dd>
@@ -396,7 +396,7 @@ extends <a 
href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockListLast">
 <li class="blockList">
 <h4>terminate</h4>
-<pre>private&nbsp;void&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.96">terminate</a>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;reason,
+<pre>private&nbsp;void&nbsp;<a 
href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.94">terminate</a>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;reason,
                        <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a>&nbsp;cause)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/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 427610c..7bef82c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a 
name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a 
name="line.9"></a>
 <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 = 
"e9a278adc617a41ad3eefdd419e7618afee6b2b3";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = 
"a13630383335371dee338f4e2b42ac0f5de57667";<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 = "Fri 
Apr 27 14:39:10 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Sat 
Apr 28 14:42:29 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 
= "caf1e1906ad0f6f6e7eeda39558516c5";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum 
= "05d5a910bd9a34952978ab46e80e224e";<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/27b39d90/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
index 381ef9e..6c3402f 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html
@@ -293,113 +293,114 @@
 <span class="sourceLineNo">285</span>        if (openSeqNum &lt; 
regionNode.getOpenSeqNum()) {<a name="line.285"></a>
 <span class="sourceLineNo">286</span>          LOG.warn("Skipping update of 
open seqnum with " + openSeqNum +<a name="line.286"></a>
 <span class="sourceLineNo">287</span>              " because current seqnum=" 
+ regionNode.getOpenSeqNum());<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        
regionNode.setOpenSeqNum(openSeqNum);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        // Leave the state here as 
OPENING for now. We set it to OPEN in<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        // REGION_TRANSITION_FINISH 
section where we do a bunch of checks.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        // 
regionNode.setState(RegionState.State.OPEN, RegionState.State.OPENING);<a 
name="line.292"></a>
-<span class="sourceLineNo">293</span>        
setTransitionState(RegionTransitionState.REGION_TRANSITION_FINISH);<a 
name="line.293"></a>
-<span class="sourceLineNo">294</span>        break;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      case FAILED_OPEN:<a 
name="line.295"></a>
-<span class="sourceLineNo">296</span>        handleFailure(env, regionNode);<a 
name="line.296"></a>
-<span class="sourceLineNo">297</span>        break;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      default:<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        throw new 
UnexpectedStateException("Received report unexpected " + code +<a 
name="line.299"></a>
-<span class="sourceLineNo">300</span>            " transition openSeqNum=" + 
openSeqNum + ", " + regionNode.toShortString() +<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            ", " + this + ", expected 
OPENED or FAILED_OPEN.");<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>
-<span class="sourceLineNo">305</span>  /**<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * Called when dispatch or subsequent 
OPEN request fail. Can be run by the<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * inline dispatch call or later by the 
ServerCrashProcedure. Our state is<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * generally OPENING. Cleanup and reset 
to OFFLINE and put our Procedure<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * State back to 
REGION_TRANSITION_QUEUE so the Assign starts over.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   */<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  private void handleFailure(final 
MasterProcedureEnv env, final RegionStateNode regionNode) {<a 
name="line.311"></a>
-<span class="sourceLineNo">312</span>    if (incrementAndCheckMaxAttempts(env, 
regionNode)) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      aborted.set(true);<a 
name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    this.forceNewPlan = true;<a 
name="line.315"></a>
-<span class="sourceLineNo">316</span>    this.targetServer = null;<a 
name="line.316"></a>
-<span class="sourceLineNo">317</span>    regionNode.offline();<a 
name="line.317"></a>
-<span class="sourceLineNo">318</span>    // We were moved to OPENING state 
before dispatch. Undo. It is safe to call<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    // this method because it checks for 
OPENING first.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    
env.getAssignmentManager().undoRegionAsOpening(regionNode);<a 
name="line.320"></a>
-<span class="sourceLineNo">321</span>    
setTransitionState(RegionTransitionState.REGION_TRANSITION_QUEUE);<a 
name="line.321"></a>
-<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  private boolean 
incrementAndCheckMaxAttempts(final MasterProcedureEnv env,<a 
name="line.324"></a>
-<span class="sourceLineNo">325</span>      final RegionStateNode regionNode) 
{<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    final int retries = 
env.getAssignmentManager().getRegionStates().<a name="line.326"></a>
-<span class="sourceLineNo">327</span>        
addToFailedOpen(regionNode).incrementAndGetRetries();<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    int max = 
env.getAssignmentManager().getAssignMaxAttempts();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    LOG.info("Retry=" + retries + " of 
max=" + max + "; " +<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        this + "; " + 
regionNode.toShortString());<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    return retries &gt;= max;<a 
name="line.331"></a>
-<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  @Override<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  public RemoteOperation 
remoteCallBuild(final MasterProcedureEnv env, final ServerName serverName) {<a 
name="line.335"></a>
-<span class="sourceLineNo">336</span>    assert 
serverName.equals(getRegionState(env).getRegionLocation());<a 
name="line.336"></a>
-<span class="sourceLineNo">337</span>    return new RegionOpenOperation(this, 
getRegionInfo(),<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        
env.getAssignmentManager().getFavoredNodes(getRegionInfo()), false);<a 
name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  @Override<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  protected boolean 
remoteCallFailed(final MasterProcedureEnv env, final RegionStateNode 
regionNode,<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      final IOException exception) {<a 
name="line.343"></a>
-<span class="sourceLineNo">344</span>    handleFailure(env, regionNode);<a 
name="line.344"></a>
-<span class="sourceLineNo">345</span>    return true;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>  @Override<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  public void 
toStringClassDetails(StringBuilder sb) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    super.toStringClassDetails(sb);<a 
name="line.350"></a>
-<span class="sourceLineNo">351</span>    if (this.targetServer != null) 
sb.append(", target=").append(this.targetServer);<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  @Override<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  public ServerName getServer(final 
MasterProcedureEnv env) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    RegionStateNode node =<a 
name="line.356"></a>
-<span class="sourceLineNo">357</span>        
env.getAssignmentManager().getRegionStates().getRegionStateNode(this.getRegionInfo());<a
 name="line.357"></a>
-<span class="sourceLineNo">358</span>    if (node == null) return null;<a 
name="line.358"></a>
-<span class="sourceLineNo">359</span>    return node.getRegionLocation();<a 
name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  @Override<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  protected ProcedureMetrics 
getProcedureMetrics(MasterProcedureEnv env) {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    return 
env.getAssignmentManager().getAssignmentManagerMetrics().getAssignProcMetrics();<a
 name="line.364"></a>
-<span class="sourceLineNo">365</span>  }<a name="line.365"></a>
-<span class="sourceLineNo">366</span><a name="line.366"></a>
-<span class="sourceLineNo">367</span>  /**<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * Sort AssignProcedures such that meta 
and system assigns come first before user-space assigns.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * Have to do it this way w/ distinct 
Comparator because Procedure is already Comparable on<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * 'Env'(?).<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  public static class 
CompareAssignProcedure implements Comparator&lt;AssignProcedure&gt; {<a 
name="line.372"></a>
-<span class="sourceLineNo">373</span>    @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    public int compare(AssignProcedure 
left, AssignProcedure right) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      if 
(left.getRegionInfo().isMetaRegion()) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>        if 
(right.getRegionInfo().isMetaRegion()) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        return -1;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      } else if 
(right.getRegionInfo().isMetaRegion()) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        return +1;<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if 
(left.getRegionInfo().getTable().isSystemTable()) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if 
(right.getRegionInfo().getTable().isSystemTable()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.385"></a>
-<span class="sourceLineNo">386</span>        }<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        return -1;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      } else if 
(right.getRegionInfo().getTable().isSystemTable()) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        return +1;<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>}<a name="line.394"></a>
+<span class="sourceLineNo">288</span>        } else {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>          
regionNode.setOpenSeqNum(openSeqNum);<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        // Leave the state here as 
OPENING for now. We set it to OPEN in<a name="line.291"></a>
+<span class="sourceLineNo">292</span>        // REGION_TRANSITION_FINISH 
section where we do a bunch of checks.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        // 
regionNode.setState(RegionState.State.OPEN, RegionState.State.OPENING);<a 
name="line.293"></a>
+<span class="sourceLineNo">294</span>        
setTransitionState(RegionTransitionState.REGION_TRANSITION_FINISH);<a 
name="line.294"></a>
+<span class="sourceLineNo">295</span>        break;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      case FAILED_OPEN:<a 
name="line.296"></a>
+<span class="sourceLineNo">297</span>        handleFailure(env, regionNode);<a 
name="line.297"></a>
+<span class="sourceLineNo">298</span>        break;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      default:<a name="line.299"></a>
+<span class="sourceLineNo">300</span>        throw new 
UnexpectedStateException("Received report unexpected " + code +<a 
name="line.300"></a>
+<span class="sourceLineNo">301</span>            " transition openSeqNum=" + 
openSeqNum + ", " + regionNode.toShortString() +<a name="line.301"></a>
+<span class="sourceLineNo">302</span>            ", " + this + ", expected 
OPENED or FAILED_OPEN.");<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>
+<span class="sourceLineNo">305</span><a name="line.305"></a>
+<span class="sourceLineNo">306</span>  /**<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * Called when dispatch or subsequent 
OPEN request fail. Can be run by the<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * inline dispatch call or later by the 
ServerCrashProcedure. Our state is<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * generally OPENING. Cleanup and reset 
to OFFLINE and put our Procedure<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * State back to 
REGION_TRANSITION_QUEUE so the Assign starts over.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  private void handleFailure(final 
MasterProcedureEnv env, final RegionStateNode regionNode) {<a 
name="line.312"></a>
+<span class="sourceLineNo">313</span>    if (incrementAndCheckMaxAttempts(env, 
regionNode)) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      aborted.set(true);<a 
name="line.314"></a>
+<span class="sourceLineNo">315</span>    }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    this.forceNewPlan = true;<a 
name="line.316"></a>
+<span class="sourceLineNo">317</span>    this.targetServer = null;<a 
name="line.317"></a>
+<span class="sourceLineNo">318</span>    regionNode.offline();<a 
name="line.318"></a>
+<span class="sourceLineNo">319</span>    // We were moved to OPENING state 
before dispatch. Undo. It is safe to call<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    // this method because it checks for 
OPENING first.<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    
env.getAssignmentManager().undoRegionAsOpening(regionNode);<a 
name="line.321"></a>
+<span class="sourceLineNo">322</span>    
setTransitionState(RegionTransitionState.REGION_TRANSITION_QUEUE);<a 
name="line.322"></a>
+<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  private boolean 
incrementAndCheckMaxAttempts(final MasterProcedureEnv env,<a 
name="line.325"></a>
+<span class="sourceLineNo">326</span>      final RegionStateNode regionNode) 
{<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    final int retries = 
env.getAssignmentManager().getRegionStates().<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        
addToFailedOpen(regionNode).incrementAndGetRetries();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    int max = 
env.getAssignmentManager().getAssignMaxAttempts();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    LOG.info("Retry=" + retries + " of 
max=" + max + "; " +<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        this + "; " + 
regionNode.toShortString());<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    return retries &gt;= max;<a 
name="line.332"></a>
+<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  public RemoteOperation 
remoteCallBuild(final MasterProcedureEnv env, final ServerName serverName) {<a 
name="line.336"></a>
+<span class="sourceLineNo">337</span>    assert 
serverName.equals(getRegionState(env).getRegionLocation());<a 
name="line.337"></a>
+<span class="sourceLineNo">338</span>    return new RegionOpenOperation(this, 
getRegionInfo(),<a name="line.338"></a>
+<span class="sourceLineNo">339</span>        
env.getAssignmentManager().getFavoredNodes(getRegionInfo()), false);<a 
name="line.339"></a>
+<span class="sourceLineNo">340</span>  }<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  @Override<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  protected boolean 
remoteCallFailed(final MasterProcedureEnv env, final RegionStateNode 
regionNode,<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      final IOException exception) {<a 
name="line.344"></a>
+<span class="sourceLineNo">345</span>    handleFailure(env, regionNode);<a 
name="line.345"></a>
+<span class="sourceLineNo">346</span>    return true;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>  @Override<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  public void 
toStringClassDetails(StringBuilder sb) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    super.toStringClassDetails(sb);<a 
name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (this.targetServer != null) 
sb.append(", target=").append(this.targetServer);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>  @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  public ServerName getServer(final 
MasterProcedureEnv env) {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    RegionStateNode node =<a 
name="line.357"></a>
+<span class="sourceLineNo">358</span>        
env.getAssignmentManager().getRegionStates().getRegionStateNode(this.getRegionInfo());<a
 name="line.358"></a>
+<span class="sourceLineNo">359</span>    if (node == null) return null;<a 
name="line.359"></a>
+<span class="sourceLineNo">360</span>    return node.getRegionLocation();<a 
name="line.360"></a>
+<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  protected ProcedureMetrics 
getProcedureMetrics(MasterProcedureEnv env) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    return 
env.getAssignmentManager().getAssignmentManagerMetrics().getAssignProcMetrics();<a
 name="line.365"></a>
+<span class="sourceLineNo">366</span>  }<a name="line.366"></a>
+<span class="sourceLineNo">367</span><a name="line.367"></a>
+<span class="sourceLineNo">368</span>  /**<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * Sort AssignProcedures such that meta 
and system assigns come first before user-space assigns.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * Have to do it this way w/ distinct 
Comparator because Procedure is already Comparable on<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * 'Env'(?).<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   */<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  public static class 
CompareAssignProcedure implements Comparator&lt;AssignProcedure&gt; {<a 
name="line.373"></a>
+<span class="sourceLineNo">374</span>    @Override<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    public int compare(AssignProcedure 
left, AssignProcedure right) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      if 
(left.getRegionInfo().isMetaRegion()) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        if 
(right.getRegionInfo().isMetaRegion()) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>          return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.378"></a>
+<span class="sourceLineNo">379</span>        }<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        return -1;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      } else if 
(right.getRegionInfo().isMetaRegion()) {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>        return +1;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      }<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      if 
(left.getRegionInfo().getTable().isSystemTable()) {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>        if 
(right.getRegionInfo().getTable().isSystemTable()) {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.386"></a>
+<span class="sourceLineNo">387</span>        }<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        return -1;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      } else if 
(right.getRegionInfo().getTable().isSystemTable()) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>        return +1;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      }<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.392"></a>
+<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
+<span class="sourceLineNo">395</span>}<a name="line.395"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/27b39d90/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html
index 381ef9e..6c3402f 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.html
@@ -293,113 +293,114 @@
 <span class="sourceLineNo">285</span>        if (openSeqNum &lt; 
regionNode.getOpenSeqNum()) {<a name="line.285"></a>
 <span class="sourceLineNo">286</span>          LOG.warn("Skipping update of 
open seqnum with " + openSeqNum +<a name="line.286"></a>
 <span class="sourceLineNo">287</span>              " because current seqnum=" 
+ regionNode.getOpenSeqNum());<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        
regionNode.setOpenSeqNum(openSeqNum);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        // Leave the state here as 
OPENING for now. We set it to OPEN in<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        // REGION_TRANSITION_FINISH 
section where we do a bunch of checks.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        // 
regionNode.setState(RegionState.State.OPEN, RegionState.State.OPENING);<a 
name="line.292"></a>
-<span class="sourceLineNo">293</span>        
setTransitionState(RegionTransitionState.REGION_TRANSITION_FINISH);<a 
name="line.293"></a>
-<span class="sourceLineNo">294</span>        break;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      case FAILED_OPEN:<a 
name="line.295"></a>
-<span class="sourceLineNo">296</span>        handleFailure(env, regionNode);<a 
name="line.296"></a>
-<span class="sourceLineNo">297</span>        break;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      default:<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        throw new 
UnexpectedStateException("Received report unexpected " + code +<a 
name="line.299"></a>
-<span class="sourceLineNo">300</span>            " transition openSeqNum=" + 
openSeqNum + ", " + regionNode.toShortString() +<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            ", " + this + ", expected 
OPENED or FAILED_OPEN.");<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>
-<span class="sourceLineNo">305</span>  /**<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * Called when dispatch or subsequent 
OPEN request fail. Can be run by the<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * inline dispatch call or later by the 
ServerCrashProcedure. Our state is<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * generally OPENING. Cleanup and reset 
to OFFLINE and put our Procedure<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * State back to 
REGION_TRANSITION_QUEUE so the Assign starts over.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   */<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  private void handleFailure(final 
MasterProcedureEnv env, final RegionStateNode regionNode) {<a 
name="line.311"></a>
-<span class="sourceLineNo">312</span>    if (incrementAndCheckMaxAttempts(env, 
regionNode)) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      aborted.set(true);<a 
name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    this.forceNewPlan = true;<a 
name="line.315"></a>
-<span class="sourceLineNo">316</span>    this.targetServer = null;<a 
name="line.316"></a>
-<span class="sourceLineNo">317</span>    regionNode.offline();<a 
name="line.317"></a>
-<span class="sourceLineNo">318</span>    // We were moved to OPENING state 
before dispatch. Undo. It is safe to call<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    // this method because it checks for 
OPENING first.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    
env.getAssignmentManager().undoRegionAsOpening(regionNode);<a 
name="line.320"></a>
-<span class="sourceLineNo">321</span>    
setTransitionState(RegionTransitionState.REGION_TRANSITION_QUEUE);<a 
name="line.321"></a>
-<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  private boolean 
incrementAndCheckMaxAttempts(final MasterProcedureEnv env,<a 
name="line.324"></a>
-<span class="sourceLineNo">325</span>      final RegionStateNode regionNode) 
{<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    final int retries = 
env.getAssignmentManager().getRegionStates().<a name="line.326"></a>
-<span class="sourceLineNo">327</span>        
addToFailedOpen(regionNode).incrementAndGetRetries();<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    int max = 
env.getAssignmentManager().getAssignMaxAttempts();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    LOG.info("Retry=" + retries + " of 
max=" + max + "; " +<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        this + "; " + 
regionNode.toShortString());<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    return retries &gt;= max;<a 
name="line.331"></a>
-<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  @Override<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  public RemoteOperation 
remoteCallBuild(final MasterProcedureEnv env, final ServerName serverName) {<a 
name="line.335"></a>
-<span class="sourceLineNo">336</span>    assert 
serverName.equals(getRegionState(env).getRegionLocation());<a 
name="line.336"></a>
-<span class="sourceLineNo">337</span>    return new RegionOpenOperation(this, 
getRegionInfo(),<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        
env.getAssignmentManager().getFavoredNodes(getRegionInfo()), false);<a 
name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  @Override<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  protected boolean 
remoteCallFailed(final MasterProcedureEnv env, final RegionStateNode 
regionNode,<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      final IOException exception) {<a 
name="line.343"></a>
-<span class="sourceLineNo">344</span>    handleFailure(env, regionNode);<a 
name="line.344"></a>
-<span class="sourceLineNo">345</span>    return true;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>  @Override<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  public void 
toStringClassDetails(StringBuilder sb) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    super.toStringClassDetails(sb);<a 
name="line.350"></a>
-<span class="sourceLineNo">351</span>    if (this.targetServer != null) 
sb.append(", target=").append(this.targetServer);<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  @Override<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  public ServerName getServer(final 
MasterProcedureEnv env) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    RegionStateNode node =<a 
name="line.356"></a>
-<span class="sourceLineNo">357</span>        
env.getAssignmentManager().getRegionStates().getRegionStateNode(this.getRegionInfo());<a
 name="line.357"></a>
-<span class="sourceLineNo">358</span>    if (node == null) return null;<a 
name="line.358"></a>
-<span class="sourceLineNo">359</span>    return node.getRegionLocation();<a 
name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  @Override<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  protected ProcedureMetrics 
getProcedureMetrics(MasterProcedureEnv env) {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    return 
env.getAssignmentManager().getAssignmentManagerMetrics().getAssignProcMetrics();<a
 name="line.364"></a>
-<span class="sourceLineNo">365</span>  }<a name="line.365"></a>
-<span class="sourceLineNo">366</span><a name="line.366"></a>
-<span class="sourceLineNo">367</span>  /**<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * Sort AssignProcedures such that meta 
and system assigns come first before user-space assigns.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * Have to do it this way w/ distinct 
Comparator because Procedure is already Comparable on<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * 'Env'(?).<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  public static class 
CompareAssignProcedure implements Comparator&lt;AssignProcedure&gt; {<a 
name="line.372"></a>
-<span class="sourceLineNo">373</span>    @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    public int compare(AssignProcedure 
left, AssignProcedure right) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      if 
(left.getRegionInfo().isMetaRegion()) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>        if 
(right.getRegionInfo().isMetaRegion()) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        return -1;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      } else if 
(right.getRegionInfo().isMetaRegion()) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        return +1;<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if 
(left.getRegionInfo().getTable().isSystemTable()) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if 
(right.getRegionInfo().getTable().isSystemTable()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.385"></a>
-<span class="sourceLineNo">386</span>        }<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        return -1;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      } else if 
(right.getRegionInfo().getTable().isSystemTable()) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        return +1;<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>}<a name="line.394"></a>
+<span class="sourceLineNo">288</span>        } else {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>          
regionNode.setOpenSeqNum(openSeqNum);<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        // Leave the state here as 
OPENING for now. We set it to OPEN in<a name="line.291"></a>
+<span class="sourceLineNo">292</span>        // REGION_TRANSITION_FINISH 
section where we do a bunch of checks.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        // 
regionNode.setState(RegionState.State.OPEN, RegionState.State.OPENING);<a 
name="line.293"></a>
+<span class="sourceLineNo">294</span>        
setTransitionState(RegionTransitionState.REGION_TRANSITION_FINISH);<a 
name="line.294"></a>
+<span class="sourceLineNo">295</span>        break;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      case FAILED_OPEN:<a 
name="line.296"></a>
+<span class="sourceLineNo">297</span>        handleFailure(env, regionNode);<a 
name="line.297"></a>
+<span class="sourceLineNo">298</span>        break;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      default:<a name="line.299"></a>
+<span class="sourceLineNo">300</span>        throw new 
UnexpectedStateException("Received report unexpected " + code +<a 
name="line.300"></a>
+<span class="sourceLineNo">301</span>            " transition openSeqNum=" + 
openSeqNum + ", " + regionNode.toShortString() +<a name="line.301"></a>
+<span class="sourceLineNo">302</span>            ", " + this + ", expected 
OPENED or FAILED_OPEN.");<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>
+<span class="sourceLineNo">305</span><a name="line.305"></a>
+<span class="sourceLineNo">306</span>  /**<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * Called when dispatch or subsequent 
OPEN request fail. Can be run by the<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * inline dispatch call or later by the 
ServerCrashProcedure. Our state is<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * generally OPENING. Cleanup and reset 
to OFFLINE and put our Procedure<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * State back to 
REGION_TRANSITION_QUEUE so the Assign starts over.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  private void handleFailure(final 
MasterProcedureEnv env, final RegionStateNode regionNode) {<a 
name="line.312"></a>
+<span class="sourceLineNo">313</span>    if (incrementAndCheckMaxAttempts(env, 
regionNode)) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      aborted.set(true);<a 
name="line.314"></a>
+<span class="sourceLineNo">315</span>    }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    this.forceNewPlan = true;<a 
name="line.316"></a>
+<span class="sourceLineNo">317</span>    this.targetServer = null;<a 
name="line.317"></a>
+<span class="sourceLineNo">318</span>    regionNode.offline();<a 
name="line.318"></a>
+<span class="sourceLineNo">319</span>    // We were moved to OPENING state 
before dispatch. Undo. It is safe to call<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    // this method because it checks for 
OPENING first.<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    
env.getAssignmentManager().undoRegionAsOpening(regionNode);<a 
name="line.321"></a>
+<span class="sourceLineNo">322</span>    
setTransitionState(RegionTransitionState.REGION_TRANSITION_QUEUE);<a 
name="line.322"></a>
+<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  private boolean 
incrementAndCheckMaxAttempts(final MasterProcedureEnv env,<a 
name="line.325"></a>
+<span class="sourceLineNo">326</span>      final RegionStateNode regionNode) 
{<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    final int retries = 
env.getAssignmentManager().getRegionStates().<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        
addToFailedOpen(regionNode).incrementAndGetRetries();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    int max = 
env.getAssignmentManager().getAssignMaxAttempts();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    LOG.info("Retry=" + retries + " of 
max=" + max + "; " +<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        this + "; " + 
regionNode.toShortString());<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    return retries &gt;= max;<a 
name="line.332"></a>
+<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  public RemoteOperation 
remoteCallBuild(final MasterProcedureEnv env, final ServerName serverName) {<a 
name="line.336"></a>
+<span class="sourceLineNo">337</span>    assert 
serverName.equals(getRegionState(env).getRegionLocation());<a 
name="line.337"></a>
+<span class="sourceLineNo">338</span>    return new RegionOpenOperation(this, 
getRegionInfo(),<a name="line.338"></a>
+<span class="sourceLineNo">339</span>        
env.getAssignmentManager().getFavoredNodes(getRegionInfo()), false);<a 
name="line.339"></a>
+<span class="sourceLineNo">340</span>  }<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  @Override<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  protected boolean 
remoteCallFailed(final MasterProcedureEnv env, final RegionStateNode 
regionNode,<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      final IOException exception) {<a 
name="line.344"></a>
+<span class="sourceLineNo">345</span>    handleFailure(env, regionNode);<a 
name="line.345"></a>
+<span class="sourceLineNo">346</span>    return true;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>  @Override<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  public void 
toStringClassDetails(StringBuilder sb) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    super.toStringClassDetails(sb);<a 
name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (this.targetServer != null) 
sb.append(", target=").append(this.targetServer);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>  @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  public ServerName getServer(final 
MasterProcedureEnv env) {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    RegionStateNode node =<a 
name="line.357"></a>
+<span class="sourceLineNo">358</span>        
env.getAssignmentManager().getRegionStates().getRegionStateNode(this.getRegionInfo());<a
 name="line.358"></a>
+<span class="sourceLineNo">359</span>    if (node == null) return null;<a 
name="line.359"></a>
+<span class="sourceLineNo">360</span>    return node.getRegionLocation();<a 
name="line.360"></a>
+<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  protected ProcedureMetrics 
getProcedureMetrics(MasterProcedureEnv env) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    return 
env.getAssignmentManager().getAssignmentManagerMetrics().getAssignProcMetrics();<a
 name="line.365"></a>
+<span class="sourceLineNo">366</span>  }<a name="line.366"></a>
+<span class="sourceLineNo">367</span><a name="line.367"></a>
+<span class="sourceLineNo">368</span>  /**<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * Sort AssignProcedures such that meta 
and system assigns come first before user-space assigns.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * Have to do it this way w/ distinct 
Comparator because Procedure is already Comparable on<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * 'Env'(?).<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   */<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  public static class 
CompareAssignProcedure implements Comparator&lt;AssignProcedure&gt; {<a 
name="line.373"></a>
+<span class="sourceLineNo">374</span>    @Override<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    public int compare(AssignProcedure 
left, AssignProcedure right) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      if 
(left.getRegionInfo().isMetaRegion()) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        if 
(right.getRegionInfo().isMetaRegion()) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>          return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.378"></a>
+<span class="sourceLineNo">379</span>        }<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        return -1;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      } else if 
(right.getRegionInfo().isMetaRegion()) {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>        return +1;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      }<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      if 
(left.getRegionInfo().getTable().isSystemTable()) {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>        if 
(right.getRegionInfo().getTable().isSystemTable()) {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.386"></a>
+<span class="sourceLineNo">387</span>        }<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        return -1;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      } else if 
(right.getRegionInfo().getTable().isSystemTable()) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>        return +1;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      }<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      return 
RegionInfo.COMPARATOR.compare(left.getRegionInfo(), right.getRegionInfo());<a 
name="line.392"></a>
+<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
+<span class="sourceLineNo">395</span>}<a name="line.395"></a>
 
 
 

Reply via email to