Inhalt kann nicht veröffentlicht werden

Beschreibung description

Einer unserer Kunden beschwert sich, dass sein Staging-Herausgeber nicht ordnungsgemäß funktioniert und keine Inhalte auf dieser Instanz veröffentlichen kann. Die folgenden Fehler könnten in error.log auftreten:

20.09.2022 06:53:27.635 *INFO* discovery.connectors.common.runner.a00e3ce0-3925-4755-990b-f2d776738269.discoveryLiteCheck org.apache.sling.discovery.base.commons.BaseDiscoveryService getTopology: undefined cluster view: REPOSITORY_EXCEPTION org.apache.sling.discovery.base.commons.UndefinedClusterViewException: Exception while processing descriptor: java.lang.IllegalArgumentException: Can't create child on a synthetic root
20.09.2022 06:53:29.636 *ERROR* discovery.connectors.common.runner.a00e3ce0-3925-4755-990b-f2d776738269.discoveryLiteCheck org.apache.sling.discovery.oak.cluster.OakClusterViewService getLocalClusterView: repository exception: java.lang.IllegalArgumentException: Can't create child on a synthetic root
java.lang.IllegalArgumentException: Can't create child on a synthetic root
at org.apache.sling.resourceresolver.impl.ResourceResolverImpl.create(ResourceResolverImpl.java:979) org.apache.sling.resourceresolver:1.7.2.B0001
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:666) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:603) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:571) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:654) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:603) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:571) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:654) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:603) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:571) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:654) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:603) org.apache.sling.api:2.22.0
at org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:571) org.apache.sling.api:2.22.0
at org.apache.sling.discovery.commons.providers.util.ResourceHelper.getOrCreateResource(ResourceHelper.java:45) org.apache.sling.discovery.commons:1.0.20
at org.apache.sling.discovery.commons.providers.spi.base.IdMapService.readIdMap(IdMapService.java:302) org.apache.sling.discovery.commons:1.0.20
at org.apache.sling.discovery.commons.providers.spi.base.IdMapService.toSlingId(IdMapService.java:280) org.apache.sling.discovery.commons:1.0.20
at org.apache.sling.discovery.oak.cluster.OakClusterViewService.asClusterView(OakClusterViewService.java:174) org.apache.sling.discovery.oak:1.2.22
at org.apache.sling.discovery.oak.cluster.OakClusterViewService.getLocalClusterView(OakClusterViewService.java:120) org.apache.sling.discovery.oak:1.2.22
at org.apache.sling.discovery.base.commons.BaseDiscoveryService.getTopology(BaseDiscoveryService.java:77) org.apache.sling.discovery.base:2.0.8
at org.apache.sling.discovery.oak.OakDiscoveryService.checkForTopologyChange(OakDiscoveryService.java:660) org.apache.sling.discovery.oak:1.2.22
at org.apache.sling.discovery.oak.pinger.OakViewChecker.discoveryLiteCheck(OakViewChecker.java:217) org.apache.sling.discovery.oak:1.2.22
at org.apache.sling.discovery.oak.pinger.OakViewChecker.access$000(OakViewChecker.java:62) org.apache.sling.discovery.oak:1.2.22
at org.apache.sling.discovery.oak.pinger.OakViewChecker$1.run(OakViewChecker.java:193) org.apache.sling.discovery.oak:1.2.22
at org.apache.sling.discovery.base.commons.PeriodicBackgroundJob.safelyRun(PeriodicBackgroundJob.java:86) org.apache.sling.discovery.base:2.0.8
at org.apache.sling.discovery.base.commons.PeriodicBackgroundJob.run(PeriodicBackgroundJob.java:77) org.apache.sling.discovery.base:2.0.8
at java.base/java.lang.Thread.run(Thread.java:834)

Auflösung resolution

Der Fehler im Protokoll steht nicht im Zusammenhang mit der Zwischenspeicherung, wird jedoch angezeigt, wenn der Dienstbenutzer nicht über die richtigen Berechtigungen für den Pfad /var/discovery verfügt (entweder im Autor oder im Publisher).

Bei weiteren Untersuchungen, bei denen der Kunde aufgefordert wurde, die Berechtigungen für den Pfad /var/discovery zu überprüfen, dass auf dem Staging-Herausgeber kein Ordner "Discovery"unter /var vorhanden war und dass auch viele fehlende Inhalte vorhanden waren.

Während der Ordner /var im Produktionsveröffentlicher mehr als 20 untergeordnete Elemente hatte, enthielt der Ordner /var im Staging-Publisher nur 2 - "Replikation"und "Sling".

Das Problem wurde behoben, nachdem die /var/structure von der Produktion auf die Staging-Umgebung repliziert und die AEM auf Staging-Publishern neu gestartet wurde.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f