Jira Data Center でアクティビティ ストリームの読み込みに失敗する
プラットフォームについて: 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 は除く
要約
症状
アクティビティ ストリーム フィードを読み込めず、次のようなエラー メッセージが表示されます。 最近のアクティビティを取得しようとしてエラーが発生しました。
ブラウザの開発者ツールを見ると、次のスタックしたリクエストが待機状態であることがわかります。
<BASE_URL>/plugins/servlet/streams?maxResults=5&relativeLinks=true&_=1738248096313
診断
Jira は、VMWare によって仮想マシン (VM) にインストールされます (例: VMware ESXi, 8.0.2)。
次のスタックを含むスタックしたスレッドが Catalina のログで確認できる場合があります。
04-Feb-2025 11:32:33.204 WARNING [Catalina-utility-2] org.apache.catalina.valves.StuckThreadDetectionValve.notifyStuckThreadDetected Thread [http-nio-8080-exec-14] (id=[36]) has been active for [120,873] milliseconds (since [2/4/25 11:30 AM]) to serve the same request for [<BASE_URL>/plugins/servlet/streams?maxResults=5&relativeLinks=true&providers=&_=1738668632238] and may be stuck (configured threshold for this StuckThreadDetectionValve is [120] seconds). There is/are [1] thread(s) in total that are monitored by this Valve and may be stuck. java.lang.Throwable at java.base@17.0.7/java.io.FileInputStream.readBytes(Native Method) at java.base@17.0.7/java.io.FileInputStream.read(Unknown Source) at java.base@17.0.7/java.io.FilterInputStream.read(Unknown Source) at java.base@17.0.7/sun.security.provider.NativePRNG$RandomIO.readFully(Unknown Source) at java.base@17.0.7/sun.security.provider.NativePRNG$RandomIO.ensureBufferValid(Unknown Source) at java.base@17.0.7/sun.security.provider.NativePRNG$RandomIO.implNextBytes(Unknown Source) at java.base@17.0.7/sun.security.provider.NativePRNG$Blocking.engineNextBytes(Unknown Source) at java.base@17.0.7/java.security.SecureRandom.nextBytes(Unknown Source) at java.base@17.0.7/java.security.SecureRandom.next(Unknown Source) at java.base@17.0.7/java.util.Random.nextLong(Unknown Source) at org.apache.commons.lang3.RandomUtils.randomLong(RandomUtils.java:397) at org.apache.commons.lang3.RandomUtils.nextLong(RandomUtils.java:202) at org.apache.commons.lang3.RandomUtils.randomLong(RandomUtils.java:383) at org.apache.commons.lang3.RandomUtils.nextLong(RandomUtils.java:192) at com.atlassian.streams.internal.FeedBuilder.getFeed(FeedBuilder.java:78) at com.atlassian.streams.internal.servlet.StreamsActivityServlet.doGet(StreamsActivityServlet.java:70) ...
次の通り、低いエントロピー レベルがシステムで報告されています。
cat /proc/sys/kernel/random/entropy_avail
(e.g., output shows a value of 40)
A value below 100-200 bits might indicate that the system is low on entropy.
原因
このスタック トレースは、ストリームデータを収集するスレッドが (疑似乱数生成器を介した) 疑似乱数の生成処理中に、`/dev/random` からのデータを待っているときにスタックしていることを示しています。
これは、エントロピー ソースが制限されやすい仮想環境では、特に一般的に起こる問題です。仮想マシンはハードウェア割り込みに直接アクセスできない場合があるため、生成されるエントロピーが少なくなります。
これは、複数のアプリやサービスが同時に乱数を要求している場合 (例: 安全な接続、暗号化トークンの生成など) VM の外部で発生することもあり、エントロピー プールが補充されるよりも早く枯渇していることが考えられます。
ソリューション
ソリューション
Haveged (HArdware Volatile Entropy Gathering Daemon の略) をご利用ください。とりわけ従来のエントロピー ソースが不十分な環境において、Linux システムで乱数の可用性を向上させるために設計されたデーモンです。これは、VMware 上で稼動しているような仮想環境で特に役立ちます。そうした環境では、エントロピー プールが枯渇し、安全な乱数生成に依存するアプリに問題が発生する可能性があります。
Debian ベースのシステム
# Installed the haveged package:
sudo apt update
sudo apt install haveged
# Started the haveged service:
sudo systemctl start haveged
# Enabled the service to run at system startup:
sudo systemctl enable haveged
RPM ベースの Linux ディストリビューション
# Installed the haveged package:
sudo yum install haveged
# Started the haveged service:
sudo systemctl start haveged
# Enabled the service to run at system startup:
sudo systemctl enable haveged
関連コンテンツ
展開して関連コンテンツを見る
この内容はお役に立ちましたか?