第14章 3.2.12 の変更点

14.1. エラータ

RHBA-2019:0390- Red Hat Enterprise MRG Messaging 3.2.12 リリース

BZ#1590760 - autoDel キューの削除時における huge backtrace を使用した qpidd segfault(自動削除のみ)
最後のコンシューマーがデタッチされると、autodelete キューが削除されます。同時に、別のメカニズム(management/QMF)を使用してキューの削除を試行する場合、あるスレッドがキューと他のスレッドを削除しても、キューが存在しなくなったことを認識できる期間があります。これにより、qpidd プロセスがセグメンテーションフォールトに遭遇する可能性があります。
この問題を修正するために、ロックスキームが強化され、問題の原因となった競合状態を回避していました。
BZ#1663609 - 信頼できないネットワークへの再接続を試みると、qpid-cpp-client で CLOSE_WAIT リークが発生する
C++ クライアントが、多くのパケットをドロップする信頼できないネットワーク上で再接続を試みると、クライアントライブラリーはその終了時に TCP 接続を閉じることに失敗することがあります。接続が CLOSE_WAIT ステータスで停止し、関連するリソースが無限に保持されます。この一連のリークにより、FD の実行やブローカーへの新規クライアント接続の防止など、リソースの問題が発生する可能性があります。
障害のあるネットワークなどの問題により接続が中断された場合、ソケットは、リークを回避するために明示的に閉じられています。クライアントは、関連するリソースをリークせずに再接続できます。
BZ#1344142 - [MRG issue impacting Red Hat Satellite 6] dynflow_executor FD leak and segfault after stop qpidd
プロトタイプソケットは、実際にサーバーソケットにのみ使用される場合でも、すべてのクライアント ssl ソケットに対してプロトタイプソケットが作成されました。SslSocket インスタンスが閉じられるとプロトタイプソケットが閉じられていなかったため、ファイル記述子が漏えいしていました。
今回のリリースより、プロトタイプソケットがサーバーソケットでない限り、プロトタイプソケットは作成されず、プロトタイプが正しく消去され、ファイル記述子が漏えいしないようにします。