Ted Yu created ZOOKEEPER-1861:
---------------------------------

             Summary: ConcurrentHashMap isn't used properly in QuorumCnxManager
                 Key: ZOOKEEPER-1861
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1861
             Project: ZooKeeper
          Issue Type: Bug
            Reporter: Ted Yu
            Priority: Minor


queueSendMap is a ConcurrentHashMap.
At line 210:
{code}
            if (!queueSendMap.containsKey(sid)) {
                queueSendMap.put(sid, new ArrayBlockingQueue<ByteBuffer>(
                        SEND_CAPACITY));
{code}
By the time control enters if block, there may be another concurrent put with 
same sid to the ConcurrentHashMap.
putIfAbsent() should be used.

Similar issue occurs at line 307 as well.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to