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:

  1. No CRX/DE, crie um nó sling:OSGiConfig como /apps/<your project>/config/com.adobe.acs.commons.util.impl.ComponentDisabler

  2. Adicione uma propriedade de Cadeia de Caracteres [ ] com nome = "components", valor = [ "com.adobe.cq.commerce.impl.asset.ProductAssetListener" ]

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