Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
30.0.0.Final
-
None
-
---
-
---
Description
A call to CopyOnWriteArrayListMultiMap.putIfAbsent(K, V) or remove(K, V) while another thread is iterating over the list returned via get(...), e.g. [1], will result in a ConcurrentModificationException. Additionally, it is unclear to me why any of the methods of this class are synchronized, since the underlying data structure is already thread safe (excluding the mapped list, which should probably use a CopyOnWriteArrayList or similar).