Published site at 701526d19f284f525dcb6d3e495ffa8132bd1483.
authorjenkins <builds@apache.org>
Sat, 24 Nov 2018 14:51:48 +0000 (14:51 +0000)
committerjenkins <builds@apache.org>
Sat, 24 Nov 2018 14:51:48 +0000 (14:51 +0000)
42 files changed:
acid-semantics.html
apache_hbase_reference_guide.pdf
book.html
bulk-loads.html
checkstyle-aggregate.html
coc.html
dependencies.html
dependency-convergence.html
dependency-info.html
dependency-management.html
devapidocs/constant-values.html
devapidocs/src-html/org/apache/hadoop/hbase/Version.html
devapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotFileCache.RefreshCacheTask.html
devapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotFileCache.SnapshotDirectoryInfo.html
devapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotFileCache.SnapshotFileInspector.html
devapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotFileCache.html
downloads.html
export_control.html
index.html
integration.html
issue-tracking.html
license.html
mail-lists.html
metrics.html
old_news.html
plugin-management.html
plugins.html
poweredbyhbase.html
project-info.html
project-reports.html
project-summary.html
pseudo-distributed.html
replication.html
resources.html
source-repository.html
sponsors.html
supportingprojects.html
team-list.html
testdevapidocs/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.HMasterForTest.html
testdevapidocs/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html
testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.HMasterForTest.html
testdevapidocs/src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html

index e49e5be..d66e1f7 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -611,7 +611,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 6c5ce42..ce8d9b8 100644 (file)
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20181123143244+00'00')
-/CreationDate (D:20181123144827+00'00')
+/ModDate (D:20181124143249+00'00')
+/CreationDate (D:20181124144821+00'00')
 >>
 endobj
 2 0 obj
index 9c6668f..e9b46f2 100644 (file)
--- a/book.html
+++ b/book.html
@@ -41318,7 +41318,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2018-11-23 14:32:44 UTC
+Last updated 2018-11-24 14:32:49 UTC
 </div>
 </div>
 </body>
index d8a6bab..74a0a53 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -316,7 +316,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 83bca84..540a373 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 53b981f..23600de 100644 (file)
--- 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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -385,7 +385,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index ee46353..0ba702f 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index af9d999..2207777 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 5dec44d..1ff16ab 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 2c5fe22..2ddb990 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index a9a7cb7..c4b00b9 100644 (file)
 <!--   -->
 </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 Nov 23 14:43:16 UTC 2018"</code></td>
+<td class="colLast"><code>"Sat Nov 24 14:43:25 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#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"bddc9576b24e37ec437e3194453db580"</code></td>
+<td class="colLast"><code>"2ddf86e8061a880c4fd8d153857342a6"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
index 6933215..c7cfd62 100644 (file)
@@ -18,9 +18,9 @@
 <span class="sourceLineNo">010</span>  public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
 <span class="sourceLineNo">011</span>  public static final String revision = "";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Fri Nov 23 14:43:16 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Sat Nov 24 14:43:25 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 = "bddc9576b24e37ec437e3194453db580";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "2ddf86e8061a880c4fd8d153857342a6";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 
index 796ddc1..39d6ccc 100644 (file)
 <span class="sourceLineNo">190</span>    }<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    if (lock == null || lock.tryLock()) {<a name="line.191"></a>
 <span class="sourceLineNo">192</span>      try {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        if (snapshotManager == null || snapshotManager.isTakingAnySnapshot()) {<a name="line.193"></a>
+<span class="sourceLineNo">193</span>        if (snapshotManager != null &amp;&amp; snapshotManager.isTakingAnySnapshot()) {<a name="line.193"></a>
 <span class="sourceLineNo">194</span>          LOG.warn("Not checking unreferenced files since snapshot is running, it will "<a name="line.194"></a>
 <span class="sourceLineNo">195</span>              + "skip to clean the HFiles this time");<a name="line.195"></a>
 <span class="sourceLineNo">196</span>          return unReferencedFiles;<a name="line.196"></a>
index 796ddc1..39d6ccc 100644 (file)
 <span class="sourceLineNo">190</span>    }<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    if (lock == null || lock.tryLock()) {<a name="line.191"></a>
 <span class="sourceLineNo">192</span>      try {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        if (snapshotManager == null || snapshotManager.isTakingAnySnapshot()) {<a name="line.193"></a>
+<span class="sourceLineNo">193</span>        if (snapshotManager != null &amp;&amp; snapshotManager.isTakingAnySnapshot()) {<a name="line.193"></a>
 <span class="sourceLineNo">194</span>          LOG.warn("Not checking unreferenced files since snapshot is running, it will "<a name="line.194"></a>
 <span class="sourceLineNo">195</span>              + "skip to clean the HFiles this time");<a name="line.195"></a>
 <span class="sourceLineNo">196</span>          return unReferencedFiles;<a name="line.196"></a>
index 796ddc1..39d6ccc 100644 (file)
 <span class="sourceLineNo">190</span>    }<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    if (lock == null || lock.tryLock()) {<a name="line.191"></a>
 <span class="sourceLineNo">192</span>      try {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        if (snapshotManager == null || snapshotManager.isTakingAnySnapshot()) {<a name="line.193"></a>
+<span class="sourceLineNo">193</span>        if (snapshotManager != null &amp;&amp; snapshotManager.isTakingAnySnapshot()) {<a name="line.193"></a>
 <span class="sourceLineNo">194</span>          LOG.warn("Not checking unreferenced files since snapshot is running, it will "<a name="line.194"></a>
 <span class="sourceLineNo">195</span>              + "skip to clean the HFiles this time");<a name="line.195"></a>
 <span class="sourceLineNo">196</span>          return unReferencedFiles;<a name="line.196"></a>
index 796ddc1..39d6ccc 100644 (file)
 <span class="sourceLineNo">190</span>    }<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    if (lock == null || lock.tryLock()) {<a name="line.191"></a>
 <span class="sourceLineNo">192</span>      try {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        if (snapshotManager == null || snapshotManager.isTakingAnySnapshot()) {<a name="line.193"></a>
+<span class="sourceLineNo">193</span>        if (snapshotManager != null &amp;&amp; snapshotManager.isTakingAnySnapshot()) {<a name="line.193"></a>
 <span class="sourceLineNo">194</span>          LOG.warn("Not checking unreferenced files since snapshot is running, it will "<a name="line.194"></a>
 <span class="sourceLineNo">195</span>              + "skip to clean the HFiles this time");<a name="line.195"></a>
 <span class="sourceLineNo">196</span>          return unReferencedFiles;<a name="line.196"></a>
index cd52d30..3772c8f 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase Downloads</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -461,7 +461,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 8340c5b..83798ad 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -341,7 +341,7 @@ for more details.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 9450a30..733556d 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBaseâ„¢ Home</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -421,7 +421,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 4aae16e..3496bde 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 7acbc21..3f597f3 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index c6f0166..2929f65 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 9dd8201..2105971 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 4d88112..aea185e 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -469,7 +469,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 4b9c6ae..0f62408 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -450,7 +450,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 98cd0f0..dd5d39e 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index b004e42..3428bbe 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 0f5d067..4e14028 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Powered By Apache HBase\99</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -779,7 +779,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 761f1f9..7467674 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index cc98a59..46c4a45 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 94c2c4d..80b33a3 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 11ec627..1c7755a 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -318,7 +318,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index fe65afe..6a392ff 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -313,7 +313,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 5db8f8c..d3b6cf0 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Other Apache HBase (TM) Resources</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -341,7 +341,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 2fb1ba6..6bfa46c 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index e6aa23d..e4e8225 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase\99 Sponsors</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -343,7 +343,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 05aba80..4636bb9 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Supporting Projects</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -530,7 +530,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index 76da548..a5aac5b 100644 (file)
@@ -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="20181123" />
+    <meta name="Date-Revision-yyyymmdd" content="20181124" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-24</li>
             </p>
                 </div>
 
index e294a03..d2b4f05 100644 (file)
@@ -132,7 +132,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.55">TestRegisterPeerWorkerWhenRestarting.HMasterForTest</a>
+<pre>public static final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.54">TestRegisterPeerWorkerWhenRestarting.HMasterForTest</a>
 extends org.apache.hadoop.hbase.master.HMaster</pre>
 </li>
 </ul>
@@ -301,7 +301,7 @@ extends org.apache.hadoop.hbase.master.HMaster</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HMasterForTest</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.HMasterForTest.html#line.57">HMasterForTest</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.HMasterForTest.html#line.56">HMasterForTest</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                       org.apache.zookeeper.KeeperException</pre>
 <dl>
@@ -325,7 +325,7 @@ extends org.apache.hadoop.hbase.master.HMaster</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>remoteProcedureCompleted</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.HMasterForTest.html#line.62">remoteProcedureCompleted</a>(long&nbsp;procId)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.HMasterForTest.html#line.61">remoteProcedureCompleted</a>(long&nbsp;procId)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code>remoteProcedureCompleted</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.hbase.master.HMaster</code></dd>
index db02c54..c7d4b4c 100644 (file)
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.47">TestRegisterPeerWorkerWhenRestarting</a>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.46">TestRegisterPeerWorkerWhenRestarting</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationTestBase.html" title="class in org.apache.hadoop.hbase.replication">SyncReplicationTestBase</a></pre>
 <div class="block">Testcase for HBASE-21494.</div>
 </li>
@@ -244,7 +244,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncRepli
 <ul class="blockList">
 <li class="blockList">
 <h4>CLASS_RULE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.50">CLASS_RULE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.49">CLASS_RULE</a></pre>
 </li>
 </ul>
 <a name="FAIL">
@@ -253,7 +253,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncRepli
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FAIL</h4>
-<pre>private static volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.53">FAIL</a></pre>
+<pre>private static volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.52">FAIL</a></pre>
 </li>
 </ul>
 </li>
@@ -270,7 +270,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncRepli
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestRegisterPeerWorkerWhenRestarting</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.47">TestRegisterPeerWorkerWhenRestarting</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.46">TestRegisterPeerWorkerWhenRestarting</a>()</pre>
 </li>
 </ul>
 </li>
@@ -287,7 +287,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncRepli
 <ul class="blockList">
 <li class="blockList">
 <h4>setUp</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.72">setUp</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.71">setUp</a>()
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -301,7 +301,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncRepli
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRestart</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.78">testRestart</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/TestRegisterPeerWorkerWhenRestarting.html#line.77">testRestart</a>()
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
index 852b0a1..b812ea3 100644 (file)
 <span class="sourceLineNo">019</span><a name="line.19"></a>
 <span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState.DISPATCH_WALS_VALUE;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState.UNREGISTER_PEER_FROM_WORKER_STORAGE_VALUE;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import static org.junit.Assert.assertEquals;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.UncheckedIOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.conf.Configuration;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HConstants;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.replication.SyncReplicationState;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.replication.SyncReplicationTestBase;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.zookeeper.KeeperException;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.junit.BeforeClass;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.junit.ClassRule;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.junit.Test;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.junit.experimental.categories.Category;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * Testcase for HBASE-21494.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>@Category({ MasterTests.class, LargeTests.class })<a name="line.46"></a>
-<span class="sourceLineNo">047</span>public class TestRegisterPeerWorkerWhenRestarting extends SyncReplicationTestBase {<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  @ClassRule<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    HBaseClassTestRule.forClass(TestRegisterPeerWorkerWhenRestarting.class);<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private static volatile boolean FAIL = false;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public static final class HMasterForTest extends HMaster {<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>    public HMasterForTest(Configuration conf) throws IOException, KeeperException {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      super(conf);<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>    @Override<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    public void remoteProcedureCompleted(long procId) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      if (FAIL &amp;&amp; getMasterProcedureExecutor()<a name="line.63"></a>
-<span class="sourceLineNo">064</span>        .getProcedure(procId) instanceof SyncReplicationReplayWALRemoteProcedure) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>        throw new RuntimeException("Inject error");<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      }<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      super.remoteProcedureCompleted(procId);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    }<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  @BeforeClass<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public static void setUp() throws Exception {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    UTIL2.getConfiguration().setClass(HConstants.MASTER_IMPL, HMasterForTest.class, HMaster.class);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    SyncReplicationTestBase.setUp();<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  @Test<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  public void testRestart() throws Exception {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      SyncReplicationState.STANDBY);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      SyncReplicationState.ACTIVE);<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    UTIL1.getAdmin().disableReplicationPeer(PEER_ID);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    write(UTIL1, 0, 100);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    Thread.sleep(2000);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    // peer is disabled so no data have been replicated<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    verifyNotReplicatedThroughRegion(UTIL2, 0, 100);<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    // transit the A to DA first to avoid too many error logs.<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    HMaster master = UTIL2.getHBaseCluster().getMaster();<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    // make sure the transiting can not succeed<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    FAIL = true;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    ProcedureExecutor&lt;MasterProcedureEnv&gt; procExec = master.getMasterProcedureExecutor();<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    Thread t = new Thread() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>      @Override<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      public void run() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        try {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>          UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>            SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        } catch (IOException e) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>          throw new UncheckedIOException(e);<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        }<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    };<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    t.start();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    // wait until we are in the states where we need to register peer worker when restarting<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    UTIL2.waitFor(60000,<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      () -&gt; procExec.getProcedures().stream().filter(p -&gt; p instanceof RecoverStandbyProcedure)<a name="line.112"></a>
-<span class="sourceLineNo">113</span>        .map(p -&gt; (RecoverStandbyProcedure) p)<a name="line.113"></a>
-<span class="sourceLineNo">114</span>        .anyMatch(p -&gt; p.getCurrentStateId() == DISPATCH_WALS_VALUE ||<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          p.getCurrentStateId() == UNREGISTER_PEER_FROM_WORKER_STORAGE_VALUE));<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    // failover to another master<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    MasterThread mt = UTIL2.getMiniHBaseCluster().getMasterThread();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    mt.getMaster().abort("for testing");<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    mt.join();<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    FAIL = false;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    t.join();<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    // make sure the new master can finish the transiting<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    assertEquals(SyncReplicationState.DOWNGRADE_ACTIVE,<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      UTIL2.getAdmin().getReplicationPeerSyncReplicationState(PEER_ID));<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    verify(UTIL2, 0, 100);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>}<a name="line.127"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.UncheckedIOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HConstants;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.replication.SyncReplicationState;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.replication.SyncReplicationTestBase;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.zookeeper.KeeperException;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.BeforeClass;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.junit.ClassRule;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.junit.Test;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.junit.experimental.categories.Category;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>/**<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * Testcase for HBASE-21494.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>@Category({ MasterTests.class, LargeTests.class })<a name="line.45"></a>
+<span class="sourceLineNo">046</span>public class TestRegisterPeerWorkerWhenRestarting extends SyncReplicationTestBase {<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  @ClassRule<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    HBaseClassTestRule.forClass(TestRegisterPeerWorkerWhenRestarting.class);<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private static volatile boolean FAIL = false;<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public static final class HMasterForTest extends HMaster {<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>    public HMasterForTest(Configuration conf) throws IOException, KeeperException {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      super(conf);<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>    @Override<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    public void remoteProcedureCompleted(long procId) {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>      if (FAIL &amp;&amp; getMasterProcedureExecutor()<a name="line.62"></a>
+<span class="sourceLineNo">063</span>        .getProcedure(procId) instanceof SyncReplicationReplayWALRemoteProcedure) {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>        throw new RuntimeException("Inject error");<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      }<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      super.remoteProcedureCompleted(procId);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @BeforeClass<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public static void setUp() throws Exception {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    UTIL2.getConfiguration().setClass(HConstants.MASTER_IMPL, HMasterForTest.class, HMaster.class);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    SyncReplicationTestBase.setUp();<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  @Test<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public void testRestart() throws Exception {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      SyncReplicationState.STANDBY);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      SyncReplicationState.ACTIVE);<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>    UTIL1.getAdmin().disableReplicationPeer(PEER_ID);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    write(UTIL1, 0, 100);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    Thread.sleep(2000);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    // peer is disabled so no data have been replicated<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    verifyNotReplicatedThroughRegion(UTIL2, 0, 100);<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // transit the A to DA first to avoid too many error logs.<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    HMaster master = UTIL2.getHBaseCluster().getMaster();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    // make sure the transiting can not succeed<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    FAIL = true;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    ProcedureExecutor&lt;MasterProcedureEnv&gt; procExec = master.getMasterProcedureExecutor();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    Thread t = new Thread() {<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>      @Override<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      public void run() {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        try {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>          UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.101"></a>
+<span class="sourceLineNo">102</span>            SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>        } catch (IOException e) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>          throw new UncheckedIOException(e);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        }<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      }<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    };<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    t.start();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    // wait until we are in the states where we need to register peer worker when restarting<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    UTIL2.waitFor(60000,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      () -&gt; procExec.getProcedures().stream().filter(p -&gt; p instanceof RecoverStandbyProcedure)<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        .map(p -&gt; (RecoverStandbyProcedure) p)<a name="line.112"></a>
+<span class="sourceLineNo">113</span>        .anyMatch(p -&gt; p.getCurrentStateId() == DISPATCH_WALS_VALUE ||<a name="line.113"></a>
+<span class="sourceLineNo">114</span>          p.getCurrentStateId() == UNREGISTER_PEER_FROM_WORKER_STORAGE_VALUE));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // failover to another master<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    MasterThread mt = UTIL2.getMiniHBaseCluster().getMasterThread();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    mt.getMaster().abort("for testing");<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    mt.join();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    FAIL = false;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    t.join();<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    // make sure the new master can finish the transition<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    UTIL2.waitFor(60000, () -&gt; UTIL2.getAdmin()<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      .getReplicationPeerSyncReplicationState(PEER_ID) == SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    verify(UTIL2, 0, 100);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>}<a name="line.126"></a>
 
 
 
index 852b0a1..b812ea3 100644 (file)
 <span class="sourceLineNo">019</span><a name="line.19"></a>
 <span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState.DISPATCH_WALS_VALUE;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState.UNREGISTER_PEER_FROM_WORKER_STORAGE_VALUE;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import static org.junit.Assert.assertEquals;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.UncheckedIOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.conf.Configuration;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HConstants;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.replication.SyncReplicationState;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.replication.SyncReplicationTestBase;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.zookeeper.KeeperException;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.junit.BeforeClass;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.junit.ClassRule;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.junit.Test;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.junit.experimental.categories.Category;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * Testcase for HBASE-21494.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>@Category({ MasterTests.class, LargeTests.class })<a name="line.46"></a>
-<span class="sourceLineNo">047</span>public class TestRegisterPeerWorkerWhenRestarting extends SyncReplicationTestBase {<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  @ClassRule<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    HBaseClassTestRule.forClass(TestRegisterPeerWorkerWhenRestarting.class);<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private static volatile boolean FAIL = false;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public static final class HMasterForTest extends HMaster {<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>    public HMasterForTest(Configuration conf) throws IOException, KeeperException {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      super(conf);<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>    @Override<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    public void remoteProcedureCompleted(long procId) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      if (FAIL &amp;&amp; getMasterProcedureExecutor()<a name="line.63"></a>
-<span class="sourceLineNo">064</span>        .getProcedure(procId) instanceof SyncReplicationReplayWALRemoteProcedure) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>        throw new RuntimeException("Inject error");<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      }<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      super.remoteProcedureCompleted(procId);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    }<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  @BeforeClass<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public static void setUp() throws Exception {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    UTIL2.getConfiguration().setClass(HConstants.MASTER_IMPL, HMasterForTest.class, HMaster.class);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    SyncReplicationTestBase.setUp();<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  @Test<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  public void testRestart() throws Exception {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      SyncReplicationState.STANDBY);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      SyncReplicationState.ACTIVE);<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    UTIL1.getAdmin().disableReplicationPeer(PEER_ID);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    write(UTIL1, 0, 100);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    Thread.sleep(2000);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    // peer is disabled so no data have been replicated<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    verifyNotReplicatedThroughRegion(UTIL2, 0, 100);<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    // transit the A to DA first to avoid too many error logs.<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    HMaster master = UTIL2.getHBaseCluster().getMaster();<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    // make sure the transiting can not succeed<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    FAIL = true;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    ProcedureExecutor&lt;MasterProcedureEnv&gt; procExec = master.getMasterProcedureExecutor();<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    Thread t = new Thread() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>      @Override<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      public void run() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        try {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>          UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>            SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        } catch (IOException e) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>          throw new UncheckedIOException(e);<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        }<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    };<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    t.start();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    // wait until we are in the states where we need to register peer worker when restarting<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    UTIL2.waitFor(60000,<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      () -&gt; procExec.getProcedures().stream().filter(p -&gt; p instanceof RecoverStandbyProcedure)<a name="line.112"></a>
-<span class="sourceLineNo">113</span>        .map(p -&gt; (RecoverStandbyProcedure) p)<a name="line.113"></a>
-<span class="sourceLineNo">114</span>        .anyMatch(p -&gt; p.getCurrentStateId() == DISPATCH_WALS_VALUE ||<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          p.getCurrentStateId() == UNREGISTER_PEER_FROM_WORKER_STORAGE_VALUE));<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    // failover to another master<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    MasterThread mt = UTIL2.getMiniHBaseCluster().getMasterThread();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    mt.getMaster().abort("for testing");<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    mt.join();<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    FAIL = false;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    t.join();<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    // make sure the new master can finish the transiting<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    assertEquals(SyncReplicationState.DOWNGRADE_ACTIVE,<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      UTIL2.getAdmin().getReplicationPeerSyncReplicationState(PEER_ID));<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    verify(UTIL2, 0, 100);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>}<a name="line.127"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.UncheckedIOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HConstants;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.replication.SyncReplicationState;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.replication.SyncReplicationTestBase;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.zookeeper.KeeperException;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.BeforeClass;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.junit.ClassRule;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.junit.Test;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.junit.experimental.categories.Category;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>/**<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * Testcase for HBASE-21494.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>@Category({ MasterTests.class, LargeTests.class })<a name="line.45"></a>
+<span class="sourceLineNo">046</span>public class TestRegisterPeerWorkerWhenRestarting extends SyncReplicationTestBase {<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  @ClassRule<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    HBaseClassTestRule.forClass(TestRegisterPeerWorkerWhenRestarting.class);<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private static volatile boolean FAIL = false;<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public static final class HMasterForTest extends HMaster {<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>    public HMasterForTest(Configuration conf) throws IOException, KeeperException {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      super(conf);<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>    @Override<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    public void remoteProcedureCompleted(long procId) {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>      if (FAIL &amp;&amp; getMasterProcedureExecutor()<a name="line.62"></a>
+<span class="sourceLineNo">063</span>        .getProcedure(procId) instanceof SyncReplicationReplayWALRemoteProcedure) {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>        throw new RuntimeException("Inject error");<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      }<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      super.remoteProcedureCompleted(procId);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @BeforeClass<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public static void setUp() throws Exception {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    UTIL2.getConfiguration().setClass(HConstants.MASTER_IMPL, HMasterForTest.class, HMaster.class);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    SyncReplicationTestBase.setUp();<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  @Test<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public void testRestart() throws Exception {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      SyncReplicationState.STANDBY);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      SyncReplicationState.ACTIVE);<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>    UTIL1.getAdmin().disableReplicationPeer(PEER_ID);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    write(UTIL1, 0, 100);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    Thread.sleep(2000);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    // peer is disabled so no data have been replicated<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    verifyNotReplicatedThroughRegion(UTIL2, 0, 100);<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // transit the A to DA first to avoid too many error logs.<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    UTIL1.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    HMaster master = UTIL2.getHBaseCluster().getMaster();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    // make sure the transiting can not succeed<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    FAIL = true;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    ProcedureExecutor&lt;MasterProcedureEnv&gt; procExec = master.getMasterProcedureExecutor();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    Thread t = new Thread() {<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>      @Override<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      public void run() {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        try {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>          UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID,<a name="line.101"></a>
+<span class="sourceLineNo">102</span>            SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>        } catch (IOException e) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>          throw new UncheckedIOException(e);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        }<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      }<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    };<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    t.start();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    // wait until we are in the states where we need to register peer worker when restarting<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    UTIL2.waitFor(60000,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      () -&gt; procExec.getProcedures().stream().filter(p -&gt; p instanceof RecoverStandbyProcedure)<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        .map(p -&gt; (RecoverStandbyProcedure) p)<a name="line.112"></a>
+<span class="sourceLineNo">113</span>        .anyMatch(p -&gt; p.getCurrentStateId() == DISPATCH_WALS_VALUE ||<a name="line.113"></a>
+<span class="sourceLineNo">114</span>          p.getCurrentStateId() == UNREGISTER_PEER_FROM_WORKER_STORAGE_VALUE));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // failover to another master<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    MasterThread mt = UTIL2.getMiniHBaseCluster().getMasterThread();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    mt.getMaster().abort("for testing");<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    mt.join();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    FAIL = false;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    t.join();<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    // make sure the new master can finish the transition<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    UTIL2.waitFor(60000, () -&gt; UTIL2.getAdmin()<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      .getReplicationPeerSyncReplicationState(PEER_ID) == SyncReplicationState.DOWNGRADE_ACTIVE);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    verify(UTIL2, 0, 100);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>}<a name="line.126"></a>