ProductAssetListener pode causar SegmentNotFoundException e problemas de desempenho
Este artigo fornece resolução para o problema em que ProductAssetListener pode causar SegmentNotFoundException e problemas de desempenho no AEM 6.5.6, AEM 6.5.7 e AEM 6.4.6+. Desative o componente OSGi com.adobe.cq.commerce.impl.asset.ProductAssetListener no ACS AEM Commons.
Descrição description
Ambiente
Adobe Experience Manager (AEM)
Problema
ProductAssetListener
pode causar SegmentNotFoundException e problemas de desempenho no AEM 6.5.6, AEM 6.5.7 e AEM 6.4.6+.
Mensagem de erro típica de SegmentNotFoundException por esse problema contém o rastreamento de pilha conforme abaixo.
*ERRO* [
sling-oak-observe-4]
org.apache.jackrabbit.oak.segment.SegmentNotFoundExceptionListener
Segmento não encontrado: 6376814a-9273-4df8-aedd-ec5e6eb7ab52. SegmentId age=238801954ms,segment-generation=GCGeneration
org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segmento 6376814a-9273-4df8-aedd-ec5e6eb7ab52 não encontrado
…
em com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153)
Os problemas de desempenho podem ser lentidão, nenhuma resposta e atraso/bloqueio da fila de replicação. Quando o problema começar, a seguinte mensagem será exibida no error.log
.
*WARN* [
sling-oak-observe-4]
com.adobe.cq.commerce.impl.asset.ProductAssetListener evento NODE_MOVED
para /content/dam/<
asset>
/<
metadata>
não tem as informações do evento necessárias
Despejos de thread durante o problema que contém uma thread de observação sling-oak com ProductAssetListner
está sendo executada de forma agressiva.
"sling-oak-observe-4" prio=5 tid=0xd7 nid=0xffffffff executável
…
em com.adobe.cq.commerce.impl.asset.ProductAssetListener.onEvent(ProductAssetListener.java:153)
Resolução resolution
Esse problema foi corrigido com o AEM 6.5.8.
Notas de Versão Mais Recentes do Service Pack do Adobe Experience Manager 6.5
A atualização da referência do ativo do produto faz com que as threads de replicação estejam no estado de espera até que a thread ProductAssetListener
conclua as confirmações no JCR (NPR-35269).
Para o AEM 6.4.6+, desabilitar o componente OSGi com.adobe.cq.commerce.impl.asset.ProductAssetListener
é uma solução alternativa. Para fazer isso, você pode usar o Desativador do componente OSGi no ACS AEM Commons.
Como configurar o Desabilitador de componentes:
-
No CRX/DE, crie um nó sling:OSGiConfig como
/apps/<your project>/config/com.adobe.acs.commons.util.impl.ComponentDisabler
-
Adicione uma propriedade de Cadeia de Caracteres
[
]
com nome = "components", valor =[
"com.adobe.cq.commerce.impl.asset.ProductAssetListener
"]