내 커뮤니티 업적 표시줄을 확대합니다.

Submissions are now open for the 2026 Adobe Experience Maker Awards.
해결됨

javax.jcr.InvalidItemStateException: OakState0001: Unresolved conflicts

Avatar

Level 1
13.08.2025 00:10:49.575 *ERROR* [JobHandler: /var/workflow/instances/server0/2025-08-12/update_asset_59:/content/dam/medtronic-wide/imagery/photography/conceptual/test-imagery-aug-12/shiley-50flexltcd-trach-tube-prodmast.psd/jcr:content/renditions/original] com.day.cq.dam.core.impl.RenditionMakerImpl Error while generating renditions for asset /content/dam/medtronic-wide/imagery/photography/conceptual/test-imagery-aug-12/shiley-50flexltcd-trach-tube-prodmast.psd
javax.jcr.InvalidItemStateException: OakState0001: Unresolved conflicts in /content/dam/medtronic-wide/imagery/photography/conceptual/test-imagery-aug-12/shiley-50flexltcd-trach-tube-prodmast.psd/jcr:content
	at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:238) [org.apache.jackrabbit.oak-api:1.22.14]
	at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:213) [org.apache.jackrabbit.oak-api:1.22.14]
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.newRepositoryException(SessionDelegate.java:669) [org.apache.jackrabbit.oak-jcr:1.22.14]
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:495) [org.apache.jackrabbit.oak-jcr:1.22.14]
	at org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.performVoid(SessionImpl.java:424) [org.apache.jackrabbit.oak-jcr:1.22.14]
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:273) [org.apache.jackrabbit.oak-jcr:1.22.14]
	at org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:421) [org.apache.jackrabbit.oak-jcr:1.22.14]
	at com.day.cq.dam.core.impl.RenditionMakerImpl.generateRenditions(RenditionMakerImpl.java:232) [com.day.cq.dam.cq-dam-core:5.12.356]
	at com.day.cq.dam.core.process.CreateThumbnailProcess.createThumbnails(CreateThumbnailProcess.java:129) [com.day.cq.dam.cq-dam-core:5.12.356]
	at com.day.cq.dam.core.process.ThumbnailProcess.execute(ThumbnailProcess.java:105) [com.day.cq.dam.cq-dam-core:5.12.356]
	at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:93) [com.day.cq.workflow.cq-workflow-impl:6.3.8.CQ652-B0003]
	at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:194) [com.adobe.granite.workflow.core:2.0.240.CQ660-B0017]
	at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:271) [com.adobe.granite.workflow.core:2.0.240.CQ660-B0017]
	at org.apache.sling.event.impl.jobs.JobConsumerManager$JobConsumerWrapper.process(JobConsumerManager.java:502) [org.apache.sling.event:4.2.24]
	at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.startJob(JobQueueImpl.java:351) [org.apache.sling.event:4.2.24]
	at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.access$100(JobQueueImpl.java:60) [org.apache.sling.event:4.2.24]
	at org.apache.sling.event.impl.jobs.queues.JobQueueImpl$1.run(JobQueueImpl.java:287) [org.apache.sling.event:4.2.24]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakState0001: Unresolved conflicts in /content/dam/medtronic-wide/imagery/photography/conceptual/test-imagery-aug-12/shiley-50flexltcd-trach-tube-prodmast.psd/jcr:content
	at org.apache.jackrabbit.oak.plugins.commit.ConflictValidator.failOnMergeConflict(ConflictValidator.java:115) [org.apache.jackrabbit.oak-core:1.22.14]
	at org.apache.jackrabbit.oak.plugins.commit.ConflictValidator.propertyAdded(ConflictValidator.java:84) [org.apache.jackrabbit.oak-core:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.CompositeEditor.propertyAdded(CompositeEditor.java:82) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.propertyAdded(EditorDiff.java:81) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:660) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:523) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:598) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:51) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:54) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:60) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:60) [org.apache.jackrabbit.oak-store-spi:1.22.14]
	at org.apache.jackrabbit.oak.segment.scheduler.Commit.apply(Commit.java:105) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.execute(LockBasedScheduler.java:299) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.schedule(LockBasedScheduler.java:270) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.segment.SegmentNodeStore.merge(SegmentNodeStore.java:211) [org.apache.jackrabbit.oak-segment-tar:1.22.14]
	at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:251) [org.apache.jackrabbit.oak-core:1.22.14]
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:346) [org.apache.jackrabbit.oak-jcr:1.22.14]
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:493) [org.apache.jackrabbit.oak-jcr:1.22.14]
	... 16 common frames omitted


When i try to reupload an asset i am triggering an workflow manually after which the assets are moved to a common location and there the "Update Asset" and "Set last modified" workflows are getting triggered through launchers and then i am getting the above error. 
Please respond if you have faced such an issue  and let us know what will be causing this issue and how did you resolve it, your help will be very useful.


Thank you in advance!

1 채택된 해결책 개

Avatar

정확한 답변 작성자:
Community Advisor

Hi @PriyankaTe,

That's straightforward:  Two or more sessions are trying to save changes to the same node (/content/dam/.../shiley-50flexltcd-trach-tube-prodmast.psd/jcr:content) at the same time, and Oak can’t auto-merge them. This is common when:

  • Multiple workflows (or launchers) are working on the same asset concurrently.

  • A manual workflow trigger is overlapping with an automatic launcher trigger (both modifying jcr:content at the same time).

  • Rendition generation and “Set last modified” are updating the same properties.

Here are fe things you can consider to fix:

1. Prevent overlapping workflows

  • Disable one of the launchers for the path your manual workflow already covers.

  • Or, add a condition in the launcher to skip execution if another workflow for the same asset is already running.

2. Introduce sequencing

  • Modify your process so that Set last modified runs after Update Asset finishes.

  • This can be done by merging steps into a single workflow model instead of separate launchers.

3. Throttle asset processing

  • Add a delay before triggering the second workflow (eg by using a custom step that waits until renditions are done).

4. Use jcr:lock or workflow metadata flags

  • Lock the asset before processing and unlock when done, so other workflows skip it.

5. Check for AEMaaCS behavior

  • If you are on AEM as a Cloud Service, launchers are even more parallelized. You may need to use Asset microservices sequencing or Adobe’s recommended approach of single-entry-point workflows.


Santosh Sai

AEM BlogsLinkedIn


원본 게시물의 솔루션 보기

2 답변 개

Avatar

정확한 답변 작성자:
Community Advisor

Hi @PriyankaTe,

That's straightforward:  Two or more sessions are trying to save changes to the same node (/content/dam/.../shiley-50flexltcd-trach-tube-prodmast.psd/jcr:content) at the same time, and Oak can’t auto-merge them. This is common when:

  • Multiple workflows (or launchers) are working on the same asset concurrently.

  • A manual workflow trigger is overlapping with an automatic launcher trigger (both modifying jcr:content at the same time).

  • Rendition generation and “Set last modified” are updating the same properties.

Here are fe things you can consider to fix:

1. Prevent overlapping workflows

  • Disable one of the launchers for the path your manual workflow already covers.

  • Or, add a condition in the launcher to skip execution if another workflow for the same asset is already running.

2. Introduce sequencing

  • Modify your process so that Set last modified runs after Update Asset finishes.

  • This can be done by merging steps into a single workflow model instead of separate launchers.

3. Throttle asset processing

  • Add a delay before triggering the second workflow (eg by using a custom step that waits until renditions are done).

4. Use jcr:lock or workflow metadata flags

  • Lock the asset before processing and unlock when done, so other workflows skip it.

5. Check for AEMaaCS behavior

  • If you are on AEM as a Cloud Service, launchers are even more parallelized. You may need to use Asset microservices sequencing or Adobe’s recommended approach of single-entry-point workflows.


Santosh Sai

AEM BlogsLinkedIn


Avatar

Level 1

Thank you @SantoshSai  for your reply. I will try all the scenarios here.