Expand my Community achievements bar.

SOLVED

AEM 6.3.2.1: Dispatcher flush chainReplicationService processor error

Avatar

Level 5

I am experiencing issues when publishing some pages that have an alias on them, I am publishing the following path .../about-us/shopping-with-us

The json looks like this:

about-us:

   "jcr:primaryType":"cq:PageContent",

   "jcr:mixinTypes":[ 

      "cq:LiveRelationship"

   ],

   "jcr:createdBy":"admin",

   "jcr:title":"about us",

   "cq:template":"/apps/platform-company/templates/general-page",

   "sling:alias":"about-us",

   "pageTitle":"About Us",

   "sling:resourceType":"platform-company/components/page/general",

   "cq:designPath":"/etc/designs/platform-company",

   "cq:lastRolledoutBy":"msm-service",

   "cq:lastModifiedBy":"msm-service",

   "navTitle":"About Us"

}

shopping-with-us:

   "jcr:primaryType":"cq:PageContent",

   "jcr:mixinTypes":[ 

      "cq:LiveRelationship"

   ],

   "jcr:createdBy":"admin",

   "jcr:title":"shopping with us",

   "cq:template":"/apps/platform-company/templates/general-page",

   "sling:alias":"shopping-with-us",

   "pageTitle":"Shopping With Us",

   "sling:resourceType":"platform-company/components/page/general",

   "cq:designPath":"/etc/designs/platform-company",

   "cq:lastRolledoutBy":"msm-service",

   "cq:lastModifiedBy":"msm-service",

   "navTitle":"Shopping With Us"

}

When I publish the page it gets replicated to all my publishers correctly but something goes wrong when it tries to invoke my dispatcher flush agent (has on alias update enabled):

[Adobe Granite ChainReplicationService Processor] com.day.cq.replication.impl.ReplicatorImpl Setting up replication with options: ReplicationOptions{synchronous=false, revision='null', suppressStatusUpdate=true, suppressVersions=false, filter=com.day.cq.replication.impl.ChainReplicationService$1@619809ff, aggregateHandler=null}

*ERROR* [Adobe Granite ChainReplicationService Processor] com.day.cq.replication.impl.ChainReplicationService Unexpected error happened

java.lang.StackOverflowError: null

at java.util.HashMap.putVal(HashMap.java:634)

at java.util.HashMap.put(HashMap.java:611)

at java.util.HashSet.add(HashSet.java:219)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:189)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

at com.day.cq.replication.impl.AliasesPreprocessor.mergeExistingMappings(AliasesPreprocessor.java:190)

...

I have no idea what is happening. All help is greatly appreciated.

NOTE: restarting the instance did not solve the problem

1 Accepted Solution

Avatar

Correct answer by
Level 5

I found the issue, the alias on about-us (.../about-us/shopping-with-us) was the same as the node name. Apparently the AliasesPreprocessor.mergeExistingMappings cannot handle this because it will cause a stackOverflow error caused by the recursive call of mergeExistingMappings.

View solution in original post

4 Replies

Avatar

Employee

For a test, Can you navigate to http://HOST:PORT/system/console/configMgr/org.apache.sling.jcr.resource.internal.JcrResourceResolver...  and uncheck 'Enable Optimize alias resolution' and see if you can replicate this issue ?

Avatar

Level 5

Unchecking 'Optimize alias resolution' did not have any effect, I still get the same error as before. The weird thing is that the error does not happen on all pages, for some pages of the same site (that also include aliases) and pages of other sites in our setup it seems to work.

Avatar

Employee

I'd suggest to open up a Daycare ticket for us(Adobe) to look into it. Make sure you upload all the logs in the ticket and impact of this issue.

Avatar

Correct answer by
Level 5

I found the issue, the alias on about-us (.../about-us/shopping-with-us) was the same as the node name. Apparently the AliasesPreprocessor.mergeExistingMappings cannot handle this because it will cause a stackOverflow error caused by the recursive call of mergeExistingMappings.