Exception ProductAssetListener may cause SegmentNotFoundException problèmes de performances

Description description

Environnement

  • Experience Manager

Problèmes/symptômes
ProductAssetListener peut entraîner des problèmes de performance et de SegmentNotFoundException dans AEM 6.5.6, AEM 6.5.7 et la version 6.4.6 d’Adobe.

Le message d’erreur type de SegmentNotFoundException par ce problème contient la trace de suivi comme ci-dessous.

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

org.apache.jackrabbit.oak.segment.SegmentNotFoundException : segment 6376814a-9273-4df8-aedd-ec5e6eb7ab52 introuvable … à l’adresse com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153)

Les problèmes de performances peuvent être la lenteur, l’absence de réponse et le retard/blocage de la file d’attente de réplication. Lorsque le problème commence, le message suivant apparaît dans error.log.

*WARN* sling-oak-observation-4 com.adobe.cq.commerce.impl.asset.ProductAssetListener NODE_MOVED pour l’événement /content/dam/asset/metadata n’a pas d’informations d’événement requises

Les vidages de threads pendant le problème contiennent un thread d’observation sling-oak avec ProductAssetList s’exécute de manière agressive.

"sling-oak-observation-4" prio=5 tid=0xd7 nid=0xffffffffff runnable … à l’adresse com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153)

Résolution resolution

Ce problème a été corrigé dans la version AEM 6.5.8.

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

La mise à jour de la référence des ressources du produit entraîne l’état d’attente des threads de réplication jusqu’à ce que le thread ProductAssetListener termine ses validations dans le JCR (NPR-35269).

Pour AEM 6.4.6+, la désactivation du composant OSGi com.adobe.cq.commerce.impl.asset.ProductAssetListener est une solution de contournement. Pour ce faire, vous pouvez utiliser Component Disabler dans ACS AEM Commons.

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

Comment configurer Component Disabler :

  1. Dans CRX/DE, créez un noeud sling:OSGiConfig sous la forme /apps/your project/config/com.adobe.acs.commons.util.impl.ComponentDisabler.

  2. Ajoutez une propriété String avec le nom = "components", valeur = "com.adobe.cq.commerce.impl.asset.ProductAssetListener"

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