Issue:
When we see the error "org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segment 6e0a804f-0d75-48a8-a579-ebf34e58e763 not found" one day, and you can not open any pages, or can access neither crx nor console.
Solution:
We can use oak runnable to check and restore the last good revision into Oak's working directory.
Tool: Oak-run Tool (http://mvnrepository.com/artifact/org.apache.jackrabbit/oak-run)
Check more from http://cqhints.blogspot.com/2015/07/cq6-system-maintaining-repository.html
Step to restore Oak's working directory:
1. Backup all files in ./crx-quickstart/repository/segmentstore/.
2. Run the consistency check
It will search backwards through the revisions until it finds a consistent one:
18:01:51.336 [main] INFO o.a.j.o.p.s.f.t.ConsistencyChecker - Found latest good revision ca9c71ae-1941-4a2d-aaed-c444db7a4c6d:260120
3. Revert the repository to this revision by editing ./crx-quickstart/repository/segmentstore/journal.log and deleting all lines after the line containing the latest good revision.
4. Remove all ./crx-quickstart/repository/segmentstore/*.bak files.
5. Run checkpoint clean-up to remove orphaned checkpoints:
6. Finally compact the repository:
When we see the error "org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segment 6e0a804f-0d75-48a8-a579-ebf34e58e763 not found" one day, and you can not open any pages, or can access neither crx nor console.
Solution:
We can use oak runnable to check and restore the last good revision into Oak's working directory.
Tool: Oak-run Tool (http://mvnrepository.com/artifact/org.apache.jackrabbit/oak-run)
Check more from http://cqhints.blogspot.com/2015/07/cq6-system-maintaining-repository.html
Step to restore Oak's working directory:
1. Backup all files in ./crx-quickstart/repository/segmentstore/.
2. Run the consistency check
java -jar oak-run-*.jar check -d1 --bin=-1 -p crx-quickstart/repository/segmentstore/
It will search backwards through the revisions until it finds a consistent one:
18:01:51.336 [main] INFO o.a.j.o.p.s.f.t.ConsistencyChecker - Found latest good revision ca9c71ae-1941-4a2d-aaed-c444db7a4c6d:260120
3. Revert the repository to this revision by editing ./crx-quickstart/repository/segmentstore/journal.log and deleting all lines after the line containing the latest good revision.
4. Remove all ./crx-quickstart/repository/segmentstore/*.bak files.
5. Run checkpoint clean-up to remove orphaned checkpoints:
java -jar oak-run-*.jar checkpoints ./crx-quickstart/repository/segmentstore rm-unreferenced
6. Finally compact the repository:
java -jar oak-run-*.jar compact ./crx-quickstart/repository/segmentstore/
Ref: https://github.com/apache/jackrabbit-oak/blob/trunk/oak-run/README.md#check