Trouble with restoreTransient()
-------------------------------

                 Key: JCR-3295
                 URL: https://issues.apache.org/jira/browse/JCR-3295
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: 2.4
            Reporter: Jukka Zitting
            Assignee: Jukka Zitting


I have a case where transient space is not properly recovered by failed save() 
call caused by concurrent modifications by an observation listener that 
triggers content updates.

The problems manifest with exceptions like these:

org.apache.jackrabbit.core.state.ItemStateException: there's already a property 
state instance with id 60160b9d-94b7-44b2-ad48-564037d8c401/{}nodeId
        at 
org.apache.jackrabbit.core.state.SessionItemStateManager.createTransientPropertyState(SessionItemStateManager.java:629)
        at 
org.apache.jackrabbit.core.PropertyImpl.restoreTransient(PropertyImpl.java:189)

org.apache.jackrabbit.core.state.ItemStateException: there's already a node 
state instance with id c3c82ae7-df33-4fd2-b732-e95cbbea86a9
        at 
org.apache.jackrabbit.core.state.SessionItemStateManager.createTransientNodeState(SessionItemStateManager.java:573)
        at 
org.apache.jackrabbit.core.NodeImpl.restoreTransient(NodeImpl.java:904)

Looks like a concurrent thread is filling in the transient space while the 
restoreTransient() call is in progress.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to