소스 검색

ZOOKEEPER-427. ZooKeeper server unexpectedly high CPU utilisation

git-svn-id: https://svn.apache.org/repos/asf/hadoop/zookeeper/trunk@786251 13f79535-47bb-0310-9956-ffa450edef68
Benjamin Reed 16 년 전
부모
커밋
d41b671bd6
2개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 0
      CHANGES.txt
  2. 3 1
      src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java

+ 2 - 0
CHANGES.txt

@@ -124,6 +124,8 @@ BUGFIXES:
   ZOOKEEPER-408. address all findbugs warnings in persistence classes.
 (phunt, mahadev, flavio via mahadev)
 
+  ZOOKEEPER-427. ZooKeeper server unexpectedly high CPU utilisation (Sergey Zhuravlev via breed)
+
 IMPROVEMENTS:
   ZOOKEEPER-308. improve the atomic broadcast performance 3x.
   (breed via mahadev)

+ 3 - 1
src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java

@@ -527,7 +527,9 @@ public class QuorumCnxManager {
                      * message
                      */
                     while (msgLength.hasRemaining()) {
-                        channel.read(msgLength);
+                        if (channel.read(msgLength) < 0) {
+                            throw new IOException("Channel eof");
+                        }
                     }
                     msgLength.position(0);
                     int length = msgLength.getInt();