AEM 6.x で SegmentNotFound がレポートされた場合のリポジトリの不整合の修正

リポジトリ(リポジトリ)に不整合がある場合、次の条件を満たす SegmentNotFound レポートを作成し、リポジトリの整合性チェックを実行して、整合性のある最も新しいリビジョン(正常な状態)を探し、そのリビジョンに戻します。

説明 description

環境

Adobe Experience Manager(AEM) 6.x

問題/症状

の例外 SegmentNotFound がログに記録されます。

例:

  1. *エラー* [ FelixStartLevel] org.apache.sling.event [ org.apache.sling.event.impl.jobs.queues.QueueManager (1431)] activate メソッドで例外がスローされました(org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segment da5bcb95-d00a-4c04-a9d9-0f10f2b14e not found)

  2. **エラー* [ pool-6-thread-3] org.apache.sling.commons.scheduler.impl.QuartzScheduler org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate@1dc173f9のジョブ実行中に例外が発生する:セグメント e669f30b-e886-4b7a-b161-56432601ec6b が見つかりません

    org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segment e669f30b-e886-4b7a-b161-56432601ec6b が見つかりません*

解決策 resolution

リポジトリで整合性チェックを実行し、整合性のある最も新しいリビジョン(正常な状態)を見つけて、そのリビジョンに戻します。

次の手順に従います。

  1. 使用している Oak コアバージョンに合ったバージョンの oak-run を、https://mvnrepository.com/artifact/org.apache.jackrabbit/oak-run からダウンロードします。

  2. 破損しているセグメントストアを整合性のある最も新しい状態に戻すには、CQ の作業ディレクトリ(crx-quickstartfolder が含まれているディレクトリ)に変更し、内のすべてのファイルをバックアップします。/crx-quickstart/repository/segmentstore/.

  3. 整合性チェックを実行します。

    java -Xmx6000m -jar oak-run-*.jar check --bin=-1 /path/to/crx-quickstart/repository/segmentstore

    これにより、リビジョンが一致するものが見つかるまで、リビジョンが遡って検索されます。

    次のようなメッセージを探します。

    [ メイン] 情報 o.a.j.o.p.s.f.t.ConsistencyChecker – 最新の良好なリビジョンが見つかりました afdb922d-ba53-4a1b-aa1b-1cb044b535cf:234880

  4. を編集して、リポジトリをこのリビジョンに戻します。/crx-quickstart/repository/segmentstore/journal.logを指定し、整合性のある最も新しいリビジョンを含む行より後のすべての行を削除します。

  5. すべて削除します。/crx-quickstart/repository/segmentstore/*.bak ファイル。

  6. チェックポイントのクリーンアップを実行して、孤立したチェックポイントを削除します。

    java -Xmx6000m -jar oak-run-*.jar checkpoints /path/to/crx-quickstart/repository/segmentstore rm-unreferenced

  7. 最後に、リポジトリを圧縮します。

    java -Xmx6000m -jar oak-run-*.jar compact /path/to/crx-quickstart/repository/segmentstore/

原因:
Oak に以前からの問題があるか、リポジトリに不整合があることが原因で、セグメントが見つからなくなり、リポジトリに不整合が発生することがあります。

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