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 (repo) cuando se notificó SegmentNotFound, ejecute una comprobación de coherencia en el repositorio, busque la última revisión buena (estado correcto) y vuelva a ella.

Descripción :headding-anchor:description

Entorno

Adobe Experience Manager AEM () 6.x

Problema/Síntomas

Las excepciones de 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: Segment da5bcb95-d00a-4c04-a9d9-0f10f2b no se encontró el elemento 14e5e)

  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 : Segmento e669f30b-e886-4b7a-b161-56432601ec6b no encontrado

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

Resolución :headding-anchor: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