[
https://issues.apache.org/jira/browse/JCR-2298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790239#action_12790239
]
Jukka Zitting commented on JCR-2298:
------------------------------------
As a first step I added (r890401) a simple workaround that detects the case
when the old parent of a moved node is no longer available and replaced the NPE
with an error log message. Note that required REMOVE event is *not* fired in
such cases, so this is not a final solution to this problem. But at least the
MOVED and ADDED events now get fired and no NPE is thrown.
> NPE in EventStateCollection
> ---------------------------
>
> Key: JCR-2298
> URL: https://issues.apache.org/jira/browse/JCR-2298
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core, transactions, versioning
> Affects Versions: 1.6.0
> Reporter: quipere
>
> When removing a Version with a versionlabel and restoring an other Version
> from the same containing history within 1 transaction, a NPE occured. When
> debugging I noticed the method createEventStates was entered with an UUID
> from a versionLabel. The ChangeLog.get(id) returned null.
> Caused by: java.lang.NullPointerException
> at
> org.apache.jackrabbit.core.observation.EventStateCollection.getNodeType(EventStateCollection.java:614)
> at
> org.apache.jackrabbit.core.observation.EventStateCollection.createEventStates(EventStateCollection.java:381)
> at
> org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:697)
> at
> org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1085)
> at
> org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:163)
> at
> org.apache.jackrabbit.core.version.XAVersionManager.prepare(XAVersionManager.java:509)
> at
> org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:154)
> at
> org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:331)
> at
> org.springmodules.jcr.jackrabbit.support.JackRabbitUserTransaction.commit(JackRabbitUserTransaction.java:100)
> at
> org.springmodules.jcr.jackrabbit.LocalTransactionManager.doCommit(LocalTransactionManager.java:192)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.