2025.05.15

MariaDB

MariaDB 10.6.22 GA版(リリース日:2025年5月6日)

注目すべき項目

ストレージエンジン

InnoDB
  • ALTER TABLEまたはOPTIMIZE TABLEとトランザクション履歴のパージの間の競合状態が修正されました。(MDEV-36122)
  • テーブルのロードに失敗した後の dict_sys_t::load_table / get_foreign_key_info でのASANエラー (MDEV-33167)
  • インデックスIDが32ビットに収まらない仮想列のインデックスのUNDOログが正しくない (MDEV-36613)
  • CREATE INDEXがFOREIGN KEY制約の修復に失敗する (MDEV-35962)
  • innodb_checksum_algorithm=full_crc32 page_compressed ページの二重書き込みリカバリが機能しない (MDEV-36180)
  • innodb_snapshot_isolation=1 でコミットされない行変更に対してエラーが発生する (MDEV-36639)
  • valgrind で main.mdl_sync が失敗する (Bug#42643 のテスト) (MDEV-36684)
  • 非推奨のパラメータ innodb_purge_rseg_truncate_frequency が認識されない (MDEV-36378)
  • dict_stats_fetch_from_ps() が排他的な dict_sys.latch を不必要に保持する (MDEV-35436)
  • 非同期フラッシュ中にページクリーナーが空きページの生成に失敗すると、停止してクラッシュする (MDEV-36226)
  • InnoDBログを不必要に永続化することにより、INSERT…SELECTのパフォーマンスが低下します。(MDEV-35813)
    Spider
    • MDEV-32157は、何よりも、Spiderラッパーを修正して大文字と小文字を区別しないようにすることを目的としています。しかし、UDF spider_direct_sqlでは依然として大文字と小文字の区別が必要になる可能性があるため、この修正は不完全でした。MDEV-35807はこれを修正します。(MDEV-35807)
    • 未テストの ha_spider::index_first_internal は、壊れたクエリを構築します (MDEV-36324)
    • inserting into ... select ... from Spiderテーブルの場合、予期しないエラー 1264 'Out of Range Value for Column'が発生します (MDEV-35874)
    • UDF spider_copy_tables を呼び出すテストが --view-protocol で失敗する (MDEV-36335)
    Connect
    • GetUserで 'free()' が重複しているため、Connectがサーバーをクラッシュさせる (MDEV-36248)

    バージョン管理されたテーブル

    • 同じタイムスタンプと同じマルチステートメントトランザクションを持つ複数のシステムバージョン管理されたDELETEに対して、InnoDBが間違ったパーティション内の行を検索するというアサーション (MDEV-36115)

    データ定義 - Alter Table

    • FULLTEXT INDEXを含むDDLのエラー処理が正しくない (MDEV-36061)
    • ALTER TABLE…SEQUENCEはInnoDBでは正しく動作しない (MDEV-36038)
    • VIRTUAL列を含むCREATE INDEXと同時にUPDATEをコミットしようとすると、サーバーがクラッシュする可能性がありました (MDEV-36281)
    • ALTER TABLE…DROP COLUMNが失敗した後のALTER TABLE…DROP COLUMNは、サーバーのクラッシュにつながる可能性がありました (MDEV-36236)

    GIS

    • 空間インデックスのレコードを削除中にサーバーが中断される (MDEV-35420)

    アップグレード

    • Windowsでアップグレードが失敗する (MDEV-36128)

      その他

      • fill_recordでフィールドポインタが初期化されない可能性がある (MDEV-36181)
      • 単一レコードと集計を含むテーブルからの誤った結果 (MDEV-35238)

      レプリケーション

      • プライマリが以前に準同期レプリケーションを無効にし、接続がすでに確立されていた場合 (および `rpl_semi_sync_master_wait_no_slave=0`)、準同期接続が停止するとプライマリサーバーがクラッシュする可能性がありました。(MDEV-36359)

        Galera

        • Galeraが26.4.22にアップデートされました
        • wsrep_ignore_apply_errors = 0の場合、Sql_cmd_dml::prepare()でアサーション thd->is_error()が失敗するためにノードがクラッシュし、ログに表示されます。 (MDEV-35946)
        • 場合によっては、MDLロックがある場合 (例えば、LOCK TABLEが実行されている場合)、トランザクションがBF中止された時にサーバーコードでメタデーロック (MDL) が不適切に処理されるために、ノードがシステムスレッドでスタックする可能性がありました。 (MDEV-35941)
        • MDEV-31413の修正後のリグレッション - wsrep::transaction::before_rollback()のアサーションによりサーバーがクラッシュすることがあります。例えば、wsrep_osu_method=RSUのARIAテーブルでOPTIMIZE TABLEを使用する場合。 (MDEV-32631)
        • プライマリノードでOLTP負荷がアクティブになっているなど、高負荷下でgtid_strict_modeが有効になっていると、SSTエラーが発生します。このエラーの典型的な症状は、診断"[ERROR] mariadbd: Error writing file 'binlog'"が表示されることです。デバッグバージョンでは、wsrep::transaction::before_rollback()関数のアサーションで、"Assertion `state() == s_executing || state() == s_preparing || state() == s_prepared || state() == s_must_abort || state() == s_aborting || state() == s_cert_failed || state() == s_must_replay' failed"というメッセージが表示されてクラッシュする可能性もあります。 (MDEV-34891)
        • Galeraでは、小さなキャッシュでシーケンスを作成すると、シグナル6エラーが発生します: [ERROR] WSREP: FSM: そのような遷移は存在しません REPLICATING -> COMMITTED. (MDEV-33850)
        • 高負荷状態では、メモリ負荷状態によりwsrep内部スレッドが終了する可能性がありますが、これはクラッシュではありません。ただし、デバッグバージョンでは、wsrep_to_isolation_begin()関数で以下のメッセージが表示されるアサーションが発生する場合があります: "int wsrep_to_isolation_begin(THD*, const char*, const char*, const TABLE_LIST*, const Alter_info*, const key_array*, const HA_CREATE_INFO*): Assertion `(0)' failed." (MDEV-36116)
        • innobase_commit() (ha_innodb.cc) でアサーション `commit_trx' が失敗しました。バイナリログが無効になっているにもかかわらず、 (MDEV-7205に従って) 今でもsql_log_bin=0を指定したINSERTがGaleraで複製されます。これにより、バイナリログが部分的にバイパスされ、2フェーズコミット (2PC) が必要になります。2PC中、まずINSERTが準備され (InnoDBでPREPARED状態になります)、コミット時に、MDEV-24035からの新しいアサーションが失敗し、ログに"Assertion 'commit_trx' failed"というクラッシュが発生します。 (MDEV-35658)
        • シーケンスが使用され、複数のGaleraノードで挿入が並列実行される場合、認証に合格した後にトランザクションが中止される可能性があります。その後ロールバックを試みると、予約済みのシーケンス値を含むバイナリログステートメントキャッシュが、途中で書き込まれる可能性があります。これにより、トランザクションは再生され、最終コミット時にのみバイナリログに書き込まれるはずであるため、ログに診断 "WSREP: FSM: no such a transition REPLICATING -> COMMITTED" が記録されクラッシュが発生します。(MDEV-33589)
        • Galeraノードが不適切なミューテックス処理のためにハングする可能性があります:スレッドは、ストリーミングレプリケーションのロールバックをトリガーしながら lock_sys.wait_mutexを保持していましたが、THD::LOCK_thd_killの取得も試みたため、ミューテックスの使用が不適切になりました。デバッグバージョンでは、これは"safe_mutex: Found wrong usage of mutex 'wait_mutex' and 'LOCK_thd_data'"のような診断につながりますが、デバッグバージョンとリリースバージョンの両方で、ノードがハングする可能性があります。(MDEV-36509)
        • あるノードのテーブルの破損によってクラスターがトランザクションに失敗したノードを排除する決定をトリガーすると、現在のマスターはそれ以上コミットできなくなり、ハングします。今後このクラッシュを回避するためには、ユーザーはGaleraライブラリをバージョン26.4.21以降に更新する必要もあります。(MDEV-34998)
        • wsrep_osu_method=TOI かつ wsrep_strict_ddl=ON の場合、パーティションテーブルの作成は許可されず、パーティションテーブルの変更や削除はできなくなります。(MDEV-27861)
        • CONNECTエンジンテーブルを作成しようとすると、エンジンチェックが正しく行われないため、ログに"non-InnoDB sequences in Galera cluster"というエラーメッセージが記録されます。(MDEV-35748)
        • wsrepが原因でcmake 4.0.0でビルドが失敗する (MDEV-36422)
        • MariaDBを10.11から11.4にアップグレードすると、wsrep_provider_optionsのsocket.ssl_cipher設定の問題により、Galeraクラスターの起動に失敗する可能性があります。このバグを回避するためには、Galeraライブラリ 26.4.21以降を含むバージョン 11.4を使用することをお勧めします。(MDEV-34738)

        パーティショニング

        • クエリキャッシュがブロックを割り当てられない場合の破損 (MDEV-34075)

        データ操作 - アップデート

        • UPDATE時のItem_args::walk_argsでのスタックループとSIGSEGV (MDEV-31647)

        サーバー

        • find_field_in_tablesでのサーバークラッシュ、find_field_in_table_refでのAssertion `name' failed (MDEV-25012)
        • 挿入対象テーブルを含む派生テーブルから挿入するとサーバークラッシュする (MDEV-32086)
        • MariaDBが実質的にroot CAP_DAC_OVERRIDEとして実行されています (MDEV-36229)
        • cmake 4.0でビルドが失敗する (MDEV-36506)

        プラグイン - Audit

        • server_audit_file_pathが長いとバッファオーバーフローが発生する (MDEV-36245)

            ロッキング

            • パーティションテーブルに対する同時のALTERとSELECTによるセグメント違反 (MDEV-31122)

            データ型

            • ST_PointFromWKBはSRID引数を無視し、常にSRIDが0であるPOINTを作成する (MDEV-32619)

              スクリプト&クライアント

              • mariadb-dumpが間違った引用文字を使用した (MDEV-36268)

                認証および権限システム

                • シーケンスに対する権限を持たないユーザーが、列のデフォルト設定を使用してシーケンスから読み込んだり変更したりできる (MDEV-36413)
                • ユーザーが、セキュリティ呼び出し元を持つビューを通じてシーケンスに不正にアクセスしている (MDEV-36380)

                変数

                • long char/varcharの統計情報を収集しないオプションを追加 (MDEV-36536)

                設定

                • my_getoptはオプション名を大文字と小文字を区別して比較する (MDEV-27126)

                オプティマイザー

                • ビューから選択する時に、group byハンドラーで定数フィールドが見つからない (MDEV-36307)

                セキュリティ

                • 次のセキュリティ脆弱性の修正:
                  • CVE-2025-30722
                  • CVE-2025-30693
                  • CVE-2023-52970
                  • CVE-2023-52969

                MariaDB Community Server 10.6.22のリリースノート(MariaDB社ウェブサイト):
                https://mariadb.com/kb/en/mariadb-10-6-22-release-notes/


                MariaDBプロダクト・サポート・サービス

                MariaDB
                MariaDBプロダクト・サポート・サービスは、MariaDBおよびその関連製品をご利用されているお客様へ、必要なソフトウェアや専門的なサポートなどを提供するサービスです。