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)