ProductAssetListener が SegmentNotFoundException およびパフォーマンスの問題を引き起こす可能性がある

説明 description

環境

  • Adobe Experience Manager

問題/症状
AEM 6.5.6、AEM 6.5.7 およびAEM 6.4.6 以降で SegmentNotFoundException とパフォーマンスの問題が発生する場合があります。

この問題による SegmentNotFoundException の一般的なエラーメッセージには、次のようなスタックトレースが含まれています。

*ERROR* sling-oak-observation-4 org.apache.jackrabbit.oak.segment.SegmentNotFoundExceptionListener Segment not found: 6376814a-9273-4df8-aedd-ec5e6eb7ab52. SegmentId age=238801954ms,segment-generation=GCGeneration

org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment 6376814a-9273-4df8-aedd-ec5e6eb7ab52 not found … at com.adobe.cq.commerce.impl.ProductAssetListener.onEvent(ProductAssetListener.java:153)

パフォーマンスの問題には、速度低下、無応答、レプリケーションキューの遅延/ブロックがあります。問題が発生すると、次のメッセージが error.log に表示されます。

*WARN* sling-oak-observation-4 com.adobe.cq.commerce.impl.asset.ProductAssetListener NODE_MOVED イベント (https://experienceleague.adobe.com/content/dam/asset/metadata?lang=ja) には、必要なイベント情報がありません

問題中のスレッドダンプには、ProductAssetListner を含む sling-oak-observation スレッドが積極的に実行されています。

com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153) で、 "sling-oak-observation-4" prio=5 tid=0xd7 nid=0xffffffff runnable …

解決策 resolution

この問題は、AEM 6.5.8 で修正されました。

https://experienceleague.adobe.com/docs/experience-manager-65/release-notes/service-pack/previous-hotfixes-featurepacks.html?lang=ja

製品アセットの参照の更新により、ProductAssetListener スレッドが JCR へのコミットを完了するまで、レプリケーションスレッドが待機状態になる(NPR-35269)。

AEM 6.4.6 以降では、OSGi コンポーネントcom.adobe.cq.commerce.impl.asset.ProductAssetListener を無効にすることが回避策になります。 それには、ACS AEM Commons の Component Disabler を使用できます。

https://adobe-consulting-services.github.io/acs-aem-commons/features/osgi-disablers/component-disabler/index.html

Component Disabler の設定方法:

  1. CRX/DE で、sling:OSGiConfig ノードを/apps/your project/config/com.adobe.acs.commons.util.impl.ComponentDisabler として作成します。

  2. 名前= "components"、値= "com.adobe.cq.commerce.impl.asset.ProductAssetListener"の String プロパティを追加します。

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