ProductAssetListener kan orsaka SegmentNotFoundException- och prestandaproblem

Den här artikeln löser problemet där ProductAssetListener kan orsaka SegmentNotFoundException och prestandaproblem i AEM 6.5.6, AEM 6.5.7 och AEM 6.4.6+. Inaktivera OSGi-komponenten com.adobe.cq.commerce.impl.asset.ProductAssetListener i ACS AEM Commons.

Beskrivning description

Miljö

Adobe Experience Manager (AEM)

Utgåva

ProductAssetListener kan orsaka SegmentNotFoundException och prestandaproblem i AEM 6.5.6, AEM 6.5.7 och AEM 6.4.6+.

Ett typiskt felmeddelande för SegmentNotFoundException av det här problemet innehåller stackspårningen som nedan.

*ERROR* [ sling-oak-observation-4] org.apache.jackrabbit.oak.segment.SegmentNotFoundExceptionListener
Segmentet hittades inte: 6376814a-9273-4df8-aedd-ec5e6eb7ab52. SegmentId age=238801954ms,segment-generation=GCGeneration

org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment 6376814a-9273-4df8-aedd-ec5e6eb7ab52 hittades inte

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

Prestandaproblemen kan vara långsam, ingen respons och fördröjning/block för replikeringskö. När problemet börjar visas följande meddelande i error.log.

*WARN* [ sling-oak-observation-4] com.adobe.cq.commerce.impl.asset.ProductAssetListener NODE_MOVED event
for /content/dam/< asset> /< metadata >  saknar nödvändig händelseinformation

Tråden dumpas under problemet och innehåller en sling-eko-observationstråd med ProductAssetListner som körs aggressivt.

"sling-oak-Observation-4" prio=5 tid=0xd7 nid=0xffffffffff-körbar

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

Upplösning resolution

Problemet har åtgärdats med AEM 6.5.8.

Versionsinformation om Adobe Experience Manager 6.5 Senaste Service Pack

Referensuppdatering av produktresurs gör att replikeringstrådar är i vänteläge tills ProductAssetListener-tråden har implementerat JCR (NPR-35269).

För AEM 6.4.6+ är det en tillfällig lösning att inaktivera OSGi-komponenten com.adobe.cq.commerce.impl.asset.ProductAssetListener. Det gör du genom att använda OSGi Component Disabler i ACS AEM Commons.

Så här konfigurerar du Component Disable:

  1. Skapa en sling:OSGiConfig-nod som /apps/<your project>/config/com.adobe.acs.commons.util.impl.ComponentDisabler i CRX/DE

  2. Lägg till en String[ ]-egenskap med namnet = "components", value = [ "com.adobe.cq.commerce.impl.asset.ProductAssetListener" ]

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