oak-run を使用してデータストアの整合性チェックを実行します。

AEM 6.4 およびOakで oak-run を使用してデータストアの整合性チェックを実行する方法を説明します。

説明 description

環境

  • Adobe Experience Manager(AEM) 6.4
  • Oak 1.8.8 以降のバージョン

問題/症状

oak-run ツールは、次のようなエラーが発生した場合に役立ちます。

09.11.2017 13:42:17.512 *WARN* [ async-index-update-async]  org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore Error occurred while loading bytes from steam while fetching for id «record ID»
    java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist
    Caused by: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist

 /system/console/repositorycheck UI とは異なり、oak-run ツールは、残りのコンテンツパスに加えて、/oak: インデックスの下の非表示の Lucene インデックスファイルを確認します。  このツールでは、インデックスファイルをデータストアに復元することも、インデックスファイルをすべて再インデックス化する代わりに破損しているインデックスのみを再構築することもできます。 これは、AEM Foundation Tutorialsの oak-run.jar を使用したインデックス管理に記載されています。

解決策 resolution

  1. AEM サーバーに oak-run jar 1.8.8 以降のバージョンをダウンロードします。

  2. 次のコマンドを実行します(ただし、セグメントストアとデータストアのパスを環境に合わせて変更してください)。

    java -jar oak-run-*.jar datastorecheck --consistency --ref --id --fds crx-quickstart/install/org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config --repoHome crx-quickstart/repository --store crx-quickstart/repository/segmentstore --dump temp --verbose --track

  3. このコマンドは、データストアの整合性チェックを出力します。

  4. その出力を使用して、見つからないファイルを復元または修正します。 詳しくは、AEM Foundation Tutorialsの oak-run.jar を使用したインデックスの管理を参照してください。

また、データストア用整合性チェッカーは、ノードストア内のすべての blob 参照と、データストアで使用可能なすべての blob ID をリストすることもできます。 次のコマンドを使用します。

$ java -jar oak-run-*.jar datastorecheck [ --id] [ --ref] [ --consistency] \

[ --store |] \

[ --s3ds |--fds] \

[ --dump] \

[ --track]

次のオプションを 1 つ以上指定します。

  • —id - データストア内のすべての id をリストします。
  • —ref - ノードストア内のすべての blob 参照をリストします。
  • —consistency – 整合性チェックを実行して、見つからない blob をすべてリストします。

次のオプションがあります。

  • —store - mongo uri のセグメントストアへのパス(前述の – ref および – consistency オプションで必須)
  • —dump - ファイルのダンプ先のパス(オプション)。 指定しない場合、ファイルはユーザーの tmp ディレクトリにダンプされます。
  • —s3ds - S3DataStore 構成ファイルへのパス。
  • —fds - FileDataStore 設定ファイルへのパス (「path」プロパティは必須)。
  • —track - ローカルリポジトリのホームフォルダーのパス(オプション)。 ダウンロードされた blob ID のコピーが追跡対象になります。

その他の関連リソース

Oak DataStore のチェック

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