ProductAssetListener 可能會導致 SegmentNotFoundException 和效能問題

本文提供在AEM 6.5.6、AEM 6.5.7和AEM 6.4.6+中ProductAssetListener可能導致SegmentNotFoundException和效能問題的解決方案。 在ACS AEM Commons中停用OSGi元件com.adobe.cq.commerce.impl.asset.ProductAssetListener 。

說明 description

環境

Adobe Experience Manager (AEM)

問題

ProductAssetListener可能會導致​ SegmentNotFoundException ​以及AEM 6.5.6、AEM 6.5.7和AEM 6.4.6+中的效能問題。

依這個問題,SegmentNotFoundException ​的典型錯誤訊息包含如下所示的棧疊追蹤。

*ERROR* [ sling-oak-observation-4] org.apache.jackrabbit.oak.segment.SegmentNotFoundExceptionListener
找不到區段: 6376814a-9273-4df8-aedd-ec5e6eb7ab52。 SegmentId age=238801954ms,segment-generation=GCGeneration

org.apache.jackrabbit.oak.segment.SegmentNotFoundException:找不到區段6376814a-9273-4df8-aedd-ec5e6eb7ab52

在com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153)

效能問題可能是緩慢、無回應和復寫佇列延遲/封鎖。 當問題開始時,在 error.log 中出現以下訊息。

*WARN* [ sling-oak-observation-4] com.adobe.cq.commerce.impl.asset.ProductAssetListener NODE_MOVED事件
/content/dam/<資產> /<中繼資料>  沒有必要的事件資訊

問題期間的對話串傾印包含具有ProductAssetListner的sling-oak-observation對話串正在積極地執行。

"sling-oak-observation-4" prio=5 tid=0xd7 nid=0xffffff runnable

                在com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153)

解析度 resolution

這個問題已經由 AEM 6.5.8 解決。

Adobe Experience Manager 6.5最新Service Pack發行說明

產品資產參考更新導致複寫對話串處於等待狀態,直到 ProductAssetListener 對話串完成對 JCR (NPR-35269) 的認可。

對於 AEM 6.4.6+,停用 OSGi 元件 com.adobe.cq.commerce.impl.asset.ProductAssetListener 是一種解決方法。若要這麼做,您可以在ACS AEM Commons中使用OSGi元件停用程式

如何設定元件停用程式:

  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" ]

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