Christian Schneider created OAK-12017:
-----------------------------------------
Summary: CommitFailedException thrown by EditorHook does not
contain path to node
Key: OAK-12017
URL: https://issues.apache.org/jira/browse/OAK-12017
Project: Jackrabbit Oak
Issue Type: Bug
Components: api
Reporter: Christian Schneider
While applying a content package we get this exception.
The problem is that this gives no indication to the path of the node that
caused the exception. This makes it very hard for customers to fix the problem.
The exception is thrown in
org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit. In this method
the path is known and should be added to the exception. This could be done by
wrapping the exception or by replacing it.
{noformat}
Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakVersion0001:
Cannot change property cq:lastModified on checked in node
at
org.apache.jackrabbit.oak.plugins.version.VersionEditor.throwCheckedIn(VersionEditor.java:309)
at
org.apache.jackrabbit.oak.plugins.version.VersionEditor.propertyChanged(VersionEditor.java:145)
at
org.apache.jackrabbit.oak.spi.commit.VisibleEditor.propertyChanged(VisibleEditor.java:73)
at
org.apache.jackrabbit.oak.spi.commit.EditorDiff.propertyChanged(EditorDiff.java:92)
at
org.apache.jackrabbit.oak.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:662)
at
org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:556)
at
org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147)
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:517)
at
org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:649)
at
org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147)
at
org.apache.jackrabbit.oak.segment.MapRecord$3.childNodeChanged(MapRecord.java:430)
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:517)
at
org.apache.jackrabbit.oak.segment.MapRecord.compareBranch(MapRecord.java:595)
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:496)
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:420)
at
org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:649)
at
org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147)
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444)
at
org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:649)
at
org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147)
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444)
at
org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:649)
at
org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147)
at
org.apache.jackrabbit.oak.composite.CompositeNodeState$WrappingDiff.childNodeChanged(CompositeNodeState.java:310)
at
org.apache.jackrabbit.oak.composite.CompositeNodeState$ChildrenDiffFilter.childNodeChanged(CompositeNodeState.java:257)
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444)
at
org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:649)
at
org.apache.jackrabbit.oak.composite.CompositeNodeState.compareAgainstBaseState(CompositeNodeState.java:164)
at
org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:51)
at
org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:54)
at
org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:60)
at
org.apache.jackrabbit.oak.plugins.version.VersionHook.processCommit(VersionHook.java:75)
at
org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:60)
at
org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:60)
at
org.apache.jackrabbit.oak.composite.CommitHookEnhancer.processCommit(CommitHookEnhancer.java:55)
at org.apache.jackrabbit.oak.segment.scheduler.Commit.apply(Commit.java:99)
at
org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.execute(LockBasedScheduler.java:299)
at
org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.schedule(LockBasedScheduler.java:270)
at
org.apache.jackrabbit.oak.segment.SegmentNodeStore.merge(SegmentNodeStore.java:212)
at
org.apache.jackrabbit.oak.composite.CompositeNodeStore.merge(CompositeNodeStore.java:149)
at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:261)
at
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:402)
at
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:557)
... 28 more{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)