AEM Corregir incoherencias en el repositorio cuando SegmentNotFound aparece en la versión 6.x de la aplicación de datos de la aplicación de datos de

Si tiene incoherencias en el repositorio (repositorio) al SegmentNotFound de la que se ha informado, ejecute una comprobación de coherencia en el repositorio, encuentre la última revisión buena (estado correcto) y vuelva a ella.

Descripción description

Entorno

Adobe Experience Manager AEM () 6.x

Problema/Síntomas

Las excepciones para SegmentNotFound se observan en los registros.

Por ejemplo:

  1. *ERROR* [ FelixStartLevel] org.apache.sling.event [ org.apache.sling.event.impl.jobs.queue.QueueManager(1431)] El método activate ha producido una excepción (org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segmento da5bcb95-d00a-4c04-a9d9-0f10f2b14e5e no encontrado)

  2. **ERROR* [ pool-6-thread-3] org.apache.sling.commons.scheduler.impl.QuartzScheduler Excepción durante la ejecución del trabajo de org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate@1dc173f9 : No se encuentra el segmento e669f30b-e886-4b7a-b161-56432601ec6b

    org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segmento e669f30b-e886-4b7a-b161-56432601ec6b no encontrado*

Resolución resolution

Ejecute una comprobación de coherencia en el repositorio, busque la última revisión buena (estado correcto) y vuelva a ella.

Siga estos pasos:

  1. Descargue una versión de oak-run que coincida con su versión del núcleo de Oak desde https://mvnrepository.com/artifact/org.apache.jackrabbit/oak-run

  2. Para revertir un almacén de segmentos corrupto a su último estado bueno, cambie al directorio de trabajo de CQ (el que contiene la carpeta crx-quickstartfolder) y haga una copia de seguridad de todos los archivos en/crx-quickstart/repository/segmentstore/.

  3. Realice la comprobación de consistencia,

    java -Xmx6000m -jar oak-run-*.jar check --bin=-1 /path/to/crx-quickstart/repository/segmentstore

    Esto busca hacia atrás en las revisiones hasta encontrar una consistente:

    Busque un mensaje como el siguiente:

    [ main] INFO o.a.j.o.p.s.f.t.ConsistencyChecker - Se encontró la última revisión buena afdb922d-ba53-4a1b-aa1b-1cb044b535cf:234880

  4. Revierta el repositorio a esta revisión editando/crx-quickstart/repository/segmentstore/journal.log y eliminando todas las líneas después de la línea que contiene la última revisión buena.

  5. Eliminar todo.Archivos /crx-quickstart/repository/segmentstore/*.bak.

  6. Ejecute la limpieza de puntos de comprobación para eliminar los puntos de comprobación huérfanos:

    java -Xmx6000m -jar oak-run-*.jar checkpoints /path/to/crx-quickstart/repository/segmentstore rm-unreferenced

  7. Finalmente, compacte el repositorio:

    java -Xmx6000m -jar oak-run-*.jar compact /path/to/crx-quickstart/repository/segmentstore/

Causa
Debido a algunos problemas antiguos en Oak o a algunas incoherencias en el repositorio, un segmento puede desaparecer y el repositorio puede ser incoherente.

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