[
https://issues.apache.org/jira/browse/QPID-6387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14317193#comment-14317193
]
Rob Godfrey commented on QPID-6387:
-----------------------------------
Changes look good to me - were you planning on doing any more work here, or can
we move it to "resolved"?
> ChannelToSessionMap/IdToConsumerMap array optimisation publishes in thread
> unsafe manner
> ----------------------------------------------------------------------------------------
>
> Key: QPID-6387
> URL: https://issues.apache.org/jira/browse/QPID-6387
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Reporter: Keith Wall
> Assignee: Keith Wall
> Fix For: 0.31
>
>
> Two internal classes within the Java Client (ChannelToSessionMap /
> IdToConsumerMap) use an optimisation which hopes to permit 'fast access'
> first sixteen sessions (or consumers) by making use on an array. The array
> is written by one thread and then read by others. Unfortunately, the
> read/writes are not protected using a memory barrier so it is possible a
> thread may see a stale value, and this could lead to incorrect program
> behaviour.
> It is safer (and simpler) to replace the data structure with one backed by a
> ConcurrentHashMap.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]