コールドスタンバイで「DataStoreException Record does not exist」エラーがスローされる
これは設計どおりの動作であり、ファイルデータストアの問題を示すものではありません。 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