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>©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 – 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 – 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 – 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 – 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 – 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 static final <a href="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 static final <a href="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 static final <a href="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><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignProcedure</a>></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 <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignProcedure.CompareAssignProcedure.html#line.372">CompareAssignProcedure</a>()</pre> +<pre>public <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 int <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> left, +<pre>public int <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> left, <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignProcedure</a> 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 void <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> env, +<pre>private void <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> env, <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a> 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 boolean <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> env, +<pre>private boolean <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> env, <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a> 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 <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteOperation.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteOperation</a> <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> env, +<pre>public <a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteOperation.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteOperation</a> <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> env, <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <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 boolean <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> env, +<pre>protected boolean <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> env, <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a> 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> 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 void <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> sb)</pre> +<pre>public void <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> sb)</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 <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/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> env)</pre> +<pre>public <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/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> env)</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a> <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> env)</pre> +<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a> <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> env)</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a> <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> env, +<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a> <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> env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState 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 void <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> env, +<pre>protected void <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> env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState 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 org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#line.343">getState</a>(int stateId)</pre> +<pre>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#line.342">getState</a>(int stateId)</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 int <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 state)</pre> +<pre>protected int <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 state)</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#line.353">getInitialState</a>()</pre> +<pre>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState <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: <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> </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> </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 <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.63">getStartPosition</a>()</pre> +<pre>public long <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> in class <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 void <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> reason, +<pre>private void <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> 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> 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 < 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 >= 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<AssignProcedure> {<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 >= 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<AssignProcedure> {<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 < 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 >= 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<AssignProcedure> {<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 >= 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<AssignProcedure> {<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>