[jboss-jira] [JBoss JIRA] Commented: (JBMESSAGING-1429) ConcurrentModificationException is thrown from JBM MessagingQueue.java
Clebert Suconic (JIRA)
jira-events at lists.jboss.org
Mon Nov 3 18:20:20 EST 2008
[ https://jira.jboss.org/jira/browse/JBMESSAGING-1429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12436736#action_12436736 ]
Clebert Suconic commented on JBMESSAGING-1429:
----------------------------------------------
The current fix caused a regression on DistributedTopicTest::testFloodSubscriptions....
If we used the ConcurrentHashSet as proposed by Overlord the test didn't fail.
I have committed removed the synchronized block and used the ConcurrentHashSet for now, so I could proceed with my tests.
I will leave the decision on keeping the fix or finding a new one for Tim
> 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: Tim Fox
> 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: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list