Resolver errores recurrentes "SegmentNotFoundException" en las instancias de publicación de AEM

Un error recurrente de SegmentNotFoundException provoca que las instancias de publicación de Adobe Experience Manager (AEM) se bloqueen y no respondan. Las comprobaciones de repositorios no muestran daños y el problema persiste tras reiniciarse. El problema se produce durante las tareas de mantenimiento, como la limpieza de revisiones y la recolección de elementos no utilizados del almacén de datos, debido a un control incorrecto de los subprocesos. Cambiar la administración de subprocesos de Java nativo ThreadPool a Sling proporcionado ThreadPoolManager resuelve el problema.

Descripción description

Entorno

Adobe Experience Manager (AEM) local, v6.5.22.0

Problema/Síntomas

  • El error SegmentNotFoundException aparece repetidamente en los registros de instancias de publicación de AEM.
  • La instancia de publicación de AEM se bloquea y deja de responder por completo.
  • La generación continua de registros de errores causa un bloqueo grave de E/S del disco.
  • Las comprobaciones de coherencia del repositorio mediante el informe oak-run no registran daños ni problemas estructurales.
  • El problema se repite después de reiniciar AEM, incluso cuando las tareas de mantenimiento están programadas fuera del horario laboral o están desactivadas temporalmente.

Resolución resolution

Siga estos pasos para resolver el problema:

  1. Revise la administración de sesiones en su código personalizado y cierre todas las sesiones del repositorio después de su uso.
  2. Programe la limpieza de revisiones y la recopilación de residuos del almacén de datos fuera del horario laboral para reducir los conflictos.
  3. Acceda a la consola JMX en /system/console/jmx y verifique SessionStatistics MBeans para ver si hay sesiones de larga duración o inactivas. Use InitStackTrace para identificar orígenes de código personalizado.
  4. Reemplazar el Java nativo ThreadPool por ThreadPoolManager proporcionado por Sling para todos los procesos en segundo plano en los servicios de AEM.
  5. Reinicie la instancia Publicación de AEM después de implementar estos cambios.
  6. Supervise los registros de errores durante varios días para confirmar que SegmentNotFoundException ya no aparece.
  7. Verifique que las operaciones del repositorio permanezcan estables y libres de errores.

Consideraciones adicionales:

  • Las comprobaciones de integridad del repositorio que utilizan oak-run informan de forma coherente de los nodos y las propiedades en buen estado, lo que indica que no hay daños estructurales.
  • El problema no se resuelve deshabilitando la limpieza de revisión o ejecutando la compactación sin conexión; se requiere una administración de subprocesos adecuada.
  • Es posible que las opciones de eliminación manual del nodo no se apliquen si se ha configurado FileDataStore; confirme siempre el estado del repositorio antes de intentar realizar intervenciones manuales.

Lectura relacionada

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