You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by hd...@apache.org on 2015/04/10 22:22:35 UTC

svn commit: r1672751 - in /zookeeper/trunk: CHANGES.txt src/java/main/org/apache/zookeeper/server/quorum/Leader.java

Author: hdeng
Date: Fri Apr 10 20:22:34 2015
New Revision: 1672751

URL: http://svn.apache.org/r1672751
Log:
ZOOKEEPER-2029 Leader.LearnerCnxAcceptor should handle exceptions in run()
(Rakesh R, Asad Saeed via hdeng)

Modified:
    zookeeper/trunk/CHANGES.txt
    zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Leader.java

Modified: zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/trunk/CHANGES.txt?rev=1672751&r1=1672750&r2=1672751&view=diff
==============================================================================
--- zookeeper/trunk/CHANGES.txt (original)
+++ zookeeper/trunk/CHANGES.txt Fri Apr 10 20:22:34 2015
@@ -73,6 +73,9 @@ BUGFIXES:
   ZOOKEEPER-1506 Re-try DNS hostname -> IP resolution if node connection fails
   (Michi Mutsuzaki via rakeshr)
 
+  ZOOKEEPER-2029 Leader.LearnerCnxAcceptor should handle exceptions in run()
+  (Rakesh R, Asad Saeed via hdeng)
+
 IMPROVEMENTS:
   ZOOKEEPER-1660 Documentation for Dynamic Reconfiguration (Reed Wanderman-Milne via shralex)  
 

Modified: zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Leader.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Leader.java?rev=1672751&r1=1672750&r2=1672751&view=diff
==============================================================================
--- zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Leader.java (original)
+++ zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Leader.java Fri Apr 10 20:22:34 2015
@@ -44,7 +44,7 @@ import org.apache.zookeeper.common.Time;
 import org.apache.zookeeper.server.FinalRequestProcessor;
 import org.apache.zookeeper.server.Request;
 import org.apache.zookeeper.server.RequestProcessor;
-import org.apache.zookeeper.server.ZooKeeperThread;
+import org.apache.zookeeper.server.ZooKeeperCriticalThread;
 import org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType;
 import org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
 import org.apache.zookeeper.server.util.ZxidUtils;
@@ -348,11 +348,12 @@ public class Leader {
 
     private final Proposal newLeaderProposal = new Proposal();
 
-    class LearnerCnxAcceptor extends ZooKeeperThread {
+    class LearnerCnxAcceptor extends ZooKeeperCriticalThread {
         private volatile boolean stop = false;
 
         public LearnerCnxAcceptor() {
-            super("LearnerCnxAcceptor-" + ss.getLocalSocketAddress());
+            super("LearnerCnxAcceptor-" + ss.getLocalSocketAddress(), zk
+                    .getZooKeeperServerListener());
         }
 
         @Override
@@ -382,7 +383,8 @@ public class Leader {
                     }
                 }
             } catch (Exception e) {
-                LOG.warn("Exception while accepting follower", e);
+                LOG.warn("Exception while accepting follower", e.getMessage());
+                handleException(this.getName(), e);
             }
         }