jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Guggisberg (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1848) ConcurrentModificationException in SessionItemStateManager when multiple updates happening
Date Thu, 06 Nov 2008 08:45:44 GMT

    [ https://issues.apache.org/jira/browse/JCR-1848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645427#action_12645427
] 

Stefan Guggisberg commented on JCR-1848:
----------------------------------------

are you sharing the same session instance among multiple threads? that would explain the ConcurrentModificationException.

please note that javax.jcr.Session instances are not thread-safe. if you still want to share
Session instances you have to take 
care of the required synchronization.

if you're absolutely positive that Session's are not shared among multiple threads please
provide a simple test case that 
reproduces the issue.

> ConcurrentModificationException in SessionItemStateManager when multiple updates happening
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-1848
>                 URL: https://issues.apache.org/jira/browse/JCR-1848
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: core 1.4.6
>            Reporter: Chris Wilkes
>
> I'll post a trimmed down version of how I can get this error to be thrown.  I bring this
up as the code in SessionItemStateManager explicitly checks for a ItemNotFoundException so
it looks like there was some thought put in to what happens if the underlying data changes.
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:822)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:405)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:317)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1080)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:897)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message