You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ma...@apache.org on 2011/05/03 23:29:56 UTC

svn commit: r1099267 - in /zookeeper/trunk: CHANGES.txt src/java/main/org/apache/zookeeper/server/NIOServerCnxn.java

Author: mahadev
Date: Tue May  3 21:29:55 2011
New Revision: 1099267

URL: http://svn.apache.org/viewvc?rev=1099267&view=rev
Log:
ZOOKEEPER-1049. Session expire/close flooding renders heartbeats to delay significantly. (chang song via mahadev)

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

Modified: zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/trunk/CHANGES.txt?rev=1099267&r1=1099266&r2=1099267&view=diff
==============================================================================
--- zookeeper/trunk/CHANGES.txt (original)
+++ zookeeper/trunk/CHANGES.txt Tue May  3 21:29:55 2011
@@ -203,6 +203,9 @@ BUGFIXES: 
 
   ZOOKEEPER-975. new peer goes in LEADING state even if ensemble is online. (vishal via fpj)
 
+  ZOOKEEPER-1049. Session expire/close flooding renders heartbeats to delay significantly. 
+  (chang song via mahadev)
+
 IMPROVEMENTS:
   ZOOKEEPER-724. Improve junit test integration - log harness information 
   (phunt via mahadev)

Modified: zookeeper/trunk/src/java/main/org/apache/zookeeper/server/NIOServerCnxn.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/NIOServerCnxn.java?rev=1099267&r1=1099266&r2=1099267&view=diff
==============================================================================
--- zookeeper/trunk/src/java/main/org/apache/zookeeper/server/NIOServerCnxn.java (original)
+++ zookeeper/trunk/src/java/main/org/apache/zookeeper/server/NIOServerCnxn.java Tue May  3 21:29:55 2011
@@ -102,7 +102,9 @@ public class NIOServerCnxn extends Serve
             outstandingLimit = zk.getGlobalOutstandingLimit();
         }
         sock.socket().setTcpNoDelay(true);
-        sock.socket().setSoLinger(true, 2);
+        /* set socket linger to false, so that socket close does not
+         * block */
+        sock.socket().setSoLinger(false, -1);
         InetAddress addr = ((InetSocketAddress) sock.socket()
                 .getRemoteSocketAddress()).getAddress();
         authInfo.add(new Id("ip", addr.getHostAddress()));