In den Protokollen werden SegmentNotFound-Ausnahmen (Ausnahmen zu nicht gefundenem Segment) beobachtet. Beispiel:
[1]
*ERROR* [FelixStartLevel] org.apache.sling.event [org.apache.sling.event.impl.jobs.queues.QueueManager(1431)] The activate method has thrown an exception (org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segment da5bcb95-d00a-4c04-a9d9-0f10f2b14e5e not found)
[2]
*ERROR* [pool-6-thread-3] org.apache.sling.commons.scheduler.impl.QuartzScheduler Exception during job execution of org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate@1dc173f9 : Segment e669f30b-e886-4b7a-b161-56432601ec6b not found
org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segment e669f30b-e886-4b7a-b161-56432601ec6b not found
Aufgrund älterer Probleme in Oak oder aufgrund von Inkonsistenzen im Repository kann ein Segment verloren gehen und ein Repository inkonsistent sein.
Führen Sie eine Konsistenzprüfung auf dem Repository aus, machen Sie die letzte fehlerfreie Revision [fehlerfreier Status] ausfindig und kehren Sie dorthin zurück. Führen Sie die folgenden Schritte aus:
-
Laden Sie unter https://mvnrepository.com/artifact/org.apache.jackrabbit/oak-run eine Version von oak-run herunter, die Ihrer Hauptversion von Oak entspricht.
Hinweis:
Verwenden Sie für Instanzen von AEM 6.0 eine Version von oak-run (oak-run-1.1.7.jar oder höher), die über den neuen Ausführungsmodus zum Überprüfen verfügt. https://github.com/apache/jackrabbit-oak/blob/trunk/oak-run/README.md#check
Dies hilft beim Überprüfen der Segmentknoten-Speicherinkonsistenzen. -
Führen Sie die Konsistenzprüfung aus:
java -Xmx6000m -jar oak-run-*.jar check -d1 -p /path/to/crx-quickstart/repository/segmentstore
. Bei der Prüfung werden ältere Revisionen durchsucht, bis eine konsistente Revision gefunden wird:
Halten Sie nach Nachrichten wie der folgenden Ausschau:
[main] INFO o.a.j.o.p.s.f.t.ConsistencyChecker - Found latest good revision afdb922d-ba53-4a1b-aa1b-1cb044b535cf:234880.