ProductAssetListener può causare l’errore SegmentNotFoundException e problemi di prestazioni

Questo articolo fornisce una soluzione al problema in cui ProductAssetListener può causare SegmentNotFoundException e problemi di prestazioni in AEM 6.5.6, AEM 6.5.7 e AEM 6.4.6+. Disattiva il componente OSGi com.adobe.cq.commerce.impl.asset.ProductAssetListener in ACS AEM Commons.

Descrizione description

Ambiente

Adobe Experience Manager (AEM)

Problema

ProductAssetListener può causare SegmentNotFoundException e problemi di prestazioni in AEM 6.5.6, AEM 6.5.7 e AEM 6.4.6+.

Il messaggio di errore tipico di SegmentNotFoundException per questo problema contiene la traccia dello stack simile a quella riportata di seguito.

*ERROR* [ sling-oak-observation-4] org.apache.jackrabbit.oak.segment.SegmentNotFoundExceptionListener
Segmento non trovato: 6376814a-9273-4df8-aedd-ec5e6eb7ab52. Pagina SegmentId=238801954ms,segment-generation=GCGeneration

org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segmento 6376814a-9273-4df8-aedd-ec5e6eb7ab52 non trovato

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

I problemi relativi alle prestazioni possono essere la lentezza, l’assenza di risposta e il ritardo/blocco della coda di replica. Quando si verifica il problema, viene visualizzato il seguente messaggio in error.log.

*WARN* [ sling-oak-observation-4] com.adobe.cq.commerce.impl.asset.ProductAssetListener NODE_MOVE, evento
per /content/dam/< risorsa> /< metadati>  non ha le informazioni evento richieste

Le immagini thread durante il problema contengono un thread di osservazione sling-oak con ProductAssetListner in esecuzione in modo aggressivo.

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

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

Risoluzione resolution

Questo problema è stato risolto con AEM 6.5.8.

Note sulla versione più recente del Service Pack di Adobe Experience Manager 6.5

L’aggiornamento del riferimento alle risorse di prodotto fa sì che i thread di replica si trovino nello stato di attesa fino a quando il thread ProductAssetListener non completa gli impegni in JCR (NPR-35269).

In AEM 6.4.6+, la disattivazione di com.adobe.cq.commerce.impl.asset.ProductAssetListener per il componente OSGi rappresenta una soluzione alternativa. A tale scopo, è possibile utilizzare Disabler del componente OSGi in ACS AEM Commons.

Configurare la funzione di disabilitazione dei componenti:

  1. In CRX/DE, crea un nodo sling:OSGiConfig come /apps/<your project>/config/com.adobe.acs.commons.util.impl.ComponentDisabler

  2. Aggiungi una proprietà String[ ] con nome = "components", valore = [ "com.adobe.cq.commerce.impl.asset.ProductAssetListener" ]

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