콜드 대기 시 "DataStoreException 레코드가 존재하지 않음" 오류 발생

설명 description

환경
Adobe Experience Manager

문제
전용 파일 데이터 저장소를 사용하는 콜드 대기는 누락된 Blob ID에 대해 다음 오류와 유사한 경고를 발생시킵니다.

*WARN* standby-run-1 org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore Error occurred while loading bytes from steam while fetching for id f68a92b34779bbd194184251ec916370f3ebd301d6e32a8980aad070d57a1845#25522

java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record f68a92b34779bbd194184251ec916370f3ebd301d6e32a8980aad070d57a1845 does not exist

    at org.apache.jackrabbit.oak.cache.CacheLIRS$Segment.load(CacheLIRS.java:1017) org.apache.jackrabbit.oak-core-spi:1.10.3

...

Caused by: org.apache.jackrabbit.core.data.DataStoreException: Record cabdc49c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20 does not exist

    at org.apache.jackrabbit.core.data.AbstractDataStore.getRecord(AbstractDataStore.java:59)

원인
이는 경고가 아니라 경고에 불과합니다.

파일 데이터 저장소에는 Blob ID를 로드하는 것 외에는 바이너리가 로컬에 있는지 확인할 수 있는 방법이 없다는 점에서 발생합니다.
ID가 로드되면 로그에 이 경고가 표시되지 않습니다.
하지만 검색되지 않으면 대기 장치가 이를 동기화해야 한다는 것을 알고 있기 때문에 로그에 이런 종류의 경고가 표시됩니다.

해결 방법 resolution

솔루션
이는 설계된 대로 작동하며 파일 데이터 저장소에 문제가 있음을 나타내지는 않습니다.

Blob ID가 실제로 누락되지 않았는지 확인하려면 다음 단계를 수행하십시오.

  1. 예를 들어 로그에 누락된 것으로 표시되는 샘플 blob ID를 가져옵니다(예: cabdc49c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20).
  2. 이 예제에서 이 blob ID의 경우 파일 시스템 주소는 다음과 같아야 합니다. ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20.
  3. 대기 인스턴스의 파일 시스템을 검색하고 이름이 지정된 파일이 파일 데이터 저장소에 있는지 확인합니다.
  4. 다음 범위 내 /repository/datastore, 사용 list (예: ls -ald) 명령: ls -ald ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20.
  5. 파일을 보고 Blob ID가 실제로 누락되지 않았는지 확인할 수 있어야 합니다.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f