Author: fpj
Date: Thu Mar 11 14:05:15 2010
New Revision: 921853

URL: http://svn.apache.org/viewvc?rev=921853&view=rev
Log:
ZOOKEEPER-511. bad error handling in FollowerHandle.sendPackets (mahadev via 
flavio)


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

Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=921853&r1=921852&r2=921853&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Thu Mar 11 14:05:15 2010
@@ -267,6 +267,9 @@ BUGFIXES: 
   ZOOKEEPER-696. NPE in the hudson logs, seems nioservercnxn closed twice 
   (phunt via mahadev)
 
+  ZOOKEEPER-511. bad error handling in FollowerHandler.sendPackets
+  (mahadev via flavio)
+
 IMPROVEMENTS:
   ZOOKEEPER-473. cleanup junit tests to eliminate false positives due to
   "socket reuse" and failure to close client (phunt via mahadev)

Modified: 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/LearnerHandler.java
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/LearnerHandler.java?rev=921853&r1=921852&r2=921853&view=diff
==============================================================================
--- 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/LearnerHandler.java
 (original)
+++ 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/LearnerHandler.java
 Thu Mar 11 14:05:15 2010
@@ -139,7 +139,15 @@ public class LearnerHandler extends Thre
                 oa.writeRecord(p, "packet");
             } catch (IOException e) {
                 if (!sock.isClosed()) {
-                    LOG.warn("Unexpected exception",e);
+                    LOG.warn("Unexpected exception at " + this, e);
+                    try {
+                        // this will cause everything to shutdown on
+                        // this learner handler and will help notify
+                        // the learner/observer instantaneously
+                        sock.close();
+                    } catch(IOException ie) {
+                        LOG.warn("Error closing socket for handler " + this, 
ie);
+                    }
                 }
                 break;
             }


Reply via email to