Mixin の競合(およびクラシック UI の使用)が原因でロールアウトが失敗する
Mixin とコンテンツ更新アクション設定の競合(クラシック UI を使用)が原因でロールアウトが失敗する問題を修正する方法を説明します。
説明 description
ページのサムネールノードで一部の競合 jcr:mixinTypes が原因で、ページのロールアウトが失敗します。
競合は、ページがサムネールで設定され クラシック UI を使用)た後に最初にロールアウトされた場合 最初にロールアウトされた場合)に発生します。
この時点で、ページのサムネール構造の次の範囲で mixin が競合していることが原因で、マスターページのロールアウトの実行に失敗します。
- dam:サムネール
- cq:LiveRelationship
ログに記録されるエラーは次のとおりです。
27.07.2022 15:48:07.091 *ERROR* [ 0:0:0:0:0:0:0:1 [ 1658929687039] POST /bin/wcmcommand HTTP/1.1] com.day.cq.wcm.msm.impl.commands.RolloutCommand Error during roll-out.
com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutPage(RolloutManagerImpl.java:693) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutPageRelations(RolloutManagerImpl.java:624) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rollout(RolloutManagerImpl.java:515) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.commands.RolloutCommand.performCommand(RolloutCommand.java:153) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.core.impl.commands.WCMCommandService$CommandHolder.performCommand(WCMCommandService.java:178) [ com.day.cq.wcm.cq-wcm-core:5.11.312]
at com.day.cq.wcm.core.impl.commands.WCMCommandServlet.performCommand(WCMCommandServlet.java:120) [ com.day.cq.wcm.cq-wcm-core:5.11.312]
at com.day.cq.commons.servlets.AbstractCommandServlet.doPost(AbstractCommandServlet.java:49) [ com.day.cq.cq-commons:5.11.18]
at org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:146) [ org.apache.sling.api:2.20.0]
at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:342) [ org.apache.sling.api:2.20.0]
[ ..]
Caused by: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:811) [ com.day.cq.wcm.cq-msm-core:5.11.84]
... 135 common frames omitted
Caused by: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:811) [ com.day.cq.wcm.cq-msm-core:5.11.84]
... 136 common frames omitted
Caused by: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:811) [ com.day.cq.wcm.cq-msm-core:5.11.84]
... 137 common frames omitted
Caused by: com.day.cq.wcm.api.WCMException: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:824) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:811) [ com.day.cq.wcm.cq-msm-core:5.11.84]
... 138 common frames omitted
Caused by: com.day.cq.wcm.api.WCMException: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
at com.day.cq.wcm.msm.commons.BaseAction.execute(BaseAction.java:154) [ com.day.cq.wcm.cq-msm-commons:1.1.2]
at com.day.cq.wcm.msm.impl.RolloutManagerImpl.rolloutResource(RolloutManagerImpl.java:790) [ com.day.cq.wcm.cq-msm-core:5.11.84]
... 139 common frames omitted
Caused by: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for dam:thumbnails
at org.apache.jackrabbit.oak.plugins.nodetype.EffectiveNodeTypeImpl.getNodeDefinition(EffectiveNodeTypeImpl.java:454) [ org.apache.jackrabbit.oak-core:1.8.22]
at org.apache.jackrabbit.oak.plugins.nodetype.ReadOnlyNodeTypeManager.getDefinition(ReadOnlyNodeTypeManager.java:396) [ org.apache.jackrabbit.oak-core:1.8.22]
at org.apache.jackrabbit.oak.jcr.session.NodeImpl$29.perform(NodeImpl.java:1031) [ org.apache.jackrabbit.oak-jcr:1.8.22]
at org.apache.jackrabbit.oak.jcr.session.NodeImpl$29.perform(NodeImpl.java:1023) [ org.apache.jackrabbit.oak-jcr:1.8.22]
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:207) [ org.apache.jackrabbit.oak-jcr:1.8.22]
at org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112) [ org.apache.jackrabbit.oak-jcr:1.8.22]
at org.apache.jackrabbit.oak.jcr.session.NodeImpl.getDefinition(NodeImpl.java:1023) [ org.apache.jackrabbit.oak-jcr:1.8.22]
at com.day.cq.wcm.msm.commons.ItemFilterImpl.excludes(ItemFilterImpl.java:91) [ com.day.cq.wcm.cq-msm-commons:1.1.2]
at com.day.cq.wcm.msm.impl.actions.ContentCopyActionFactory$ContentCopyAction.applyFilters(ContentCopyActionFactory.java:293) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.actions.ContentCopyActionFactory$ContentCopyAction.createCopy(ContentCopyActionFactory.java:245) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.impl.actions.ContentCopyActionFactory$ContentCopyAction.doExecute(ContentCopyActionFactory.java:208) [ com.day.cq.wcm.cq-msm-core:5.11.84]
at com.day.cq.wcm.msm.commons.BaseAction.execute(BaseAction.java:134) [ com.day.cq.wcm.cq-msm-commons:1.1.2]
... 140 common frames omitted
再現手順:
- vanilla AEM 6.5.13.0 を起動します。
- /siteadmin に移動します(ClassicUI を使用)。
- /content/we-retail/language-master/en/women のページプロパティを開きます
- 「画像 タブで 任意の画像をサムネールとして設定します
- ページをロールアウトします
- 次に Sites UI に移動します
- /content/we-retail/us/en/women のページプロパティを再度開 ます。
- 「サムネール」タブで プレビューを生成 をクリックし、変更を保存します
- 次に、/siteadmin 内のページを再度ロールアウトします
解決策 resolution
この問題は、AEMがライブコピーページの jcr:content (/content/we-retail/us/en/women/jcr:content/image/file/jcr:content)の下に「dam:thumbnails」ノードを作成できず、ロールアウト中に「dam:Thumbnails」がライブコピーページのノード「/content/we-retail/us/en/women/jcr:content」に適用されず、「dam:Thumbnails」フォルダーが「dam:Thumbnails」 nodeType のの下にのみ作成されます。
MSM のデフォルトの動作では、ロールアウト [0 の間にソースのノードに追加された新しい Mixin は無視されるので ] 「/content/we-retail/us/en/women/jcr:content/image/file/jcr:content」には追加されません。
この問題を修正するには、コンテンツ更新アクションの設定を使用して、この動作を変更できます。
以下のスクリーンショットに示すように、デフォルトでは、すべての Mixin タイプが無視されます。
次を使用するように更新する必要があります。
(?!.*dam:Thumbnails).*
次のスクリーンショットに示します。
これで問題は解決するはずです。
[ 0] https://experienceleague.adobe.com/docs/experience-manager-64/administering/introduction/msm-sync.html?lang=ja#excluding-properties-and-node-types-from-synchronization