コンテンツは公開できません
この問題は、/var/structure を実稼動環境からステージング環境にレプリケートし、ステージパブリッシャーでAEMを再起動した後に修正されました。
説明 description
環境
Adobe Experience Manager(AEM)
問題
ステージパブリッシャーが正しく動作していないため、このインスタンスのコンテンツを公開できません。
次のタイプのエラーが error.log に記録されます。
20.09.2022 06:53:27.635 *INFO* [ discovery.connectors.common.runner.artewte0-3885-4755-990b-f2d7574839269.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.a0gfdwsgt0-3885-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)
解決策 resolution
ログのエラーはキャッシュに関連していませんが、サービスユーザーがオーサーまたはパブリッシャーのパスに対する適切な権限を持っていない場合に表示さ /var/discovery ます。
/var/discovery パスの権限を確認すると、ステージ発行者には /var の下に discovery フォルダーがなく、見つからないコンテンツも多数存在することがわかりました。
実稼動パブリッシャーの /var フォルダーには 20 を超える子があるのに対して、ステージパブリッシャーの /var フォルダーには 2 つしか存在しませんでした レプリケーション と sling。
この問題は、/var/structure を実稼動環境からステージング環境にレプリケートし、ステージパブリッシャー上でAEMを再起動した後に修正されました。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f