[ https://issues.apache.org/jira/browse/QPID-6387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14317112#comment-14317112 ]
ASF subversion and git services commented on QPID-6387: ------------------------------------------------------- Commit 1659103 from [~k-wall] in branch 'qpid/trunk' [ https://svn.apache.org/r1659103 ] QPID-6387: [Java Client] Remove array optimisation from session/consumer maps > 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: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org