You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by an...@apache.org on 2019/01/29 15:32:20 UTC
[zookeeper] branch branch-3.5 updated: ZOOKEEPER-3240: Close socket on Learner shutdown to avoid dangling so…
This is an automated email from the ASF dual-hosted git repository.
andor pushed a commit to branch branch-3.5
in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/branch-3.5 by this push:
new 015f9d6 ZOOKEEPER-3240: Close socket on Learner shutdown to avoid dangling so…
015f9d6 is described below
commit 015f9d662f2638b5ba66f07ac963de9f11d80bfd
Author: Brian Nixon <ni...@fb.com>
AuthorDate: Tue Jan 29 16:31:58 2019 +0100
ZOOKEEPER-3240: Close socket on Learner shutdown to avoid dangling so…
…cket
Author: Brian Nixon <ni...@fb.com>
Reviewers: hanm@apache.org, andor@apache.org
Closes #767 from enixon/learner-close-socket
(cherry picked from commit de7b87cd69dfd38787270c71f00576f9a235e582)
Signed-off-by: Andor Molnar <an...@apache.org>
---
.../java/org/apache/zookeeper/server/quorum/Follower.java | 6 +-----
.../main/java/org/apache/zookeeper/server/quorum/Learner.java | 11 +++++++++++
.../java/org/apache/zookeeper/server/quorum/Observer.java | 6 +-----
3 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Follower.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Follower.java
index 6508601..b79f570 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Follower.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Follower.java
@@ -94,11 +94,7 @@ public class Follower extends Learner{
}
} catch (Exception e) {
LOG.warn("Exception when following the leader", e);
- try {
- sock.close();
- } catch (IOException e1) {
- e1.printStackTrace();
- }
+ closeSocket();
// clear pending revalidations
pendingRevalidations.clear();
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Learner.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Learner.java
index 3b739ac..42c5aa4 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Learner.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Learner.java
@@ -658,6 +658,7 @@ public class Learner {
self.setZooKeeperServer(null);
self.closeAllConnections();
self.adminServer.setZooKeeperServer(null);
+ closeSocket();
// shutdown previous zookeeper
if (zk != null) {
zk.shutdown();
@@ -667,4 +668,14 @@ public class Learner {
boolean isRunning() {
return self.isRunning() && zk.isRunning();
}
+
+ void closeSocket() {
+ try {
+ if (sock != null && !sock.isClosed()) {
+ sock.close();
+ }
+ } catch (IOException e) {
+ LOG.warn("Ignoring error closing connection to leader", e);
+ }
+ }
}
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Observer.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Observer.java
index f0f724e..050582d 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Observer.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Observer.java
@@ -79,11 +79,7 @@ public class Observer extends Learner{
}
} catch (Exception e) {
LOG.warn("Exception when observing the leader", e);
- try {
- sock.close();
- } catch (IOException e1) {
- e1.printStackTrace();
- }
+ closeSocket();
// clear pending revalidations
pendingRevalidations.clear();