第4章 修正された問題
ENTMQBR-1942 - AMQ 7.2、共有ストア、スケールダウンスレーブがアクティブ化されてスケールダウンしようとすると、NullPointer 例外が発生する
以前は、共有ストアを使用してクラスターでスケールダウンするようにスレーブブローカーを設定した場合、マスターブローカーがオフラインになった場合に、スレーブで例外が発生する可能性がありました。この問題は解決されています。
ENTMQBR-3103 - [AMQ7, AMQP, Openwire] OpenWire コンシューマーを使用した AMQP メッセージの消費に関する問題
以前は、メッセージが OpenWire から AMQP に変換されてから OpenWire に戻された場合、そのメッセージは OpenWire クライアントによって消費されなくなりました。たとえば、この状況は次の場合に発生する可能性があります。
1) OpenWire クライアントがブローカーにメッセージを送信した
2) AMQP クライアントがメッセージを消費した
3) AMQP クライアントがメッセージをブローカーに返した
4) OpenWire コンシューマーがメッセージを消費しようとした
この問題は解決されています。
ENTMQBR-3130 - ブローカーの再デプロイ後に Broker Operator がアドレスを再作成しない
以前は、Custom Resource (CR) インスタンスを使用して Operator ベースのブローカーデプロイメントでアドレスを作成した場合、ブローカーを削除してから再デプロイすると、Operator はそれらのアドレスを再作成しませんでした。この問題は解決されています。
ENTMQBR-3137 - Broker Operator がスケールアップ時に CR で作成されたアドレスを自動的にデプロイしない
以前のリリースでは、カスタムリソース (CR) インスタンスを使用して Operator ベースのブローカーデプロイメントでアドレスを作成し、そのデプロイメントのサイズをスケールアップした場合、Operator は既存のアドレスを新しいブローカーインスタンスに自動的にデプロイしませんでした。代わりに、スケールアップされたブローカーのデプロイ用に CR を再デプロイする前に、アドレス CR を削除する必要がありました。この問題は解決されています。ブローカーデプロイメントのサイズをスケールアップすると、Operator は既存のアドレスを新しいブローカーインスタンスに自動的にデプロイします。
ENTMQBR-3228 - アドレス CR の処理時に Operator Pod が正しく認証されない
以前のリリースでは、AMQ Broker Operator を使用して、ログインが必要なブローカー Pod を作成した場合 (つまり、デプロイに使用されるカスタムリソース (CR) で
requireLogin
をtrue
に設定することにより)、ブローカーで作成しようとしたすべてのアドレスが、CR 経由では作成されませんでした。この問題は解決されています。
ENTMQBR-3328 - FQQN のサポートは、キュー名がアドレスと等しいエニーキャストキューに限定されていますというエラーが発生する
以前のリリースでは、クライアントが
artemis producer
コマンドを使用してanycast
ルーティングタイプのキューにメッセージを送信するときに完全修飾キュー名 (FQQN) を指定した場合、キューとそのアドレスの名前が異なる場合、ブローカ接続はエラーを返しました。、たとえば、fqqn://exampleaddress::examplequeue
。この問題は解決されています。
ENTMQBR-3356 - メッセージのスループットが高い場合、AMQP の消費が停止する
以前は、レプリケーションの高可用性 (HA) ポリシーを使用するように設定されたライブバックアップグループ内のブローカーで AMQP メッセージのスループットが非常に高かった場合 (つまり、1 秒あたり 10,000 メッセージ以上のレート)、メッセージの消費が停止することがありました。さらに、ブローカーとクライアントは、Could not complete operations (ブローカー) やRemote did not respond to a drain request in time (クライアント) などのエラーを表示する場合があります。この問題は解決されています。
ENTMQBR-3365 - AMQP のページングが壊れている
デフォルトでは、ページキャッシュが削除された後に最初にメッセージを受け取ると、ブローカーはページ全体をキャッシュに読み込みます。この動作は
read-whole-page
設定パラメーターによって指定され、デフォルト値はtrue
です。read-whole-page
の値をfalse
に設定すると、ブローカーは代わりにメッセージごとにメッセージをページキャッシュに読み込みます。以前は、AMQP プロトコルを使用している場合、メッセージをメッセージごとにキャッシュに読み戻すことは できませんでした。AMQP を使用していた場合は、
read-whole-page
の値がtrue
に設定されていることを確認する必要がありました。この問題は解決されています。
ENTMQBR-3370 - LegacyLDAPSecuritySettingPlugin ignores group changes
以前は、LDAP サーバーで更新を行った場合、ブローカーで設定された
LegacyLDAPSecuritySettingPlugin
セキュリティー設定プラグインが変更をすぐに検出しない場合がありました。たとえば、LDAP サーバー上の既存のグループに新しいユーザーを追加した場合、プラグインは、同じグループ内の既存のユーザーと同じブローカー権限を持つ新しいユーザーをすぐには承認しませんでした。代わりに、このような変更を有効にするには、ブローカーを再起動する必要がありました。この問題は解決されています。
ENTMQBR-3372 - Base64 でエンコードされた keyStorePassword と trustStorePassword の値に/が含まれている場合、Operator を使用して作成されたブローカーの起動に失敗する
以前は、ブローカーで Transport Layer Security (TLS) を設定するときに指定した Base64 エンコードされた
keyStorePassword
およびtrustStorePassword
値に / (つまり、スラッシュ) 文字が含まれていると、Operator を使用して作成されたブローカーインスタンスを開始できませんでした。この問題は解決されています。
ENTMQBR-3380 - AMQP 共有非永続キューが Core と同じように削除されない
以前は、キューに接続されたコンシューマーがなくても、キューに少なくとも 1 つのメッセージが含まれている場合、ブローカーは AMQP プロデューサーによって作成された共有の非永続キューを自動的に削除しませんでした。この問題は解決されています。コアプロトコルの場合と同様に、ブローカーは、共有された永続的でない AMQP キューを 一時的な ものとしてマークするようになりました。これは、接続されたコンシューマーが存在しない場合、ブローカーがそのようなキューを自動的に削除することを意味します。
ENTMQBR-3383 - アドレスのカスタムリソースインスタンスを削除すると、アドレスとメッセージが削除される
以前は、ブローカデプロイメントでアドレスを作成するために使用されたカスタムリソース (CR) インスタンスを削除すると、デプロイメント内のすべてのブローカの既存のアドレスと関連メッセージも削除されました。この問題は解決されています。アドレス CR の
removeFromBrokerOnDelete
と呼ばれる新しい設定項目を使用すると、基礎となるアドレス CR を削除するときに、Operator がブローカーデプロイメント内の既存のアドレスを削除するかどうかを指定できます。デフォルトでは、removeFromBrokerOnDelete
はfalse
に設定されています。これは、既存のアドレスが削除され ない ことを意味します。
ENTMQBR-3386 - AMQ7、メッセージの期限切れ、自動削除 自動作成されたキューが、メッセージの有効期限が切れたときに自動削除されない場合がある
以前は、コンシューマーがキューに接続したことがなく、キュー上のすべてのメッセージが期限切れになった場合、ブローカーは自動作成されたキューを削除しませんでした。この問題は解決されています。この状況では、ブローカーは自動作成されたキューを削除します。
ENTMQBR-3409 - JMX/Jolokia addSecuritySettings - ブローカが再起動するまで権限が処理されない
以前は、Jolokia を使用してアドレスのセキュリティー設定を動的に設定した場合、ブローカーは更新を検出しませんでした。代わりに、変更を有効にするためにブローカーを再起動する必要がありました。この問題は解決されています。
ENTMQBR-3432 - メッセージのスループットが高いと OpenWire の消費が停止する
以前は、レプリケーションの高可用性 (HA) ポリシーを使用するように設定されたライブバックアップグループ内のブローカーが OpenWire メッセージの非常に高いスループット (つまり、1 秒あたり 10,000 メッセージ以上のレート) を経験した場合、メッセージの消費が停止する可能性がありました。さらに、ブローカーとクライアントは、Could not complete operations (ブローカー) やRemote did not respond to a drain request in time (クライアント) などのエラーを表示する場合があります。この問題は解決されています。
ENTMQBR-3490 - createSession () メソッドが java.lang.NullPointerException を出力する
以前は、
javax.jms.Connection.createSession()
を使用して接続でセッションを作成すると、null ポインター例外が発生することがありました。具体的には、この例外は、複数のスレッドが接続を使用していて、createSessionInternal
メソッドが同時に別のスレッドでセッションを作成しようとしたときに、1 つのスレッドが接続を閉じた場合に発生する可能性がありました。この問題は解決されています。現在、このタイプの例外の発生を防ぐ同時実行保護があります。
ENTMQBR-3597 - 起動時にステートフルセットが再作成される
以前は、Operator ベースのブローカーデプロイメントを作成するためにカスタムリソース (CR) インスタンスをデプロイした場合、Operator はデプロイメント用の StatefulSet を作成し、すぐに StatefulSet を削除してからもう一度作成していました。この問題の結果、デプロイ用に作成されたブローカー Pod が開始され、すぐに終了し、その後再び開始されました。この問題は解決されています。