This is an automated email from the ASF dual-hosted git repository.

stack pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.3 by this push:
     new 2e1a719  HBASE-24132 Upgrade to Apache ZooKeeper 3.5.7 (#1453)
2e1a719 is described below

commit 2e1a719e26be2b1477c65f9eee49535d20cc4f19
Author: Jianfei Jiang <[email protected]>
AuthorDate: Tue Apr 14 04:46:37 2020 +0800

    HBASE-24132 Upgrade to Apache ZooKeeper 3.5.7 (#1453)
    
    * HBASE-24132 Upgrade to Apache ZooKeeper 3.5.7
    
    * HBASE-24132 Upgrade to Apache ZooKeeper 3.5.7
    
    Co-authored-by: 姜建飞 10222269 <[email protected]>
    
    Signed-off-by: Mate Szalay-Beko <[email protected]>
    Signed-off-by: Norbert Kalmar <[email protected]>
    Signed-off-by: stack <[email protected]>
    Signed-off-by: Duo Zhang <[email protected]>
---
 .../src/main/resources/supplemental-models.xml            | 15 +++++++++++++++
 .../hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon       |  4 ++--
 .../hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon     |  4 ++--
 .../hbase/master/assignment/TestRegionMoveAndAbandon.java |  3 +++
 .../org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java    |  4 ++--
 .../hadoop/hbase/zookeeper/MiniZooKeeperCluster.java      |  9 +++++----
 .../org/apache/hadoop/hbase/zookeeper/ZKMainServer.java   |  6 +++---
 .../java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java |  4 ++++
 pom.xml                                                   |  5 ++---
 9 files changed, 38 insertions(+), 16 deletions(-)

diff --git a/hbase-resource-bundle/src/main/resources/supplemental-models.xml 
b/hbase-resource-bundle/src/main/resources/supplemental-models.xml
index 2813219..d755854 100644
--- a/hbase-resource-bundle/src/main/resources/supplemental-models.xml
+++ b/hbase-resource-bundle/src/main/resources/supplemental-models.xml
@@ -3196,4 +3196,19 @@ Copyright (c) 2007-2017 The JRuby project
       </licenses>
     </project>
   </supplement>
+  <supplement>
+    <project>
+      <groupId>jline</groupId>
+      <artifactId>jline</artifactId>
+      <name>JLine</name>
+      <version>2.11</version>
+      <licenses>
+        <license>
+          <name>BSD License</name>
+          <url>http://www.opensource.org/licenses/bsd-license.php</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
 </supplementalDataModels>
diff --git 
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
 
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
index 2921300..d7c52ec 100644
--- 
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
+++ 
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
@@ -328,8 +328,8 @@ AssignmentManager assignmentManager = 
master.getAssignmentManager();
                 </tr>
                 <tr>
                     <td>ZooKeeper Client Version</td>
-                    <td><% org.apache.zookeeper.Version.getVersion() %>, 
revision=<% org.apache.zookeeper.Version.getRevision() %></td>
-                    <td>ZooKeeper client version and revision</td>
+                    <td><% org.apache.zookeeper.Version.getVersion() %>, 
revision=<% org.apache.zookeeper.Version.getRevisionHash() %></td>
+                    <td>ZooKeeper client version and revision hash</td>
                 </tr>
                 <tr>
                     <td>ZooKeeper Client Compiled</td>
diff --git 
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
 
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
index f07b8e7..b21a9c3 100644
--- 
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
+++ 
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
@@ -197,8 +197,8 @@ org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;
         </tr>
         <tr>
             <td>ZooKeeper Client Version</td>
-            <td><% org.apache.zookeeper.Version.getVersion() %>, revision=<% 
org.apache.zookeeper.Version.getRevision() %></td>
-            <td>ZooKeeper client version and revision</td>
+            <td><% org.apache.zookeeper.Version.getVersion() %>, revision=<% 
org.apache.zookeeper.Version.getRevisionHash() %></td>
+            <td>ZooKeeper client version and revision hash</td>
         </tr>
         <tr>
             <td>ZooKeeper Client Compiled</td>
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestRegionMoveAndAbandon.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestRegionMoveAndAbandon.java
index b237f9f..ce5727d 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestRegionMoveAndAbandon.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestRegionMoveAndAbandon.java
@@ -112,6 +112,9 @@ public class TestRegionMoveAndAbandon {
     cluster.killRegionServer(rs2.getServerName());
     UTIL.waitFor(30_000, () -> rs2.isStopped() && !rs2.isAlive());
     UTIL.waitFor(30_000, () -> rs1.isStopped() && !rs1.isAlive());
+    // make sure none of regionserver threads is alive.
+    UTIL.waitFor(30_000, () ->
+      UTIL.getMiniHBaseCluster().getLiveRegionServerThreads().isEmpty());
     // Start up everything again
     LOG.info("Starting cluster");
     UTIL.getMiniHBaseCluster().startMaster();
diff --git 
a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java
 
b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java
index 0193515..193b7c8 100644
--- 
a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java
+++ 
b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java
@@ -23,7 +23,6 @@ import java.io.IOException;
 import java.io.PrintWriter;
 import java.net.InetAddress;
 import java.net.NetworkInterface;
-import java.net.UnknownHostException;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Enumeration;
@@ -42,6 +41,7 @@ import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.yetus.audience.InterfaceStability;
 import org.apache.zookeeper.server.ServerConfig;
 import org.apache.zookeeper.server.ZooKeeperServerMain;
+import org.apache.zookeeper.server.admin.AdminServer;
 import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
 import org.apache.zookeeper.server.quorum.QuorumPeerMain;
 
@@ -83,7 +83,7 @@ public final class HQuorumPeer {
   }
 
   private static void runZKServer(QuorumPeerConfig zkConfig)
-          throws UnknownHostException, IOException {
+          throws IOException, AdminServer.AdminServerException {
     if (zkConfig.isDistributed()) {
       QuorumPeerMain qp = new QuorumPeerMain();
       qp.runFromConfig(zkConfig);
diff --git 
a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
 
b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
index 7f5d8a0..bdf7bb5 100644
--- 
a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
+++ 
b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
@@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.net.Address;
 import org.apache.hadoop.hbase.util.Threads;
 import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.zookeeper.common.X509Exception;
 import org.apache.zookeeper.server.NIOServerCnxnFactory;
 import org.apache.zookeeper.server.ZooKeeperServer;
 import org.apache.zookeeper.server.persistence.FileTxnLog;
@@ -419,8 +420,8 @@ public class MiniZooKeeperCluster {
     long start = System.currentTimeMillis();
     while (true) {
       try {
-        send4LetterWord(HOST, port, "stat", (int)timeout);
-      } catch (IOException e) {
+        send4LetterWord(HOST, port, "stat", false, (int)timeout);
+      } catch (IOException | X509Exception.SSLContextException e) {
         return true;
       }
 
@@ -442,7 +443,7 @@ public class MiniZooKeeperCluster {
     long start = System.currentTimeMillis();
     while (true) {
       try {
-        String result = send4LetterWord(HOST, port, "stat", (int)timeout);
+        String result = send4LetterWord(HOST, port, "stat", false, 
(int)timeout);
         if (result.startsWith("Zookeeper version:") && 
!result.contains("READ-ONLY")) {
           return true;
         } else {
@@ -451,7 +452,7 @@ public class MiniZooKeeperCluster {
       } catch (ConnectException e) {
         // ignore as this is expected, do not log stacktrace
         LOG.info("{}:{} not up: {}", HOST, port, e.toString());
-      } catch (IOException e) {
+      } catch (IOException | X509Exception.SSLContextException e) {
         // ignore as this is expected
         LOG.info("{}:{} not up", HOST, port, e);
       }
diff --git 
a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKMainServer.java
 
b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKMainServer.java
index b2478ce..d20b0eb 100644
--- 
a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKMainServer.java
+++ 
b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKMainServer.java
@@ -24,8 +24,8 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseInterfaceAudience;
 import org.apache.yetus.audience.InterfaceAudience;
-import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.ZooKeeperMain;
+import org.apache.zookeeper.cli.CliException;
 
 
 /**
@@ -57,11 +57,11 @@ public class ZKMainServer {
 
     /**
      * Run the command-line args passed.  Calls System.exit when done.
-     * @throws KeeperException if an unexpected ZooKeeper exception happens
      * @throws IOException in case of a network failure
      * @throws InterruptedException if the ZooKeeper client closes
+     * @throws CliException if the ZooKeeper exception happens in cli command
      */
-    void runCmdLine() throws KeeperException, IOException, 
InterruptedException {
+    void runCmdLine() throws IOException, InterruptedException, CliException {
       processCmd(this.cl);
       System.exit(0);
     }
diff --git 
a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
 
b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
index a39c413..9774a51 100644
--- 
a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
+++ 
b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
@@ -560,6 +560,10 @@ public class ZKWatcher implements Watcher, Abortable, 
Closeable {
         LOG.debug(prefix("Received Disconnected from ZooKeeper, ignoring"));
         break;
 
+      case Closed:
+        LOG.debug(prefix("ZooKeeper client closed, ignoring"));
+        break;
+
       case Expired:
         String msg = prefix(this.identifier + " received expired from " +
           "ZooKeeper, aborting");
diff --git a/pom.xml b/pom.xml
index 0aa9990..36e9557 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1351,9 +1351,8 @@
     <protobuf.plugin.version>0.6.1</protobuf.plugin.version>
     <thrift.path>thrift</thrift.path>
     <thrift.version>0.12.0</thrift.version>
-    <zookeeper.version>3.4.14</zookeeper.version>
-    <!-- What ZooKeeper 3.4.x depends on and nothing more -->
-    <jline.version>0.9.94</jline.version>
+    <zookeeper.version>3.5.7</zookeeper.version>
+    <jline.version>2.11</jline.version>
     <slf4j.version>1.7.30</slf4j.version>
     <clover.version>4.0.3</clover.version>
     <jamon-runtime.version>2.4.1</jamon-runtime.version>

Reply via email to