Confluence の再インデックスがスタックする

プラットフォームについて: Data Center のみ。 - This article only applies to Atlassian apps on the Data Center プラットフォーム

この KB は Data Center バージョンの製品用に作成されています。Data Center 固有ではない機能の Data Center KB は、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。 Server* 製品のサポートは 2024 年 2 月 15 日に終了しました。Server 製品を実行している場合は、 アトラシアン Server サポート終了 のお知らせにアクセスして、移行オプションを確認してください。

*Fisheye および Crucible は除く

問題

You may notice that newly added content is not being picked up by Confluence; and the number of items in the queue increases. Performing a reindex from scratch resolves the problem, however the resolution is not permanent.

場合によっては、インデックスのタイムスタンプに誤りがある問題を確認し、それには該当しないことを把握している。

診断

スタック状態の原因を作ったアーティファクト (ページ、アーティファクト、または別の問題) を追跡することは困難で、また、すぐに有益な結果を得ることはできない場合があります。まず、再インデックスに関与する適切なクラスでデバッグ ロギングを有効化する必要があります。これにより、Confluence で再インデックスを行ったときにデバッグ情報を得て、問題のトリガーを確認できます。

Shut down Confluence, and edit <confluence_install_dir>/WEB-INF/classes/log4j.properties:

  1. 最下部に次の行を追加します。

    log4j.logger.com.atlassian.confluence.search.lucene=DEBUG log4j.logger.com.atlassian.bonnie.search.extractor.BaseAttachmentContentExtractor=DEBUG
  2. インデックスをゼロから再構築します。これにより、Confluence に全データの再インデックスを行わせます。デバッグ ロギングにより、Confluence が再インデックス中に行っている内容の記録を得られます。

  3. 適切なフラッシュが行われていない状態で、キューのアイテムの数が増えているように見える場合、最新の Confluence ログに含まれるデバッグ ログで、キューが最後にフラッシュされたタイミングとインデックス再作成された添付ファイルを確認する必要があります。

  4. 外部のスレッド ダンプをスタック状態のインスタンスから取得して、インデックス スレッドの処理内容やスタック原因を判断することもできます。

    • これは、添付ファイルの読み取りが非常に難しかったり、インデクサーがデータベースやファイル ロックなどの外部リソースを待機していたりする場合に、特に便利です。取得したスレッド ダンプの診断で支援が必要な場合はアトラシアン サポートにお問い合わせください。

デバッグ ログの例

ページの再インデックス中のログです。

2015-08-21 15:08:46,984 DEBUG [Indexer: 1] [confluence.search.lucene.ReindexWorkBatch] indexCollection Index page: Welcome to Confluence v.1 (98310) [com.atlassian.confluence.pages.Page]

添付ファイルの再インデックス中のログです。

2015-08-21 15:08:47,426 DEBUG [Indexer: 3] [confluence.search.lucene.ReindexWorkBatch] indexCollection Index Attachment: test.txt v.1 (1245337) admin [com.atlassian.confluence.pages.Attachment] 2015-08-21 15:08:47,428 DEBUG [Indexer: 3] [bonnie.search.extractor.BaseAttachmentContentExtractor] addFields Starting to index attachment: test.txt

考えられる原因と解決策

さまざまな原因が考えられますが、一般的な原因として次のようなものがあります。

データベースの中断

データベースが断続的に中断されているために再インデックス中に問題が発生しているが、それが素早く解決されるために Confluence 全体は影響を受けていない可能性があります。検証用のクエリを追加することで、データベースへの断続的な接続の問題を解決できます。

複雑な添付ファイル、生成に失敗した添付ファイル、破損した添付ファイル

一部の添付ファイルは読み取り時に問題を発生させます。添付ファイルのインデックスを一時的に無効化して、再インデックスを完了できるようにすることができます。デバッグ ロギングは、プロセスがスタック状態になる前にインデックスが試みられていた添付ファイルを特定するのに役立ちます。問題のある添付ファイルについては、いくつかのオプションがあります。

  1. Disable indexing of attachments for that type of attachment. You will not be able to search inside the contents of those attachments.

  2. 問題のある添付ファイルを削除します。

  3. 添付ファイルをダウンロードして、Confluence から削除します。ダウンロードした添付ファイルを zip ファイルに追加し、zip 化したファイルを Confluence に再添付します。これによって対象のファイルを再インデックスから効果的に除外できます。

Microsoft Office または PDF ドキュメントを生成する一部のサードパーティ プログラムは、ファーストパーティ アプリケーションよりも機能が劣る可能性があります。対象のドキュメントをアプリケーションの最新バージョンで開き、そのアプリケーションで "名前をつけて保存" を行うことで、メタデータの不足を修正できる場合があります。

たとえば、サードパーティ製のあるレポート ツールで生成された Word ドキュメントがあった場合、それを Word で開き、新しいファイルとして保存し、Confluence に再アップロードすることで、Confluence で発生する問題を軽減できる場合があります。このプロセスは保証されたものではなく、すべてのファイルに効果があるとは限りませんが、一部のお客様で効果があったことが確認されています。

環境の問題

Through analysis of the thread dumps, you might find that the indexer threads are waiting on an external resource; such as a lock on a file or a database connection. This may also occur in other scheduled jobs - see Scheduled jobs may stall and fail to process if one job becomes stuck for more information.

更新日時: September 25, 2025

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。