You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "quipere (JIRA)" <ji...@apache.org> on 2009/09/07 15:20:57 UTC
[jira] Created: (JCR-2298) NPE in EventStateCollection when
removing version and restoring version containing a versionlabel within
transaction.
NPE in EventStateCollection when removing version and restoring version containing a versionlabel within transaction.
---------------------------------------------------------------------------------------------------------------------
Key: JCR-2298
URL: https://issues.apache.org/jira/browse/JCR-2298
Project: Jackrabbit Content Repository
Issue Type: Bug
Components: 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.
[jira] Updated: (JCR-2298) NPE in EventStateCollection
Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-2298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jukka Zitting updated JCR-2298:
-------------------------------
Component/s: jackrabbit-core
Summary: NPE in EventStateCollection (was: NPE in EventStateCollection when removing version and restoring version containing a versionlabel within transaction.)
This seems like a more generic problem, as we've seen this problem also in a normal save() call with Jackrabbit 1.4.x:
java.lang.NullPointerException
at org.apache.jackrabbit.core.observation.EventStateCollection.getNodeType(EventStateCollection.java:476)
at org.apache.jackrabbit.core.observation.EventStateCollection.createEventStates(EventStateCollection.java:179)
at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:672)
at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:843)
at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:873)
at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:334)
at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:337)
at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:310)
at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:317)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1251)
> 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.
[jira] Resolved: (JCR-2298) NPE in EventStateCollection
Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-2298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jukka Zitting resolved JCR-2298.
--------------------------------
Resolution: Fixed
Fix Version/s: 2.2.0
Assignee: Jukka Zitting
Resolving as fixed based on the above partial solution. If we need a more complete solution, we can do that in a separate followup issue.
> 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
> Assignee: Jukka Zitting
> Fix For: 2.2.0
>
>
> 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.
[jira] Commented: (JCR-2298) NPE in EventStateCollection
Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
[ 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.