コールドスタンバイで「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 が実際には見つからないことを確認するには、次の手順に従います。

  1. 例えば、ログに見つからないと表示されているサンプル BLOB ID を考えます(例:cabdc49c6562afe71da796b57c2d1a86753091073f1935a2c49c20)。
  2. この例の BLOB ID では、ファイルシステムアドレスは ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20 である必要があります。
  3. スタンバイインスタンスのファイルシステムを検索し、指定したファイルがファイルデータストアに存在するかどうかを確認します。
  4. /repository/datastore 内で、list (例:ls -ald)コマンド:ls -ald ca/bd/c4/9c6562afe71da786753095026dfafff4d1073f1935a2c49c20 を使用します。
  5. ファイルを確認し、BLOB ID が実際には見つからないことを確認できます。

原因

これは単なる警告であり、エラーではありません。 これは、Blob ID を読み込もうとする場合を除いて、ファイルデータストアにバイナリがローカルに存在するかどうかを確認する方法がないからです。 ID が読み込まれた場合、ログにこの警告は表示されません。 ただし、見つからない場合、スタンバイは同期する必要があることを認識しているので、ログにこのような警告が表示されます。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f