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:
-
In CRX/DE, crea un nodo sling:OSGiConfig come
/apps/<your project>/config/com.adobe.acs.commons.util.impl.ComponentDisabler
-
Aggiungi una proprietà String
[
]
con nome = "components", valore =[
"com.adobe.cq.commerce.impl.asset.ProductAssetListener
"]