追加・変更された機能
- NDB 7.5はOpenSSL 3.0をサポートするように構築されています。(WL #15614)
主なバグ修正
- NOWAITを使用したバックアップは、データノードの再起動後に開始されませんでした。(バグ #35389533)
- コミットされていないトランザクションに対して遅延トリガーが保留されたままになっている場合、後続のトランザクションは遅延トリガーの不必要なチェックを実行してリソースを浪費する可能性がありました。後者のトランザクションにコミット可能な操作がない場合、これによりデータノードが計画外にシャットダウンされる可能性がありました。
これは、DBTCが使用する管理オブジェクトの制御状態が再初期化されない場合があるためでした。
この問題は、そのようなオブジェクトが使用される前に状態の初期化が実行されるようにすることで修正されます。(バグ #35256375) - 非常に大きく重複する可能性のあるIN()リストとNOT IN()リストを特徴とするクエリ間のプッシュダウン結合は、SQLノードが予期せず終了する原因となりました。この問題を引き起こすためには、1つ以上のIN()(またはNOT IN())演算子が2500を超える引数を必要としました。(バグ #35185670、バグ #35293781)
- サイズ MAX_KEY_SIZEのキーに割り当てられたバッファのサイズが不十分でした。(バグ #35155005)
- ndbclusterハンドラーによるpush_warning_printf()への呼び出しの一部で重大度レベル ERRORが使用され、デバッグビルドでアサーションが発生しました。この修正により、そのような全ての呼び出しが代わりに重大度 WARNINGを使用するように変更されます。(バグ #35092279)
- データノードとAPIまたは管理ノード間の接続が確立されているが、他のノードからデータノードへの通信のみが利用可能な場合、データノードはハートビートを受信しているため、他のノードを”live”とみなしますが、他のノードはハートビートを監視しておらず、そのため、接続に関する問題は報告されませんでした。これは、データノードが他のノードが(完全に)接続されていると誤って想定したことを意味します。
この問題は、APIまたは管理ノード側で、最初のREGCONF信号を受信する前であってもデータノードの活性度の監視を開始することで解決します。もう一方のノードは100ミリ秒ごとにREGREQ信号を送信し、60秒以内にデータノードからREGCONFの応答を受信しなかった場合にのみ、ノードは切断されたと報告されます。(バグ #35031303) - ログには、DICT: index index number stats auto-update requestedの形式を持つ大量のメッセージが含まれており、更新を要求するDBTUXからレポートを受信する度にDBDICTブロックによって記録されました。これらのリクエストはテーブルへの書き込み中に立て続けに発生することが多く、この場合、同じインデックスに対する更新リクエストが重複してログに記録されている可能性があります。
現在は、DBDICTが実際に計算を実行する直前に、そのようなメッセージをログに記録します。これにより、重複したメッセージが削除され、異なるインデックスに関連するメッセージが配置されます。この修正により追加のデバッグログメッセージも導入され、行われた決定と実行された計算の可視性が向上します。(バグ #34760437)
全ての変更点やバグ修正については、以下のページをご覧ください。
MySQL NDB Cluster 7.6.27 リリースノート(MySQLウェブサイト):
https://dev.mysql.com/doc/relnotes/mysql-cluster/7.6/en/news-7-6-27.html
MySQL Editions
MySQLのサブスクリプションは、24時間365日体制でお客様をサポートいたします。さらに MySQL Enterprise Edition では、データベース管理者支援ツール MySQL Enterprise Monitor やバックアップツール MySQL Enterprise Backup をご利用いただけます。