Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

DAM Metadata Writeback Workflow executing for a removed node

Avatar

Level 3

We are overriding the "Product Assets Upload" step in the DAM Update Asset because the product ids do not follow the supported naming convention for the Product Photo Shoot Project.  In this step, we move individual assets or assets in a zip file to the proper product folders that were created when the shotlist csv is uplaoded. The assets are originally uploaded to the content/dam/projects/{YOUR PROJECT NAME}/incoming folder before they are moved to the correct content/dam/projects/{YOUR PROJECT NAME}/incoming/{Product ID/sku} folder.  After they are created in the new folder, the original node is removed.  For some reason, the DAM Metadata Writeback workflow is firing after the DAM Update Asset workflow with the old payload path(i.e. - content/dam/projects/{YOUR PROJECT NAME}/incoming/Test Photoshoot.zip) and errors are being logged and the DAM Metadata Writeback workflow is ending up in a STALE state because that node has already been removed.  Below is an example of the errors being logged.  We do not know why DAM Metadata Writeback is being triggered since the Event Type on the Launcher is Node Modified and not Node Removed. Why is this workflow firing for a node that no longer exists?  What is triggering this and how can we correct it?

09.02.2015 15:33:51.791 *ERROR* [JobHandler: /etc/workflow/instances/2015-02-09/model_101492023020102:/content/dam/projects/monday20/incoming/Test Photoshoot.zip/jcr:content/metadata] com.day.cq.dam.commons.process.AbstractAssetWorkflowProcess getAssetFromPaylod: asset [/content/dam/projects/monday20/incoming/Test Photoshoot.zip/jcr:content/metadata] in payload of workflow [/etc/workflow/instances/2015-02-09/model_101492023020102] does not exist.
09.02.2015 15:33:51.791 *ERROR* [JobHandler: /etc/workflow/instances/2015-02-09/model_101492023020102:/content/dam/projects/monday20/incoming/Test Photoshoot.zip/jcr:content/metadata] com.day.cq.workflow.compatibility.CQWorkflowProcessRunner Process execution resulted in an error: execute: cannot set last modified, asset [{/content/dam/projects/monday20/incoming/Test Photoshoot.zip/jcr:content/metadata}] in payload doesn't exist for workflow [{VolatileWorkItem_node1_etc_workflow_instances_2015-02-09_model_101492023020102}].
com.day.cq.workflow.WorkflowException: execute: cannot set last modified, asset [{/content/dam/projects/monday20/incoming/Test Photoshoot.zip/jcr:content/metadata}] in payload doesn't exist for workflow [{VolatileWorkItem_node1_etc_workflow_instances_2015-02-09_model_101492023020102}].
    at com.day.cq.dam.core.process.AssetSetLastModifiedProcess.execute(AssetSetLastModifiedProcess.java:207)
    at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:93)
    at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:208)
    at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:140)
    at org.apache.sling.event.jobs.JobUtil$1.run(JobUtil.java:365)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
09.02.2015 15:33:51.791 *ERROR* [JobHandler: /etc/workflow/instances/2015-02-09/model_101492023020102:/content/dam/projects/monday20/incoming/Test Photoshoot.zip/jcr:content/metadata] com.adobe.granite.workflow.core.job.JobHandler Process execution resulted in an error
com.adobe.granite.workflow.WorkflowException: Process execution resulted in an error
    at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:218)
    at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:140)
    at org.apache.sling.event.jobs.JobUtil$1.run(JobUtil.java:365)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.adobe.granite.workflow.WorkflowException: Failed to execute process
    at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:108)
    at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:208)
    ... 5 common frames omitted
Caused by: com.day.cq.workflow.WorkflowException: execute: cannot set last modified, asset [{/content/dam/projects/monday20/incoming/Test Photoshoot.zip/jcr:content/metadata}] in payload doesn't exist for workflow [{VolatileWorkItem_node1_etc_workflow_instances_2015-02-09_model_101492023020102}].
    at com.day.cq.dam.core.process.AssetSetLastModifiedProcess.execute(AssetSetLastModifiedProcess.java:207)
    at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:93)
    ... 6 common frames omitted

1 Accepted Solution

Avatar

Correct answer by
Level 10

Out of the box xmp writeback does not execute on photoshoot zip file and surely an custom implementation issue.

View solution in original post

1 Reply

Avatar

Correct answer by
Level 10

Out of the box xmp writeback does not execute on photoshoot zip file and surely an custom implementation issue.