Details

    • Affects:
      Release Notes
    • Release Notes Text:
      Hide
      A race condition in JGroups could lead to a ConcurrentModificationException in the BasicConnectionTable.retainAll() call. The race condition occurred on the members variable when using the TCP protocol. The appropriate synchronization has been implemented to prevent concurrent access to the variable so that the ConcurrentModificationException can now no longer occur.
      Show
      A race condition in JGroups could lead to a ConcurrentModificationException in the BasicConnectionTable.retainAll() call. The race condition occurred on the members variable when using the TCP protocol. The appropriate synchronization has been implemented to prevent concurrent access to the variable so that the ConcurrentModificationException can now no longer occur.
    • Release Notes Docs Status:
      Documented as Resolved Issue
    • Docs QE Status:
      NEW

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dereed Dennis Reed
                  Reporter:
                  dereed Dennis Reed
                  Writer:
                  Eva Kopalova
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: