ProductAssetListener kann SegmentNotFoundException und Performance-Probleme verursachen

Dieser Artikel bietet eine Lösung für das Problem, dass ProductAssetListener SegmentNotFoundException und Leistungsprobleme in AEM 6.5.6, AEM 6.5.7 und AEM 6.4.6+ verursachen kann. Deaktivieren Sie die OSGi-Komponente com.adobe.cq.commerce.impl.asset.ProductAssetListener in ACS AEM Commons.

Beschreibung description

Umgebung

Adobe Experience Manager (AEM)

Problem

ProductAssetListener kann zu SegmentNotFoundException und Leistungsproblemen in AEM 6.5.6, AEM 6.5.7 und AEM 6.4.6+ führen.

Die typische Fehlermeldung von SegmentNotFoundException von diesem Problem enthält den Stacktrace wie unten.

*ERROR* [ sling-oak-observation-4] org.apache.jackrabbit.oak.segment.SegmentNotFoundExceptionListener
Segment nicht gefunden: 6376814a-9273-4df8-aedd-ec5e6eb7ab52. SegmentId-Alter=238801954ms,segment-generation=GCGeneration

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

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

Die Leistungsprobleme können Langsamkeit, keine Antwort und Verzögerungen/Blockierungen in der Replikationswarteschlange sein. Wenn das Problem auftritt, erscheint folgende Meldung im error.log.

*WARN* [ sling-oak-observation-4] com.adobe.cq.commerce.impl.asset.ProductAssetListener NODE_MOVED-Ereignis
für /content/dam/<-Asset> /<-Metadaten>  Verfügt über keine erforderlichen Ereignisinformationen

Thread-Dumps während des Problems enthalten einen Sling-Oak-Beobachtungs-Thread mit ProductAssetListner, der aggressiv ausgeführt wird.

„sling-oak-observation-4“ prio=5 tid=0xd7 nid=0xffffffff runnable

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

Lösung resolution

Dieses Problem wurde mit AEM 6.5.8 behoben.

Versionshinweise zum neuesten Service Pack für Adobe Experience Manager 6.5

Die Aktualisierung von Produkt-Asset-Verweisen führt dazu, dass sich die Replikations-Threads im Wartezustand befinden, bis der ProductAssetListener-Thread seine Übertragungen an den JCR abgeschlossen hat (NPR-35269).

Für AEM 6.4.6+ ist die Deaktivierung der OSGi-Komponente com.adobe.cq.commerce.impl.asset.ProductAssetListener eine Abhilfe. Zu diesem Zweck können Sie OSGi Component Disabler in ACS AEM Commons verwenden.

Konfigurieren von Component Disabler:

  1. Erstellen Sie in CRX/DE einen sling:OSGiConfig-Knoten als /apps/<your project>/config/com.adobe.acs.commons.util.impl.ComponentDisabler

  2. Fügen Sie eine Zeichenfolge[ ] Eigenschaft mit name = „components“, value = [ "com.adobe.cq.commerce.impl.asset.ProductAssetListener" ]

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