Jira サーバーのインデックスの問題のトラブルシューティング

お困りですか?

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

コミュニティに質問

プラットフォームについて: サーバーと Data Center のみ。この記事は、サーバーおよび Data Center プラットフォームのアトラシアン製品にのみ適用されます。

概要

JIRA アプリケーションのインデックスは、検索およびアクティビティストリームを制御するだけでなく、アプリケーションのデータベースへの問い合わせも行います (変更履歴の取得など)。Jira アプリケーションのインデックス作成は、Lucene と呼ばれる高性能で高機能なテキスト検索エンジンライブラリによって行われます。

ご確認いただきたい内容

JIRA アプリケーションでは、課題が変更される度に Lucene インデックスが部分的に再作成されます。再作成は課題インデックス リスナーによって行われます。課題インデックスリスナーは Administration > System > Listeners([管理] > [システム] > [リスナー]) から確認できます。

また、必要に応じて完全に再作成することも可能です。 Administration > System > Indexing ([管理] > [システム] > [インデックス作成])から、手動で再作成できます。ここから、Jira アプリケーションインデックスファイルの新しい場所を指定することもできます。

インデックスの作成速度は、言語設定には影響されません。むしろ、ディスクの I/O 速度に大きく依存し、ウイルス対策や仮想化環境により影響を受ける可能性があります。

ただし、インデックス作成言語の変更は、単語ステミングおよび検索に大きく影響します。

インデックス作成における推奨事項

インデックス作成に関する重要な推奨事項は一点です。

重要なポイント

Jira アプリケーションインデックスに指定するファイルパスは、高速なローカルディスク上のものである必要があります。

Jira が Samba や NFS マウントといったネットワークドライブを介してインデックスにアクセスしようとすると、以下のようなインデックスの例外が発生します。

2006-03-28 13:06:05,540 ERROR [jira.issue.index.DefaultIndexManager] Giving up reindex - waited 10 seconds
com.atlassian.jira.issue.index.IndexException
...

そのため、このような構成で Jira アプリケーションは実行しないでください。

最も重いカスタム フィールドを見つける

Jira Data Center 8.10 以降の場合、[クラスタリング] の画面に移動し、ノードを選択して[アクション] > [カスタムフィールドのインデックス化] をクリックします。

詳細は、「Jira クラスタの監視」を参照してください。

インデックス作成エラー

ロック例外

これは、他のプロセスがインデックスをロックしている場合に発生する可能性があります。考えられる原因は、次のとおりです。

  • 以前のクリーンではない再起動で残ったロックファイルがディスクにある
  • 古い JIRA アプリケーション インスタンスでまだ実行中のスレッドがある。おそらく、Jira が前回再起動されたときに完全に停止されなかった以前の JIRA アプリケーション インスタンスからのもの
  • 現在の Jira アプリケーションインスタンスからのプロセスで、終了するのに異常に長時間 (10+seconds) を要しているもの

ログに .lock ファイルに関する記載がある場合の最も安全な解決策は以下の通りです。

  1. Jira アプリケーションを停止します。
  2. .lock ファイルを削除します。
  3. Jira アプリケーションを再起動します。
  4. インデックスを完全に再作成します。

これらの lock ファイル (Jira アプリケーションをスタンドアロンで実行している場合) は、Tomcat のテンポラリディレクトリにあります。これらの lock ファイルを探すための詳細情報が必要な場合には、Lucene wiki ページ上の FAQ 記事を参照してください。

タイムアウト例外

インデックス待ち時間を長くする

上記の例のような例外が発生する場合、Lucene インデックスで何らかの競合が発生している可能性があります。第一の対応策は、ロックを取得する際の許容タイムアウトを長くすることです。

jira-application.properties ファイル、具体的には以下の値を修正してください。

スレッドダンプの取得

Jira は、インデックスロックがタイムアウトした場合、自動的にログファイルへのスレッドダンプを実行します。上記で解決せず引き続きこれらの例外が発生している場合には、サポートへお問合せいただき、エラー発生時のスレッドダンプを添付してください。うまくいけば、Jira がインデックスファイルのロックを取得するために待っているものがスレッドダンプからわかります。

インデックス作成パフォーマンスが低い

インデックス作成のパフォーマンスが低い場合、レスポンスタイムが遅くなり、インデックスがタイムアウトが発生することがよくあります。インデックスのタイムアウトにより、検索や課題ナビゲーター、ポートレットでの課題結果が一部古くなる可能性があります。

インデックス作成のパフォーマンスが低いのは、一般的にディスクのパフォーマンスの低さに起因していることに注意してください。また、MS Windows でディスクのパフォーマンスが低下する原因として圧倒的に多いのがウィルス対策ソフトであること点も留意してください。ウイルス対策ソフトウェアが無効になっている場合でも、多くのウイルス対策製品がディスク パフォーマンスに深刻な悪影響を及ぼし続ける可能性があることは、多くのお客様にとって当然理解し難いことです。しかし、ウイルス対策ソフトウェアがディスク パフォーマンスや Jira インデックス作成に与える影響を正しく評価するためには、ウイルス対策ソフトウェアを完全にアンインストールすることが必要な場合があります。ウイルス対策製品には、パフォーマンスを低下させる綿密な監視から指定したディレクトリを除外可能なものが多くあります。Jira インデックスディレクトリは、このような除外ディレクトリに指定することが理想的です。

アトラシアンの Disk access speed utility を使用して、ディスクパフォーマンスが問題ないかを確認できます。上記ページに記載に良好と分類されている数値と出力結果を比較してください。

ナレッジベース記事

検索、インデックス作成、フィルタリングの問題に関するナレッジベースをご確認ください。

最終更新日: 2022 年 12 月 1 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する

このセクションの項目

Powered by Confluence and Scroll Viewport.