2023.11.17

MariaDB

MariaDB 10.6.16 GA版(リリース日:2023年11月13日)

注目すべき項目

InnoDB

  • DROP INDEXに続いてCREATE INDEXを実行すると、データが破損する可能性がある (MDEV-32132)
  • ROW_FORMAT=COMPRESSEDテーブル: InnoDB: 2048 bytes should have been read. Only 0 bytes read. (MDEV-31875)
  • テーブルに外部インデックスがない場合、Alter操作中にサーバーが異常終了する (MDEV-32527)
  • row_merge_fts_doc_tokenize()がFTSプラグインパーサーを一貫して処理しない (MDEV-32578)
  • InnoDB: 仮想列プレフィックスのインデックスの削除マークのないレコードをパージしようとした (MDEV-30024)
  • information_schema.innodb_metricsのlock_row_lock_current_waitsカウンターが負になる場合がある (MDEV-30658)
  • innodb_read_only=ONの場合、SET GLOBAL innodb_max_purge_lag_wait=…がハングする (MDEV-31813)
  • 明示的なFTS_DOC_IDに対して自動インクリメントが機能しなくなった (MDEV-32017)
  • dict_table_get_nth_colのAssertion `pos < table->n_def' failed (MDEV-32337)
  • innochecksumのマニュアルページがバイナリ (10.2.25)と矛盾しているようです (MDEV-20583)
  • innodb_compression_algorithm=0 (none)はInnodb_num_pages_page_compression_errorをインクリメントする (MDEV-30825)
  • innodbの"row too big"エラーでテーブル名が間違っている (MDEV-32128)
  • is_file_on_ssd()を最適化して、Windowsでテーブルスペースを開く速度を向上させる (MDEV-32228)
  • ページ書き込み完了とログチェックポイントの間の競合状態 (MDEV-32511)
  • クラッシュ回復後のChecksum mismatch + Failing assertion: !i || prev_id + 1 == space_id (MDEV-31851)
  • trx_purge_truncate_rseg_history()およびtrx_undo_assign_low()に関連するlog_free_check()によるデッドロック (MDEV-32049)
  • 解放されたページの先行書き込みログが壊れる (MDEV-32552)
  • RRのプリペアドトランザクションの上限に対するXロック (MDEV-30165)
  • クラッシュ回復時のlog_sort_flush_listでのアサーションエラー (MDEV-32029)
  • ページ書き込み完了とログチェックポイントの間の競合状態 (MDEV-32511)
  • アサーション `purge_sys.tail.trx_no <= purge_sys.rseg->last_trx_no()' (MDEV-30100)
  • btr_search_guess_on_hashでのAssertion `index->is_btree() || index->is_ibuf()' failed (MDEV-30802)
  • buf_flush_wait_LRU_batch_end()でInnoDBがハングする (MDEV-32134)
  • バッファプールが不足するとInnoDBがハングすることがある (MDEV-32588)
  • FOREIGN KEYを使用するとビジーテーブルのインデックスが破損する (MDEV-30531)
  • 暗号化設定が渡されなかった場合、InnoDB Recoveryで暗号化メッセージが表示されない (MDEV-31098)
  • information_schema.SYSTEM_VARIABLESのinnodb_checksum_algorithmに関する誤った情報 (MDEV-31473)
  • InnoDBがfil_delete_tablespace()で強制終了された後に回復に失敗することがある (MDEV-31826)
  • 非同期AIO用に別のtpoolスレッドを作成する (MDEV-31095)
  • 書き込み集中型ワークロードのUNDOログが依然として増加している (MDEV-32050)
    • innodb_purge_batch_sizeのデフォルトを300から1000に増やす (MDEV-32050)
    • innodb_purge_rseg_truncate_frequencyを廃止する。
    • これをMySQLに導入した動機は、UNDOログページの解放やUNDOログテーブルスペースの切り捨てによるストールを回避するためだったようです。MariaDBでは、innodb_undo_log_truncate=ONはログチェックポイントを含まないため、その操作ははるかに軽いはずです。 (MDEV-32050)
  • (遅い)I/Oバウンドの場合、10.6と10.5ではフルインデックススキャンが遅い (MDEV-30986)
  • パーティションを使用したInnoDBへのデータのロード: パフォーマンスの大幅な低下、10.6以降で影響を受ける (MDEV-31835)
  • 一時テーブルスペースの先読みを無効にする (MDEV-32145)

オプティマイザ

  • 相関サブクエリ内のHAVINGが外部クエリ内の列を参照するとクラッシュする (MDEV-29731)
  • TABLE::add_tmp_keyでサーバーがクラッシュする (MDEV-32320)
  • my_decmal::to_binaryのファイルソート内でサーバーがクラッシュする (MDEV-32324)
  • アサーション `bitmap_is_set(&m_part_info->read_partitions, m_part_spec.start_part)'がha_partition::handle_owned_index_scanで失敗しました (MDEV-24283)
  • 派生テーブルの最適な分割を検索するとクラッシュする (MDEV-32064)
  • opt_tvc.testのテストケースがステートメントメモリ保護で失敗する (MDEV-32225)
  • 多くの外部結合を含むクエリの大幅な速度低下 (MDEV-32351)
  • test_if_skip_sort_order()は、結合タイプ JT_EQ_REF、JT_CONST、およびJT_SYSTEMをキャッチし、これらのソート順序をスキップする必要がある (MDEV-32475)
  • ジョイント可能なマテリアライゼーションのサブクエリの最適化でエラーが無視され、ASSERTが失敗します。 (MDEV-31983)
  • ビューを使用した誤ったクエリの後、JOIN::cleanupでサーバーがクラッシュする (MDEV-32164)
  • プリペアドステートメントが間違った結果(行が欠落している)を返す (MDEV-9938)
  • アサーション `range->rows >= s->found_records'がbest_access_pathで失敗しました (MDEV-32682)

レプリケーション

  • temptableのコミット最適化が正しくないため、rpl.rpl_parallel_temptableが失敗する (MDEV-10356)
  • INSERT-SELECT、autoinc、およびステートメントベースのレプリケーションでのロック待機タイムアウト (MDEV-31482)
  • INSERTのmy_vsnprintf_utf32でstrings/ctype-ucs2.c:2336: my_vsnprintf_utf32: Assertion `(n % 4) == 0'が失敗した (MDEV-32249)
  • CREATE SEQUENCEの並列レプリケーション時にMDL_context::acquire_lockでアサーションが失敗する (MDEV-31792)
  • エラーが発生したスレーブ再起動時のSHOW SLAVE STATUS Last_SQL_Errno競合状態 (MDEV-31177)
  • 遅延レプリケーションの場合、seconds_behind_masterが不正確である(MDEV-32265)
  • 準同期レプリケーションのマジックナンバーエラーの詳細を説明する (MDEV-32365)
  • 並列レプリケーションのdeadlock victim設定コードが誤って削除される (MDEV-31655)
  • innobase_kill_query()がロック待機の中断に失敗する可能性があるため、並列レプリケーションが遅れる (MDEV-32096)

Galera

  • アサーション `state() == s_executing || state() == s_prepared || state() == s_committing || state() == s_must_abort || state() == s_replaying'が失敗した (MDEV-24912)
  • アサーション `state() == s_executing || state() == s_preparing || state() == s_prepared || state() == s_must_abort || state() == s_aborting || state() == s_cert_failed || state() == s_must_replay' が失敗した (MDEV-31285)
  • wsrep_sst_mariabackupがFreeBSDで動作しない (MDEV-31467)
  • Galeraライブラリ 26.4.16が全てのサーバーバージョンで失敗する (MDEV-32024)
  • FTWRLをインターリーブした後、Galeraノードが一時停止したままになる (MDEV-32282)
  • ストリーミングクライアントの挿入に失敗した (MDEV-32051)
  • 実行時に設定すると、wsrep_sst_methodは任意の値を受け入れる (MDEV-31470)
  • galeraを正常にビルドするためには、パッケージ化スクリプトの変更が必要です (MDEV-32642)
  • オプティミスティックレプリケーションを使用し、レプリカがgaleraノードである場合、レプリケーションが中断される (MDEV-31833)
  • McAfeeデータベースの脆弱性スキャンにより、シグナル 6(システム中止)でMariaDBがクラッシュする (MDEV-27004)
  • アサーション `mode_ == m_local || transaction_.is_streaming()'がint wsrep::client_state::bf_abort(wsrep::seqno)で失敗した (MDEV-30217)

データ定義

  • 関数呼び出し時にMariaDBがクラッシュする (MDEV-23902)
  • インデックス操作時のgrn_obj_unlink / ha_mroonga::clear_indexesでのASANエラー (MDEV-31970)
  • vcol循環参照によりスタックオーバーフローが発生する (MDEV-31112)
  • OPTIMIZE TABLEのクラッシュ (MDEV-28122)
  • CREATE TABLE時にAlter_info::add_stat_drop_indexでサーバーがクラッシュする (MDEV-32449)

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

  • mariadb-binlog -T/--table (mysqlbinlog) オプション (MDEV-25369)
  • simple_password_checkでのmariadb-admin(mysqladmin)の間違ったエラー (MDEV-22418)
  • mariadb-install-dbでディレクトリ $pamtooldir/auth_pam_tool_dirが見つからないという警告が表示される (MDEV-32142)
  • ASANビルドでmain.mysql_client_test、main.mysql_client_test_compがerror: 5888, status: 23, errno: 2で失敗しました (MDEV-19369)
  • mariadb-install-db(mysql_install_db)が全てのデフォルトのrootユーザーアカウントにプロキシ権限を適切に付与しない (MDEV-21194)

テスト

  • main.events_stressまたはevents.events_stressがview-protocolで失敗する (MDEV-31455)
  • main.delete_use_sourceがview-protocolで失敗(ハング)する (MDEV-31457)
  • main.sum_distinct-bigとmain.merge-bigがview-protocolでタイムアウトで失敗する (MDEV-31465)
  • main.secure_file_priv_winが2回目の実行PSプロトコルで失敗する (MDEV-32023)
  • Windows : MTR_PARALLELが大きいとmtr出力が混乱する (MDEV-32387)
  • main.mysql_client_test_compがbuildbotで失敗し、実行時にエラーが発生した (MDEV-16641)
  • main.order_by_pack_bigがview-protocolで失敗する (MDEV-31460)
  • mysql_install_db_win.testが2回目の実行で失敗する (MDEV-32232)

MariaBackup

  • MariaBackupの完全バックアップが、storage/innobase/fil/fil0fil.cc line 657のInnoDB: Failing assertion: successで失敗した (MDEV-18200)
  • mbstreamがXFSでのページ圧縮を中断する (MDEV-25734)

文字セット、データ型、照合順序

  • CHARのプレフィックスキーの動作がMyISAMとInnoDBで異なる (MDEV-30048)
  • NOPADを使用したDISTINCTの結果が矛盾する (MDEV-30050)
  • INSERTのmy_lengthsp_utf32でアサーション `(length % 4) == 0'が失敗した (MDEV-28835)
  • 結合されたテーブルの列を並べ替える時に、圧縮されたvarchar値が結合で失われる (MDEV-31724)
  • UBSANシフト指数 Xは、sql/field.ccの64ビット型 'long long int'には大きすぎる (MDEV-32226)
  • COALESCEを使用したビットエンコーディングが間違っている (MDEV-32244)

Spider

  • Spider UBSANのst_spider_param_string_parse::restore_delimsでのruntime error: applying non-zero offset x to null pointer (MDEV-31117)
  • Spider_delete_all_rowsを0に設定してSpiderテーブルの全ての行を削除する時のセグメンテーション違反、spider_db_delete_all_rowsでASAN heap-use-after-free (MDEV-31996)
  • spider_fields::free_conn_holderまたはspider_create_group_by_handlerでのASANエラー (MDEV-28998)
  • ASAN: spider_db_mbase_row::append_to_strのヒープバッファオーバーフローとスタックバッファオーバーフロー | Binary_string::q_append、Static_binary_string::q_append、my_strntoull10rnd_8bitのmemcpyからのmemmove_avx_unaligned_ermsのSIGSEGV | 不明なエラー 12801 (MDEV-29502)

一般

  • binlog_do_dbオプションによりSQLダンプのインポートが中断される (MDEV-29989)
  • lower-case-table-names=2のMDL_key::mdl_key_initでクラッシュする (MDEV-32025)
  • FOR..DOでITERATEを使用すると、エラー 'Illegal parameter data types row and bigint for operation '+' 'が発生する (MDEV-32275)
  • SET STATEMENT時のLEX::set_arena_for_set_stmtでアサーション `arena_for_set_stmt== 0'が失敗する(MDEV-17711)
  • my_mb_wc_filenameのASAN use-after-poisonにより、ARMでmain.mysqlcheckが失敗する (MDEV-26494)
  • main.deadlock_ftwrlの後に実行すると、main.delayedが間違ったエラーコードまたはタイムアウトで失敗する (MDEV-27523)
  • Assertion failed: !pfs->m_idle || (state == PSI_SOCKET_STATE_ACTIVE) (MDEV-28561)
  • MyISAMのサーバーステータスフラグが間違っている (MDEV-28820)
  • CREATE TABLE .. SEQUENCE=1 AS SELECT ..の時にcheck_sequence_fieldsでサーバーがクラッシュする (MDEV-29771)
  • スローログ Rows_examinが範囲外です (MDEV-30820)
  • "rpm --setugids"によりPAM認証が中断される (MDEV-30904)
  • ストアドファンクションを使用した場合に行が正しく検査されない(MDEV-31742)
  • MacOSでコンパイルが失敗する (不明な警告オプション -Wno-unused-but-set-variable) (MDEV-31890)
  • 圧縮された列を含むMroongaテーブルに挿入するとサーバーがクラッシュする (MDEV-31966)
  • 一意のハッシュにより仮想BLOBのインデックスが破損する (MDEV-32012)
  • 空のテーブルへの挿入がハッシュが一意であるため失敗する (MDEV-32015)
  • dynamic_column_update_move_leftでのValgrind/MSAN警告 (MDEV-32140)
  • MDEV-6146テストスイートでメモリリークが表示された (MDEV-32223)
  • subselect.testからのテストがステートメントのメモリ保護により失敗する (MDEV-32245)
  • INサブクエリを含むクエリに対してPSを実行するとメモリリークが発生する (MDEV-32369)
  • FKの参照される列でAuto_incrementの設定を許可する (MDEV-32018)
  • sql_safe_updates = on の場合、mariadb-upgradeが失敗する (MDEV-29914)
  • アサーション `!(thd->server_status & (1U | 8192U))'がMDL_context::release_transactional_locksで失敗した (MDEV-32541)
  • 情報スキーマにより、テーブルの名前と構造が権限のないユーザーにリークする (MDEV-32500)
  • WolfSSLにCHACHA20-POLY1305サポートがない (MDEV-31653)
  • JSON型仮想列に関する循環参照に関する誤ったエラー (MDEV-32586)
  • MariaDBのTLS v1.0および1.1を無効にする (MDEV-31369)
  • ProtectHomeによる起動拒否の表示が改善された (MDEV-25177)
  • データベースのアップグレードが失敗する: slow_logテーブル (MDEV-27757)
  • エンジンが無効な場合にインストールされるmyrocks_hotbackup.1およびテストスイートファイル (MDEV-29993)
  • client_ed25519.dllはHeidiSQLには含まれていません。 (MDEV-31315)
  • int FixedBinTypeBundle::cmp_item_fbt::compareまたは cmp_item_inet6::compareでアサーション `!m_null_value'が失敗した (MDEV-27207)
  • type_test.type_test_doubleが'NUMERIC_SCALE NULL'で失敗する (MDEV-22243)
  • get_quick_selectのLeakSanitizerエラー、または、Assertion `status_var.local_memory_used == 0 || !debug_assert_on_not_freed_memory' failed (MDEV-32476)
  • シグナルハンドラーのユーザー情報を更新し、思いやりと正しいURLを追加 (MDEV-32535)
  • MacOSでmaria-install-dbが失敗する (MDEV-31871)
  • パーティションテーブルからのクエリ時に、Item_func_like::get_mm_leafでMSAN / Valgrindエラーが発生する (MDEV-32388)
  • 一時フィールドを含むItem_func_like::get_mm_leafでのMSAN / Valgrindエラー (MDEV-32531)
  • PSの2回目の実行時に、base_list_iterator::next / setup_table_mapでASANエラーが発生する (MDEV-32656)
  • safe_mutex: Found wrong usage of mutex 'LOCK_thd_data' and 'wait_mutex' (MDEV-32728)

Docker公式イメージ

  • sql_mode=ANSI_QUOTESでのエラーにより、healthcheck.sh内のSQLコマンド定義の一重引用符と二重引用符が反転する
  • healthcheck.sh --no-defaultsの動作が修正されました
  • mariadb-backupのtar{,compression}用に/docker-entrypoint-init.dを追加しました
  • MariaDBイメージを拡張するためのエントリポイントのdocker_mariadb_initをリファクタリングする
  • 誰でも書き込み可能なディレクトリ /var/run/mysqldによるCIS障害、スティッキー ビットの追加
  • root@MARIADB_ROOT_HOSTにPROXY権限を追加
  • healthcheck.shは、mariadb-operatorの動作に一致する--galera_onlineテストを追加しました。

変数

  • インデックスが使用できない場合にメモを管理するために、note_verbosityシステム変数が追加されました。

セキュリティ

  • 次のセキュリティ脆弱性を修正しました:
    • CVE-2023-22084

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


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

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