[MAGNOLIA-4869] Version restore does not follow ordering of components Created: 25/Feb/13  Updated: 04/Dec/13  Resolved: 05/Mar/13

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: 4.5.7
Fix Version/s: 4.5.8

Type: Bug Priority: Blocker
Reporter: Jaroslav Simak Assignee: Ondrej Chytil
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File out.txt    
Issue Links:
Cloners
is cloned by MAGNOLIA-4904 CLONE - Version restore does not foll... Closed
duplicate
is duplicated by MAGNOLIA-4347 Restoring to a previous version does ... Closed
relation
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

This sequence on the demo site reproduces the error:

Created new page /demo-project/test with template Section
Opened the page and created two teasers on the page (type Link list) with titles
Test teaser 1
Test teaser 2
Created a new version by activating the page (called A below)
Created a third teaser (Link list) with title
Test teaser 3
Moved "Test teaser 3" at the top of the page
Created a new version by activating the page (called B below)
Restored to version A

everything looks OK, the "Test teaser 3" is removed.
Restored to version B
ERROR: the "Test teaser 3" is restored but it's at the bottom of the page.



 Comments   
Comment by Jan Haderka [ 28/Feb/13 ]

Attached test performing same ops directly on VersionManager ... surprisingly, test is passing.

Comment by Jan Haderka [ 28/Feb/13 ]

related problem with orphaned items seems to be related to JR ItemCache (and still exists even in JR 2.6):

2013-02-28 00:20:28,438 WARN  ache.jackrabbit.core.state.ItemStateReferenceCache: overwriting cached entry a8c33460-1053-4662-9ef1-53613ddab3ad/{http://www.jcp.org/jcr/1.0}mixinTypes
2013-02-28 00:20:28,439 WARN  ache.jackrabbit.core.state.ItemStateReferenceCache: overwriting cached entry ac69736c-c778-4b3e-8873-0ad12b603c09/{http://www.jcp.org/jcr/1.0}mixinTypes
2013-02-28 00:20:28,449 WARN  ache.jackrabbit.core.state.ItemStateReferenceCache: overwriting cached entry aee54f55-181b-42c2-98a4-c9edb7b39a84/{http://www.jcp.org/jcr/1.0}mixinTypes
2013-02-28 00:20:28,458 WARN  ache.jackrabbit.core.state.ItemStateReferenceCache: overwriting cached entry 8d22e2b4-9af8-4a21-bbf1-57b8bf811897/{http://www.jcp.org/jcr/1.0}mixinTypes
2013-02-28 00:20:28,459 ERROR info.magnolia.cms.core.version.BaseVersionManager : failed to restore versioned node, reverting all changes make to this node
2013-02-28 00:20:28,460 ERROR .magnolia.module.admininterface.lists.VersionsList: can't restore
javax.jcr.ItemNotFoundException: failed to build path of 8d22e2b4-9af8-4a21-bbf1-57b8bf811897: orphaned item
	at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:275)
	at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:210)
	at org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(HierarchyManagerImpl.java:395)
	at org.apache.jackrabbit.core.CachingHierarchyManager.getPath(CachingHierarchyManager.java:244)
	at org.apache.jackrabbit.core.BatchedItemOperations.checkRemoveNode(BatchedItemOperations.java:839)
	at org.apache.jackrabbit.core.BatchedItemOperations.recursiveRemoveNodeState(BatchedItemOperations.java:1517)
	at org.apache.jackrabbit.core.BatchedItemOperations.recursiveRemoveNodeState(BatchedItemOperations.java:1525)
	at org.apache.jackrabbit.core.BatchedItemOperations.removeNodeState(BatchedItemOperations.java:1277)
	at org.apache.jackrabbit.core.BatchedItemOperations.copyNodeState(BatchedItemOperations.java:1663)
	at org.apache.jackrabbit.core.BatchedItemOperations.copy(BatchedItemOperations.java:419)
	at org.apache.jackrabbit.core.WorkspaceImpl.internalCopy(WorkspaceImpl.java:430)
	at org.apache.jackrabbit.core.WorkspaceImpl.clone(WorkspaceImpl.java:636)
	at info.magnolia.cms.core.version.CopyUtil.clone(CopyUtil.java:335)
	at info.magnolia.cms.core.version.CopyUtil.clone(CopyUtil.java:323)
	at info.magnolia.cms.core.version.CopyUtil.copyAllChildNodes(CopyUtil.java:276)
	at info.magnolia.cms.core.version.CopyUtil.copyFromVersion(CopyUtil.java:197)
	at info.magnolia.cms.core.version.BaseVersionManager$3.exec(BaseVersionManager.java:440)
	at info.magnolia.cms.core.version.BaseVersionManager$3.exec(BaseVersionManager.java:410)
Comment by Ondrej Chytil [ 05/Mar/13 ]

Test passed because of changes made in MAGNOLIA-4752. When those were gone tests were failing. Now they are part of commit.

Generated at Mon Feb 12 03:59:48 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.