Hi Martijn,

Martijn Hendriks wrote:
The second scenario that I sketched in my previous message is
possible: I now can reproduce that values of an ItemStateReferenceMap
are evicted by garbage collection during the iteration over that map
in the LocalItemStateManager.dispose method (with Jackrabbit 1.2.1).
On my local system, however, I did not get the ConcurrentModification
exception (Java 5 doc says that it is thrown on a best-effort basis).
Anyway, it seems like this is a possible cause of it.

thank you for sharing this info.

another scenario I can think of is the following:

- session A reads some items I
- session B transiently removes items in I
- session A logs out and starts to iterate over I in LocalItemStateManager 
(LISM)
- session B saves changes and removed items are evicted from A's LISM
- session A gets concurrent modification exception

regards
 marcel

Reply via email to