This is an automated email from the ASF dual-hosted git repository.

andor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zookeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 83940b1  ZOOKEEPER-3457: Code optimization in QuorumCnxManager
83940b1 is described below

commit 83940b18ce70016de7400f6159ce2a2db5a0bbec
Author: longqiang <l>
AuthorDate: Sat Jul 27 20:04:26 2019 +0200

    ZOOKEEPER-3457: Code optimization in QuorumCnxManager
    
    more details in the 
[ZOOKEEPER-3457](https://issues.apache.org/jira/browse/ZOOKEEPER-3457)
    
    Author: longqiang <l>
    
    Reviewers: [email protected], [email protected]
    
    Closes #1021 from finefuture/zookeeper-3457 and squashes the following 
commits:
    
    312615089 [longqiang] refactor(optimize code):
    541547de8 [longqiang] Merge branch 'master' of github.com:apache/zookeeper 
into zookeeper-3457
    ea78fe88e [longqiang] refactor(optimize code):
---
 .../apache/zookeeper/server/quorum/QuorumCnxManager.java    | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git 
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java
 
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java
index 7870bb3..d97da2a 100644
--- 
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java
+++ 
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java
@@ -619,15 +619,10 @@ public class QuorumCnxManager {
              /*
               * Start a new connection if doesn't have one already.
               */
-             ArrayBlockingQueue<ByteBuffer> bq = new 
ArrayBlockingQueue<ByteBuffer>(
-                SEND_CAPACITY);
-             ArrayBlockingQueue<ByteBuffer> oldq = 
queueSendMap.putIfAbsent(sid, bq);
-             if (oldq != null) {
-                 addToSendQueue(oldq, b);
-             } else {
-                 addToSendQueue(bq, b);
-             }
-             connectOne(sid);
+            ArrayBlockingQueue<ByteBuffer> bq = 
queueSendMap.computeIfAbsent(sid,
+                    serverId -> new ArrayBlockingQueue<>(SEND_CAPACITY));
+            addToSendQueue(bq, b);
+            connectOne(sid);
 
         }
     }

Reply via email to