Resolução de erros recorrentes de "SegmentNotFoundException" nas instâncias de publicação do AEM

Um erro SegmentNotFoundException recorrente faz com que as instâncias de publicação do Adobe Experience Manager (AEM) falhem e fiquem sem resposta. As verificações do repositório não mostram nenhuma corrupção, e o problema persiste após as reinicializações. O problema ocorre durante tarefas de manutenção, como limpeza de revisão e coleta de lixo do armazenamento de dados, devido à manipulação inadequada de thread. Alternar o gerenciamento de threads do Java nativo ThreadPool para o Sling fornecido ThreadPoolManager resolve o problema.

Descrição description

Ambiente

Adobe Experience Manager (AEM) no local, v6.5.22.0

Problema/Sintomas

  • O erro SegmentNotFoundException aparece repetidamente nos logs de instância de publicação do AEM.
  • A instância de publicação do AEM falha e fica completamente sem resposta.
  • A geração contínua de registros de erros causa um grave bloqueio de E/S de disco.
  • A consistência do repositório verifica usando o relatório oak-run sobre problemas estruturais ou de corrupção.
  • O problema se repete após reiniciar o AEM, mesmo quando as tarefas de manutenção são agendadas fora do horário comercial ou temporariamente desativadas.

Resolução resolution

Siga estas etapas para resolver o problema:

  1. Revise o gerenciamento de sessões no código personalizado e feche todas as sessões do repositório após o uso.
  2. Agende a limpeza de revisão e a coleta de lixo do armazenamento de dados fora do horário comercial para reduzir conflitos.
  3. Acesse o console JMX em /system/console/jmx e verifique se há sessões de longa duração ou inativas de SessionStatistics MBeans. Use InitStackTrace para identificar as origens do código personalizado.
  4. Substitua o Java nativo ThreadPool pelo Sling fornecido ThreadPoolManager para todos os processos em segundo plano nos serviços AEM.
  5. Reinicie a instância de publicação do AEM depois de implementar essas alterações.
  6. Monitore logs de erros por vários dias para confirmar que SegmentNotFoundException não é mais exibido.
  7. Verifique se as operações do repositório permanecem estáveis e sem erros.

Considerações Adicionais:

  • As verificações de integridade do repositório usando o oak-run relatam consistentemente nós e propriedades íntegros, indicando que não há corrupção estrutural.
  • O problema não é resolvido ao desabilitar a limpeza de revisão ou executar a compactação offline; é necessário um gerenciamento de thread adequado.
  • As opções de remoção manual de nó podem não se aplicar se FileDataStore estiver configurado; sempre confirme a integridade do repositório antes de tentar intervenções manuais.

Leitura relacionada

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