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 <jiang.jianfei@zte.com.cn>

Signed-off-by: Mate Szalay-Beko <szalay.beko.mate@gmail.com>
Signed-off-by: Norbert Kalmar <nkalmar@cloudera.com>
Signed-off-by: stack <stack@apache.org>
Signed-off-by: Duo Zhang <zhangdo@apache.org>
This commit is contained in:
Jianfei Jiang 2020-04-14 04:46:37 +08:00 committed by GitHub
parent b843edb141
commit ba34a2ca30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 38 additions and 16 deletions

View File

@ -2110,4 +2110,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>

View File

@ -329,8 +329,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>

View File

@ -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>

View File

@ -113,6 +113,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();

View File

@ -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;
import org.slf4j.Logger;
@ -87,7 +87,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);

View File

@ -36,6 +36,7 @@ import org.apache.hadoop.hbase.net.Address;
import org.apache.hadoop.hbase.util.Bytes;
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;
@ -421,8 +422,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;
}
@ -444,7 +445,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 {
@ -453,7 +454,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);
}

View File

@ -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);
}

View File

@ -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");

View File

@ -1530,9 +1530,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>