Skip to main content
Level 2
May 22, 2026
Question

Archive Extraction Process Step Not working with Lunchers

  • May 22, 2026
  • 1 reply
  • 10 views

Hi All, I am trying to use OOTB Archive extraction process step with launcher, but when zip file is having nested folder and files , launcher is not able to extract it properly wheras with manual triggering workflow works as it is triggered by admin.

With launcher I am getting below error org.apache.sling.api.resource.PersistenceException: Can't create valid output path
    at com.day.cq.dam.core.impl.unzip.impl.UnzipServiceImpl.getValidPath(UnzipServiceImpl.java:206) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.day.cq.dam.core.impl.unzip.impl.UnzipServiceImpl.validateFilePath(UnzipServiceImpl.java:220) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.day.cq.dam.core.impl.unzip.impl.UnzipServiceImpl.handleFile(UnzipServiceImpl.java:211) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.day.cq.dam.core.impl.unzip.impl.UnzipServiceImpl.processZipEntry(UnzipServiceImpl.java:159) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.day.cq.dam.core.impl.unzip.impl.UnzipServiceImpl.processEntries(UnzipServiceImpl.java:127) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.day.cq.dam.core.impl.unzip.impl.UnzipServiceImpl.extract(UnzipServiceImpl.java:96) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.day.cq.dam.core.impl.unzip.impl.UnzipManagerServiceImpl.runExtraction(UnzipManagerServiceImpl.java:97) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.day.cq.dam.core.impl.unzip.job.AsyncUnzipJobExecutor$1.execute(AsyncUnzipJobExecutor.java:119) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.adobe.granite.jobs.async.commons.AbstractAsyncJobExecutor.process(AbstractAsyncJobExecutor.java:427) [com.adobe.granite.jobs.async:1.1.62]
    at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.startJob(JobQueueImpl.java:359) [org.apache.sling.event:4.3.18]
    at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.access$100(JobQueueImpl.java:60) [org.apache.sling.event:4.3.18]
    at org.apache.sling.event.impl.jobs.queues.JobQueueImpl$1.run(JobQueueImpl.java:291) [org.apache.sling.event:4.3.18]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: javax.jcr.security.AccessControlException: Can't create folder in /content/dam/hydrated-assets/brands
    at com.day.cq.dam.core.impl.unzip.AclPathUtil.getValidSubPath(AclPathUtil.java:105) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.day.cq.dam.core.impl.unzip.AclPathUtil.getValidPath(AclPathUtil.java:72) [com.day.cq.dam.cq-dam-core:5.15.190]
    at com.day.cq.dam.core.impl.unzip.impl.UnzipServiceImpl.getValidPath(UnzipServiceImpl.java:204) [com.day.cq.dam.cq-dam-core:5.15.190]
    ... 14 common frames omitted

1 reply

Adobe Employee
May 22, 2026

Hello ​@RinkiSh 

We reviewed the behavior and the error stack trace. This does not appear to be a defect with nested folders inside the ZIP itself.

The failure is happening because, when the Archive Extraction Process is triggered through a launcher, the workflow runs under the workflow process/service context rather than an administrator session. In your case, that execution context is not able to create the required destination folder path under:

/content/dam/hydrated-assets/brands

This is why the workflow succeeds when triggered manually by an admin, but fails when started automatically through the launcher.

The key error confirming this is:

javax.jcr.security.AccessControlException: Can't create folder in /content/dam/hydrated-assets/brands

Conclusion

The issue is most likely caused by missing permissions on the target extraction path for the user/service context under which the launcher-driven workflow executes.

Recommended next steps

Please verify that the workflow execution context has sufficient permissions on the extraction target path, including the ability to:

  • read the ZIP asset
  • create intermediate folders
  • create assets/files under the target folder
  • save changes in that subtree

In particular, please review permissions on:

  • /content/dam/hydrated-assets
  • /content/dam/hydrated-assets/brands

Once the required access is granted, the launcher-based extraction should work for ZIPs containing nested folders as well.

If needed, we can also help review the workflow model / launcher configuration and validate the effective permissions on the target path.

RinkiShAuthor
Level 2
May 22, 2026

I gave jcr:all permission to dam-update-service, workflow-process-service and workflow-service to /content/dam path but it’s still same error and the thing this process this OOTB right , it will be complex to change anything.