-
Bug
-
Resolution: Done
-
Major
-
2.6.20
-
None
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at java.util.AbstractSet.removeAll(AbstractSet.java:154)
at org.jgroups.blocks.BasicConnectionTable.retainAll(BasicConnectionTable.java:344)
at org.jgroups.protocols.TCP.retainAll(TCP.java:59)
at org.jgroups.protocols.BasicTCP.handleDownEvent(BasicTCP.java:265)
at org.jgroups.protocols.TP.down(TP.java:1145)
...
BasicTCP is missing a synchoronize on "members" when it passes it to TCP.retainAll.
If members is modified by another thread (in TP.handleDownEvent) while BasicConnectionTable's Set.removeAll
call is iterating over it, it triggers a ConcurrentModificationException.
- blocks
-
JBPAPP-7472 ConcurrentModificationException in BasicConnectionTable.retainAll
- Closed