로그에서 세그먼트를 찾을 수 없음 예외가 확인되었습니다.

문제

로그에서 세그먼트를 찾을 수 없음 예외가 확인되었습니다. 예는 다음과 같습니다.

[1]
*ERROR* [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 세그먼트를 찾을 수 없음)

[2] 
*ERROR* [pool-6-thread-3] org.apache.sling.commons.scheduler.impl.QuartzScheduler org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate@1dc173f9 작업 실행 중 예외: e669f30b-e886-4b7a-b161-56432601ec6b 세그먼트를 찾을 수 없음
org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: e669f30b-e886-4b7a-b161-56432601ec6b 세그먼트를 찾을 수 없음

환경

AEM 6.0, AEM 6.1, AEM 6.2

원인

Oak의 이전 문제 또는 리포지토리의 일부 불일치로 인해 세그먼트가 누락될 수 있으며 리포지토리가 일치하지 않을 수 있습니다.

해결 방법

리포지토리에서 일관성 검사를 실행하고 마지막 양호한 수정 버전의 [정상 상태]를 찾은 다음 다시 되돌립니다. 다음을 수행하십시오.

  1. https://mvnrepository.com/artifact/org.apache.jackrabbit/oak-run에서 사용자의 oak 코어 버전과 일치하는 oak 실행 버전을 다운로드합니다.

    참고:

    AEM 6.0의 경우, 새로운 검사 실행 모드가 있는 oak 실행 버전(oak-run-1.1.7.jar 이상)을 사용합니다(https://github.com/apache/jackrabbit-oak/blob/trunk/oak-run/README.md#check).
    이렇게 하면 세그먼트 노드 저장소 불일치를 검사하는 데 도움이 됩니다.

  2. 손상된 세그먼트 저장소를 마지막 양호한 상태로 되돌리려면 CQ 작업 디렉토리(한 개의 crx-quickstartfolder가 포함된 디렉토리)로 변경하고 ./crx-quickstart/repository/segmentstore/에 있는 모든 파일을 백업하십시오.

  3. 일관성 검사를 실행합니다.
    java -Xmx6000m -jar oak-run-*.jar check -d1 -p /path/to/crx-quickstart/repository/segmentstore

    이 명령은 일관성 있는 버전을 찾을 때까지 수정 버전을 거꾸로 검색합니다.
    아래와 같은 메시지를 찾습니다.
    [main] INFO o.a.j.o.p.s.f.t.ConsistencyChecker - 마지막 양호 수정 버전 발견 afdb922d-ba53-4a1b-aa1b-1cb044b535cf:234880

  4. ./crx-quickstart/repository/segmentstore/journal.log를 편집하고마지막 양호 버전을 포함하는 행 다음의 모든 행을 삭제하여 리포지토리를 이 수정 버전으로 되돌립니다.

  5. ./crx-quickstart/repository/segmentstore/*.bak파일을 모두 제거합니다.

  6. 체크포인트 정리를 실행하여 고립된 체크포인트를 제거합니다.

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

  7. 마지막으로 리포지토리를 압축합니다.

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

이 작업에는 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License의 라이센스가 부여되었습니다.  Twitter™ 및 Facebook 게시물은 Creative Commons 약관을 적용받지 않습니다.

법적 고지 사항   |   온라인 개인 정보 보호 정책