浏览代码

Revert "ZOOKEEPER-3240: Close socket on Learner shutdown to avoid dangling so…"

This reverts commit de7b87cd69dfd38787270c71f00576f9a235e582.
Andor Molnar 6 年之前
父节点
当前提交
bcbf64884f

+ 5 - 1
zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Follower.java

@@ -114,7 +114,11 @@ public class Follower extends Learner{
                 }
             } catch (Exception e) {
                 LOG.warn("Exception when following the leader", e);
-                closeSocket();
+                try {
+                    sock.close();
+                } catch (IOException e1) {
+                    e1.printStackTrace();
+                }
     
                 // clear pending revalidations
                 pendingRevalidations.clear();

+ 0 - 11
zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Learner.java

@@ -673,7 +673,6 @@ public class Learner {
         self.setZooKeeperServer(null);
         self.closeAllConnections();
         self.adminServer.setZooKeeperServer(null);
-        closeSocket();
         // shutdown previous zookeeper
         if (zk != null) {
             zk.shutdown();
@@ -683,14 +682,4 @@ 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);
-        }
-    }
 }

+ 5 - 1
zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Observer.java

@@ -107,7 +107,11 @@ public class Observer extends Learner{
                 }
             } catch (Exception e) {
                 LOG.warn("Exception when observing the leader", e);
-                closeSocket();
+                try {
+                    sock.close();
+                } catch (IOException e1) {
+                    e1.printStackTrace();
+                }
 
                 // clear pending revalidations
                 pendingRevalidations.clear();