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

說明 description

環境

  • Experience Manager

問題/症狀
AEM 6.5.6、AEM 6.5.7和AEM 6.4.6+中,ProductAssetListener可能會造成SegmentNotFoundException和效能問題。

此問題導致的SegmentNotFoundException的典型錯誤消息包含如下的堆棧跟蹤。

*ERROR* sling-oak-ook-oversiton-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中會出現下列訊息。

*警告* sling-oak-ook-observation-4 com.adobe.cq.commerce.impl.asset.ProductAssetListener NODE_MOVED事件(用於/content/dam/asset/metadata)沒有必要的事件資訊

問題期間執行緒傾印包含ProductAssetListner正積極執行的sling-oak-ook-oversion執行緒。

"sling-oak-ooveration-4" prio=5 tid=0xd7 nid=0xffffffrnable… at com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153)

解析度 resolution

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

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

產品資產參考更新會導致復寫執行緒處於等候狀態,直到ProductAssetListener執行緒完成對JCR的提交為止(NPR-35269)。

若是AEM 6.4.6+,停用OSGi元件com.adobe.cq.commerce.impl.asset.ProductAssetListener為因應措施。 為此,您可以使用 ACS AEM Commons 中的元件停用程式。

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

如何設定元件停用程式:

  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