Robbie Gemmell created QPID-4782:
------------------------------------
Summary: [Java Broker] ConnectionAdapter.getSessions() can cause a
ConcurrentModificationException
Key: QPID-4782
URL: https://issues.apache.org/jira/browse/QPID-4782
Project: Qpid
Issue Type: Bug
Components: Java Broker
Affects Versions: 0.20
Reporter: Robbie Gemmell
Assignee: Robbie Gemmell
Fix For: 0.22
Changes made via QPID-4760 exposed a defect in ConnectionAdapter.getSessions()
which can cause a ConcurrentModificationException. This is due to unsafe use of
map.remove() whilst iterating the map keyset. The code will be change to use an
Iterator and call iterator.remove instead.
Recent test failure stacktrace showing the issue:
{noformat}
IoReceiver - /127.0.0.1:60051 2013-04-26 15:25:31,050 ERROR
[qpid.server.transport.ServerSessionDelegate] Exception processing command
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:806)
at java.util.HashMap$KeyIterator.next(HashMap.java:841)
at
org.apache.qpid.server.model.adapter.ConnectionAdapter.getSessions(ConnectionAdapter.java:67)
at
org.apache.qpid.server.model.adapter.ConnectionAdapter.getSessionAdapter(ConnectionAdapter.java:97)
at
org.apache.qpid.server.model.adapter.QueueAdapter.getSessionAdapter(QueueAdapter.java:118)
at
org.apache.qpid.server.model.adapter.QueueAdapter.subscriptionRegistered(QueueAdapter.java:616)
at
org.apache.qpid.server.queue.SimpleAMQQueue.registerSubscription(SimpleAMQQueue.java:447)
at
org.apache.qpid.server.transport.ServerSessionDelegate.messageSubscribe(ServerSessionDelegate.java:266)
at
org.apache.qpid.server.transport.ServerSessionDelegate.messageSubscribe(ServerSessionDelegate.java:73)
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]