Reverse Replication failing for node under /etc in AEM 6.2




I have encountered an  issue in reverse replication workflow.

I see that reverse replication is failing  saying path not found(/etc/vod) in spite of node being present.

com.day.cq.workflow.WorkflowException: javax.jcr.PathNotFoundException: /etc/vod

        at com.day.cq.wcm.workflow.process.ReplicatePageProcess.execute(ReplicatePageProcess.java:201)

        at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:93)

        at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:189)

        at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:244)

        at org.apache.sling.event.impl.jobs.JobConsumerManager$JobConsumerWrapper.process(JobConsumerManager.java:500)

        at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.startJob(JobQueueImpl.java:291)

        at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.access$100(JobQueueImpl.java:58)

        at org.apache.sling.event.impl.jobs.queues.JobQueueImpl$1.run(JobQueueImpl.java:227)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

        at java.lang.Thread.run(Thread.java:748)

I see that Reverse Replication is initiated by "workflow-service" user also I see from logs that another service user called  "wcm-workflow-service" is involved.

I tried giving  both the service users Read Permission to etc/vod

But did not seem to resolve this issue.

I continued with my debug

I found that the Reverse Replication  workflow has process  "ReplicatePageProcess"  . I peeked in to the source code .

I see that "device-identification-service" is used to get serviceSession , So i gave "device-identification-service" Read Permission to /etc/vod.

Now the reverse replication workflow completes successfully.

Is it the approach correct to update ACL of "device-identification-service"  to provide read permission to  /etc/vod to get this resolved.

Can some one suggest.





As i stated earlier i had to give "device-identification-service" permission to  access /etc/<custom_node> .

My question was more to confirm is this approach correct