冷待命擲回「DataStoreException記錄不存在」錯誤
此功能已如期運作,並不表示檔案資料存放區有問題。 若要確認實際上並未遺失blob ID,請依照「解析度」一節中的步驟操作。
說明 description
環境
Adobe Experience Manager (AEM)
問題
具有專用檔案資料存放區的冷待命在遺失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 xxxxxxxxxx
java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record xxxxxxxx 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 xxxxxxxx does not exist
at org.apache.jackrabbit.core.data.AbstractDataStore.getRecord(AbstractDataStore.java:59)
解決方法 resolution
解決方案
此功能已如期運作,並不表示檔案資料存放區有問題。
若要確認Blob ID實際上並未遺失,請依照下列步驟操作:
- 例如,取用記錄中顯示為遺失的範例blob id (例如:
cabdc49c6562afe71da796b57c2d1a86753091073f1935a2c49c20)。 - 在此範例中,這個blob id的檔案系統位址應該是:
ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20。 - 在待命執行個體上搜尋檔案系統,並檢查命名的檔案是否存在於檔案資料存放區中。
- 在
/repository/datastore內,使用list(例如:ls -ald)命令:ls -ald ca/bd/c4/9c6562afe71da786753095026dfafff4d1073f1935a2c49c20。 - 您應該能夠檢視檔案,並確認實際上並未遺失blob id。
原因
這只是警告,並非錯誤。 這是因為檔案資料存放區無法驗證本機是否存在二進位檔案,除非嘗試載入blob id。 如果id已載入,記錄檔不會顯示此警告。 但是,如果找不到,待命就會知道它必須同步處理,因此您會在記錄中看到這類警告。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f