ProductAssetListener puede causar SegmentNotFoundException y problemas de rendimiento

Descripción description

Entorno

  • Experience Manager

Problemas/Síntomas
ProductAssetListener puede causar problemas de SegmentNotFoundException y de rendimiento en AEM 6.5.6, AEM 6.5.7 y AEM 6.4.6+.

El mensaje de error típico de SegmentNotFoundException por este problema contiene el seguimiento de pila como se muestra a continuación.

*ERROR* sling-oak-observation-4 org.apache.jackrabbit.oak.segment.SegmentNotFoundExceptionListener Segmento no encontrado: 6376814a-9273-4df8-aedd-ec5e6eb7ab52. SegmentId age=238801954ms,segment-generation=GCGeneration

org.apache.jackrabbit.oak.segment.SegmentNotFoundException: No se encuentra el segmento 6376814a-9273-4df8-aedd-ec5e6eb7ab52 … en com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153)

Los problemas de rendimiento pueden ser lentitud, falta de respuesta y retraso/bloqueo de la cola de replicación. Cuando comienza el problema, el siguiente mensaje aparece en error.log.

*WARN* sling-oak-observation-4 com.adobe.cq.commerce.impl.asset.ProductAssetListener NODE_MOVED event para /content/dam/asset/metadata no tiene la información de evento necesaria

Los volcados de subprocesos durante el problema contienen un subproceso de observación de sling-oak con ProductAssetListner se está ejecutando agresivamente.

"sling-oak-observation-4" prio=5 tid=0xd7 nid=0xffffffff ejecutable … en com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153)

Resolución resolution

Este problema se ha corregido con AEM 6.5.8.

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

La actualización de referencia de recursos de producto hace que los subprocesos de replicación estén en estado de espera hasta que el subproceso ProductAssetListener complete sus confirmaciones para el JCR (NPR-35269).

Para AEM versión 6.4.6 o posterior, la desactivación del componente OSGi com.adobe.cq.commerce.impl.asset.ProductAssetListener es una solución alternativa. Para ello, puede usar el desactivador de componentes en ACS AEM Commons.

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

Cómo configurar el desactivador de componentes:

  1. En CRX/DE, cree un nodo sling:OSGiConfig como /apps/your project/config/com.adobe.acs.commons.util.impl.ComponentDisabler

  2. Agregue una propiedad String con el nombre = "componentes", valor = "com.adobe.cq.commerce.impl.asset.ProductAssetListener"

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