AEM 6.x에서 SegmentNotFound가 보고되면 저장소 불일치 문제를 수정합니다
SegmentNotFound
이(가) 보고될 때 저장소(저장소)에 불일치가 있는 경우 저장소에서 일관성 검사를 실행하고 마지막으로 양호한 수정 버전(정상 상태)을 찾은 후 다시 저장하십시오.
설명 description
환경
Adobe Experience Manager (AEM) 6.x
문제/증상
SegmentNotFound
에 대한 예외가 로그에서 관찰되었습니다.
예:
-
*오류*
[
FelixStartLevel]
org.apache.sling.event[
org.apache.sling.event.impl.jobs.queues.QueueManager(1431)]
활성화 메서드에서 예외가 발생했습니다(org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: 세그먼트 da5bcb95-d00a-4c04-a9d9-0f10f2b14e5e를 찾을 수 없음) -
**ERROR* org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate@1dc173f9의 작업 실행 중
[
풀-6-스레드-3]
org.apache.sling.commons.scheduler.impl.QuartzScheduler 예외: 세그먼트 e669f30b-e886-4b7a-b161-56432601ec6b를 찾을 수 없음org.apache.jackrabbit.oak.plugins.segment.NotFoundException: 세그먼트 e669f30b-e886-4b7a-b161-56432601ec6b 찾을 수 없음*
해결 방법 resolution
보고서에서 일관성 검사를 실행하고 마지막으로 양호한 수정 버전(정상 상태)을 찾아 복구합니다.
다음 단계를 수행하십시오.
-
https://mvnrepository.com/artifact/org.apache.jackrabbit/oak-run에서 Oak 코어 버전과 일치하는 oak-run 버전을 다운로드합니다.
-
손상된 세그먼트 저장소를 양호한 최신 상태로 되돌리려면 CQ의 작업 디렉터리(crx-quickstartfolder가 포함된 디렉터리)로 변경하고 의 모든 파일을 백업합니다./crx-quickstart/repository/segmentstore/
-
일관성 검사를 실행하고
java -Xmx6000m -jar oak-run-*.jar check --bin=-1 /path/to/crx-quickstart/repository/segmentstore
일관된 버전을 찾을 때까지 수정 버전을 뒤로 검색합니다.
아래 메시지와 같은 메시지를 찾습니다.
[
main]
INFO o.a.j.o.p.s.f.t.ConsistencyChecker - 최신 수정 버전 afdb922d-ba53-4a1b-aa1b-1cb044b535cf:234880 -
를 편집하여 보고서를 이 수정 버전으로 되돌립니다./crx-quickstart/repository/segmentstore/journal.log 및 최신 수정 버전이 포함된 줄 다음의 모든 줄을 삭제합니다.
-
모두 제거 ./crx-quickstart/repository/segmentstore/*.bak 파일.
-
체크포인트 정리를 실행하여 고립된 체크포인트를 제거합니다.
java -Xmx6000m -jar oak-run-*.jar checkpoints /path/to/crx-quickstart/repository/segmentstore rm-unreferenced
-
마지막으로, 저장소를 압축합니다.
java -Xmx6000m -jar oak-run-*.jar compact /path/to/crx-quickstart/repository/segmentstore/
원인
Oak의 일부 이전 문제나 저장소 불일치 문제로 인해 세그먼트가 누락될 수 있으며 저장소가 일치하지 않을 수 있습니다.