Entorno
Adobe Experience Manager 6.x
Problema/Síntomas
Observado SegmentNotFound
Excepciones en los registros. Ejemplo:
*ERROR* FelixStartLevel org.apache.sling.event org.apache.sling.event.impl.jobs.queue.QueueManager(1431) El método activate ha generado una excepción (org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segmento da5bcb95-d00a-4c04-a9d9-0f10f2b14e5e no encontrado)
**ERROR* pool-6-thread-3 org.apache.sling.commons.scheduler.impl.QuartzScheduler Excepción durante la ejecución del trabajo 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: No se encuentra el segmento e669f30b-e886-4b7a-b161-56432601ec6b*
Ejecute una comprobación de consistencia en el repositorio y encuentre el último estado correcto de revisión y vuelva a él. Siga estos pasos:
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
Para revertir un almacén de segmentos dañado a su estado correcto más reciente, 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/.
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 que encuentra una consistente:
Busque un mensaje como el de abajo:
principal INFO o.a.j.o.p.s.f.t.ConsistencyChecker - Se encontró la última corrección correcta afdb922d-ba53-4a1b-aa1b-1cb044b535cf:234880
Revierta el repositorio a esta revisión editándolo ./crx-quickstart/repository/segmentstore/journal.log y borrar todas las líneas después de la línea que contiene la última corrección correcta.
Eliminar todo .archivos /crx-quickstart/repository/segmentstore/*.bak.
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
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, puede que falte un segmento y el repositorio pueda ser incoherente.