Correzione delle incoerenze nell’archivio quando SegmentNotFound viene segnalato in AEM 6.x

Se sono presenti incongruenze nell'archivio (repository) quando SegmentNotFound segnala, eseguire una verifica di coerenza sull'archivio, trovare l'ultima revisione valida (stato integro) e ripristinarla.

Descrizione description

Ambiente

Adobe Experience Manager (AEM) 6.x

Problema/Sintomi

Le eccezioni per SegmentNotFound sono osservate nei registri.

Esempio:

  1. *ERROR* [ FelixStartLevel] org.apache.sling.event [ org.apache.sling.event.impl.jobs.queues.QueueManager(1431)] Il metodo activate ha generato un'eccezione (org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segment da5bcb95-d00a-4c04-a9d9-0f10f2b14e non trovato)

  2. **ERROR* [ pool-6-thread-3] org.apache.sling.commons.scheduler.impl.QuartzScheduler Eccezione durante l’esecuzione del processo di org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate@1dc173f9 : Segmento e669f30b-e886-4b7a-b161-56432601ec6b non trovato

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

Risoluzione resolution

Esegui una verifica di coerenza sull’archivio, individua l’ultima revisione valida (stato integro) e ripristina l’archivio.

Segui questi passaggi:

  1. Scarica una versione di oak-run che corrisponde alla versione principale di oak attualmente in uso da https://mvnrepository.com/artifact/org.apache.jackrabbit/oak-run

  2. Per ripristinare un archivio segmenti danneggiato al suo ultimo stato integro, passa alla directory di lavoro di CQ (quella contenente la cartella crx-quickstartfolder) ed esegui il backup di tutti i file in ./crx-quickstart/repository/segmentstore/.

  3. Esegui la verifica di coerenza,

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

    Questa operazione esegue una ricerca all’indietro attraverso le revisioni fino a trovarne una coerente:

    Cerca un messaggio simile al seguente:

    [ main] INFO o.a.j.o.p.s.f.t.ConsistencyChecker - Trovata l'ultima revisione valida afdb922d-ba53-4a1b-aa1b-1cb044b535cf:234880

  4. Ripristina l’archivio a questa revisione modificando ./crx-quickstart/repository/segmentstore/journal.log ed eliminazione di tutte le righe successive a quella contenente l’ultima revisione valida.

  5. Rimuovi tutto./crx-quickstart/repository/segmentstore/*.bak.

  6. Esegui la pulizia dei punti di controllo per rimuovere quelli orfani:

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

  7. Infine, compatta l’archivio:

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

Causa
A causa di alcuni problemi precedenti in Oak o di alcune incoerenze nell’archivio, un segmento potrebbe mancare e l’archivio potrebbe essere incoerente.

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