]
Tim Fox closed JBMESSAGING-1429.
--------------------------------
Resolution: Done
Assignee: Clebert Suconic (was: Tim Fox)
ConcurrentModificationException is thrown from JBM
MessagingQueue.java
----------------------------------------------------------------------
Key: JBMESSAGING-1429
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1429
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.4.0.SP3.CP02
Environment: Sybase ASE 15.02, JDBC Driver jTDS 1.2.1, JBoss-EAP-4.3_CP1, JDK
-1.5.0_10
Reporter: Tyronne Wickramarathne
Assignee: Clebert Suconic
Fix For: 1.4.0.SP3.CP05, 1.4.1.GA
2008-10-08 17:57:44,955 [WorkerThread#18[10.0.15.102:49566]] ERROR
org.jboss.messaging.util.ExceptionUtil -
ConsumerEndpoint[g7-swt4i2mf-1-8mfqh2mf-h5u36p-x2f0a] close
[i7-rwu4i2mf-1-8mfqh2mf-h5u36p-x2f0a]
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:841)
at java.util.HashMap$KeyIterator.next(HashMap.java:877)
I couldn't reproduce this problem locally. However, I have noted the code segment
which leads to this problem. This exception is thrown when unregisterSucker() or
registerSucker() is called by the time the HashSet containing suckers are iterated.
Replacing the HashSet with ConcurrentHashMap is the easiest fix it seems though the other
approach is to use synchronized(lock) in the informSuckers().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: