2022.10.25

MySQL

MySQL NDB Cluster 7.5.28 GA版(リリース日:2022年10月12日)

主なバグ修正

  • NdbScanOperationエラーは、おそらくクライアントが他の処理を行っている間に、クライアントに非同期で返されます。NdbTransaction::execute()への呼び出しの成功は、スキャンリクエストがアセンブルされ、エラーなしでトランザクションコーディネーターに送信されたことのみを保証します。データノードから返されるCONFまたはREF信号を待機しません。この特定のケースでは、予期されたTAB_SCANREFシグナルが、おそらくクライアントがまだ他の操作を実行している間に、非同期的にクライアント空間に返されました。
    TAB_SCANREFエラーが受信された時にNdbTransactionエラーコードを設定しないことで、この動作をより確定的にします。 (バグ #34348706)
  • キーごとの複数の処理中の操作を伴うバッチ処理、IgnoreErrorの使用、非プライマリレプリカで発生する一時的なエラーの組み合わせにより、場合によってはDBTUP内で不整合が発生し、レプリカの不整合やその他の問題が発生しました。非プライマリレプリカで操作が失敗した時を検出し、そのような場合に含まれているトランザクションに対して AbortOnError処理(ロールバック)を強制することで、これが発生するのを防ぎます。 (バグ #34013385)
  • 変更率が高い場合、イベントサブスクライバーが受信を確認するのが遅い場合、または、その両方の場合、SUMAブロックがイベントをバッファするためのスペースを使い果たす可能性がありました。 (バグ #30467140)
  • ALTER TABLE ... COMMENT="NDB_TABLE=READ_BACKUP=1" または ALTER TABLE..COMMENT="NDB_TABLE=READ_BACKUP=0"は、テーブルに対して非コピー(オンライン)ALTER操作を実行して、そのREAD_BACKUPプロパティを追加または削除します。これは、テーブルの全てのインデックスのインデックスバージョンをインクリメントします。以前のインデックスバージョンを使用して保存された既存の統計は孤立し、削除されることはありませんでした。これにより、インデックス統計を収集する際にメモリが浪費され、検索が非効率的になりました。
    インデックスサンプルをクリーンアップすることで、これらの問題に対処します。サンプルバージョンが現在のサンプルバージョンより大きいまたは小さいサンプルは全て削除されます。さらに、既存の統計がインデックスのIDとバージョンによって見つからない場合、およびインデックスが削除された場合。この最後のケースでは、削除操作の境界を緩和し、インデックスのIDとインデックスのバージョンの両方ではなく、問題のインデックス IDに対応する全てのエントリを削除します。
    この修正により、大量のインデックス統計データを格納するサンプルテーブルがクリーンアップされます。実際の統計ではなくインデックスメタデータで構成されるヘッドテーブルには、孤立した行がまだ含まれていますが、これらはわずかな量のメモリを占有するため、統計の検索効率に悪影響を与えることはなく、古いエントリはインデックスのIDとバージョンが再利用される時にクリーンアップされます。
    (バグ #29611297)

全ての変更点やバグ修正については、以下のページをご覧ください。
MySQL NDB Cluster 7.5.28 リリースノート(MySQLウェブサイト):

https://dev.mysql.com/doc/relnotes/mysql-cluster/7.5/en/news-7-5-28.html


MySQL Editions

MySQL Editions
MySQLのサブスクリプションは、24時間365日体制でお客様をサポートいたします。さらに MySQL Enterprise Edition では、データベース管理者支援ツール MySQL Enterprise Monitor やバックアップツール MySQL Enterprise Backup をご利用いただけます。