NSX は JDK-8330017 の影響を受けます: ForkJoinPool は ctl フィールドのリリースカウント (RC) オーバーフローによりタスクの実行を停止します
search cancel

NSX は JDK-8330017 の影響を受けます: ForkJoinPool は ctl フィールドのリリースカウント (RC) オーバーフローによりタスクの実行を停止します

book

Article ID: 422087

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

免責事項:これは英文の記事「NSX is Impacted by JDK-8330017: ForkJoinPool Stops Executing Tasks Due to ctl Field Release Count (RC) Overflow」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


一部の VMware NSX バージョン(「環境」セクションを参照)は、重大な JDK バグ(JDK-8330017)の影響を受けます。このバグでは、Java ForkJoinPool がスレッドの総数を誤って制限を超えていると判定し、新しいスレッド要求がブロックされます。その結果、NSX サービスのトランザクション処理スレッドが応答しなくなります。

この問題が発生すると、以下のいずれかの症状が発生します。


NSX アップグレード JDK 事前チェックの警告 - NSX Manager の再起動が必要です

Environment

  • VMware NSX 4.2.0.x
  • VMware NSX 4.2.1.0, 4.2.1.1, 4.2.1.2, 4.2.1.3
  • VMware NSX 9.0.0.0

Cause

この問題は、ForkJoinPool の内部制御構造の Release Count (RC) フィールドがオーバーフローするという JDK のバグ (JDK-8330017) によって発生します。 RC値は-32768に達するまで減少し続け、その後+32767(ForkJoinPool.MAX_CAP)にオーバーフローし、スレッドプールはタスクの実行を停止します。

これは、以下のNSXサービスに影響します。

  • コントローラサービス - ネットワークプロビジョニング、ファイアウォールルール、およびvMotion操作に影響します。
  • アップグレードコーディネーターサービス - アップグレード操作に影響し、OOMエラーが発生します。
  • Corfuサービス - データの保存および取得操作に影響します。

この問題は時間の経過とともに蓄積され、構成の変更(アップグレード、VM の移行)時やメモリ制限に達したときに顕在化します。

Resolution

この問題は、Broadcom ダウンロードから入手可能な VMware NSX 4.2.1.4、4.2.2.0、9.0.1.0 以降で解決されています。ソフトウェアの検索やダウンロードに問題がある場合は、Broadcom 製品およびソフトウェアのダウンロード KB をご確認ください。

Broadcom では、この問題に関連する潜在的な問題を回避するため、修正リリースバージョンにアップグレードする前に、NSX Manager のローリング再起動を推奨しています。

影響を受けるバージョンを実行している環境(「環境」セクションを参照)では、予防的な月次ローリング再起動スケジュールを実施してください。

  1. 最初の NSX Manager を再起動します。
  2. 管理者ユーザーとしてManagerにSSH接続し、クラスタの健全性を確認します。get cluster status
  3. 3台のNSX Managerノードすべてですべてのサービスが稼働していることが報告されたら、次のManagerを再起動します。
  4. 3台目のManagerについても手順2~3を繰り返します。

このエラーによりトランスポートノード上のトンネルがダウンし、Managerのローリングリブート後もダウンしたままの場合は、トンネルを復旧するためにトランスポートノード上のサービスを再起動する必要がある場合があります。影響を受けるホストで以下のコマンドを実行してください。

/etc/init.d/nsx-opsagent restart

/etc/init.d/nsx-proxy restart  

: 現在この問題が発生している場合は、影響を受けるサービスを再起動するか、影響を受ける N​​SX Manager ノードを再起動することで、当面の症状は解決します。ただし、NSX を(この問題が解決されたバージョンに)アップグレードしないと、時間の経過とともに問題が再発します。