[
https://issues.apache.org/jira/browse/JCR-1197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540452
]
Marcel Reutegger commented on JCR-1197:
---------------------------------------
When the versionable child node is restored it is first removed, which is IMO
not needed. The following change worked for me, while all tests still pass:
Index: src/main/java/org/apache/jackrabbit/core/NodeImpl.java
===================================================================
--- src/main/java/org/apache/jackrabbit/core/NodeImpl.java (revision
592000)
+++ src/main/java/org/apache/jackrabbit/core/NodeImpl.java (working copy)
@@ -4010,7 +4010,7 @@
}
oldVersion = n.getBaseVersion().getName();
} else if (n.getParent().isSame(this)) {
- n.internalRemove(true);
+ oldVersion = n.getBaseVersion().getName();
} else {
// since we delete the OPV=Copy children beforehand,
all
// found nodes must be outside of this tree
Tobi, what do you think?
> ItemManager cache is getting out of sync
> ----------------------------------------
>
> Key: JCR-1197
> URL: https://issues.apache.org/jira/browse/JCR-1197
> Project: Jackrabbit
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 1.3.3, 1.4
> Reporter: Przemo Pakulski
> Priority: Critical
> Fix For: 1.4
>
> Attachments: CheckoutFailure.java
>
>
> It seems that ItemManager cache is not maintained correctly. I'm getting
> InvalidItemStateException: 'propertyId' has been modified externally tryin
> restore/checkout versionable nodes in single thread.
> ItemState should be evicted from ItemStateManager cache when modified, it
> seems that status of ItemState is changed to MODIFIED, but itemState remains
> in the cache.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.