2023.03.17

MariaDB

MariaDB Enterprise Server 10.6.12-7 GA版(リリース日:2023年3月13日)

バックポートされた機能

MariaDB Enterprise Serverは、エンタープライズライフサイクルを通じて予測可能な開発および運用エクスペリエンスを可能にします。これらの新機能は、MariaDB Community Serverで成熟した後にバックポートされました。

  • 以前のリリースでは、InnoDBが初期化される前に、UNDOログの数を設定できました。このリリースでは、UNDOログの数をインストール後にも設定できます。
    • UNDOログの数は、InnoDBシステム変数 --innodb-undo-tablespacesによって設定されます。
    • UNDOログを複数のテーブルスペースに分割すると、単一のテーブルスペース、特にInnoDBシステムテーブルスペースのサイズを減らすことができます。
    • 以前のリリースでは、InnoDBを初期化する前にUNDOログの数を設定する必要があったため、UNDOログの数を変更するには、新しいサーバーインスタンスを設定する必要がありました。MariaDB Community Server 10.11からのこのバックポートにより、UNDOログの数を変更できるので、それは次のサーバーの起動時に有効になります。

注目すべき変更点

  • UNDOテーブルスペースのINFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION.NAMEで使用される名前が変更されました。
    • このリリース以降、UNDOテーブルスペースの名前にはundo001という形式が使用されます。
    • 以前のリリースでは、UNDOテーブルスペースの名前にはNULLが使用されていました。
  • MariaDB Enterprise Backupを使用したMariaDB Enterprise Cluster SSTでは、バックアップの実行(つまり、ブロックDDLフェーズ)が変更されました。以前のリリースでは、ノードはクラスターから一時停止され、次のログファイルエントリが生成されました:
    WSREP: Shifting SYNCED -> DONOR/DESYNCED
    • このリリース以降、バックアップの実行中にDDLステートメントが発生した場合、mariabackupの実行を中止できます。この中止可能なバックアップの実行は、wsrep_mode: BF_ABORT_MARIABACKUPによって有効/無効にできるオプション機能です。
  • JSON_DETAILED()関数の出力が最適化され、必要な行数が削減されました。
    • 互換性のために、JSON_PRETTY()がJSON_DETAILED()のエイリアスとして追加されました。
  • このリリースには、Galeraライブラリバージョン 26.4.14が組み込まれています。

ストレージ エンジンの変更

  • このリリースには、MariaDB ColumnStoreストレージエンジンのバージョン 23.02.1が組み込まれています。

修正された問題

データ損失が発生する可能性があるもの

  • サブセレクトでDELETEまたはUPDATEを実行すると、サーバーがクラッシュする可能性があります。
  • 増分バックアップを実行する時、MariaDB Enterprise Backupは削除および作成されたデータベースを反映しません。
  • リカバリ中に、サーバーが停止する前にDDL操作が実行されると、MariaDB Serverがエラーでクラッシュする可能性があります: InnoDB: Trying to write ... bytes at ... outside the bounds of the file ...
  • innodb_undo_log_truncate=ONはクラッシュセーフではありません。これは、バックアップと復元のためのMariaDB Enterprise Backupにも影響を与える可能性があります。
    • innodb_undo_log_truncate=ONの場合、MariaDB Enterprise Serverのバックアップで次のエラーメッセージが返されることがあります:
      FATAL ERROR: ... failed to copy datafile.

ハングまたはクラッシュを引き起こす可能性があるもの

  • フルテキストインデックスを持つシステムバージョン管理テーブルに対してDELETE HISTORYを実行すると、サーバーがクラッシュする可能性があります。
  • ALTER TABLEステートメントによってInnoDBが空間インデックスを使用してテーブルを再構築すると、サーバーがクラッシュする可能性があります。
  • SPIDER_DIRECT_SQLおよびspider_udf_ds_use_real_table=1でSPIDERを使用すると、サーバーがクラッシュする可能性があります。
  • REPLACE INTO ... PARTITION(...)を実行すると、サーバーがクラッシュする可能性があります。
  • Galera SSTは、InnoDBからのundo*ファイルを適切に処理しません。その結果、--innodb-undo-tablespacesが3以上に設定されていると、SSTが正しく終了しないことがあります。
  • ネストされたWINDOW句を含むクエリを使用すると、サーバーがクラッシュする可能性があります。
  • WHERE句を使用し、derived_merge=onに設定して、複雑なビューからのSELECTを実行すると、サーバーがクラッシュする可能性があります。
  • そのような参照がCTEの名前と同じテーブル名を持つ場合、埋め込みCTEを処理する時の再帰呼び出しの無限シーケンス。
  • ストアドルーチンまたはLEAD ... OVERクエリのプリペアドステートメントを介して2回目の実行を行うと、サーバーがクラッシュする可能性があります。
  • innodb_undo_log_truncate=ONが設定されている場合、サーバーがハングする可能性があります。
  • リカバリの後、innodb_buffer_pool_sizeが単一のバッチでリカバリするのに十分な大きさでない場合、サーバーがエラーでクラッシュする可能性があります:InnoDB: Tried to read ... bytes at offset。
  • 切り捨て中の外部キーロックの競合状態。
  • 一部のBツリー操作でハングする可能性があります。
  • パラメータ --backup --incremental --throttle=...を使用すると、MariaDB Enterprise Backupがハングすることがあります。
  • 圧縮されたInnoDBテーブルに対してALTER TABLEを実行すると、サーバーがクラッシュする可能性があります。
  • コミットフェーズでFULLTEXTインデックスを追加するALTERが失敗した場合、InnoDBは新しく作成されたテーブルまたはインデックスをデータディクショナリおよびテーブルキャッシュから削除できず、クラッシュします。
  • クエリキャッシュが有効な時にDROP DATABASEが呼び出されると、DROP DATABASEがハングし、CPU負荷が100%になることがあります。
  • FLUSH TABLES...FOR EXPORTを実行すると、サーバーがクラッシュする可能性があります。
  • WHILE句内のストアドプロシージャからSpiderテーブルをクエリすると、サーバーがクラッシュする可能性があります。ストアドプロシージャは、Spiderテーブルに対してクエリを実行する2つのWHILE句を使用する必要があります。
  • XAトランザクションでのBACKUP STAGE BLOCK_COMMIT中のレプリカでのデッドロック。
  • ALTER TABLE .. ROW_FORMAT=COMPRESSEDが以前に実行されている場合、MariaDB Serverはリカバリ中にクラッシュする可能性があります。
  • クラスター全体の競合により、バイナリログのパージが実行されている場合(バイナリログの有効期限が設定されている場合など)、MariaDB Enterprise Clusterがハングする可能性があります。
  • --wsrep-recoverオプションおよび--plugin-load-add=ha_spider.soオプションを指定して実行すると、mariadbdがハングします。

予期しない動作を引き起こす可能性があるもの

  • log_slow_filterが空の文字列の場合、log_query_not_using_indexes=OFFは無視されます。
  • MariaDB Enterprise ClusterノードではないMariaDB Serverインスタンスのバックアップを作成するためにオプション --galera-infoが使用されている場合、MariaDB Enterprise Backupはエラーを返します:Failed to get master wsrep state from SHOW STATUS
  • 全文検索を使用して仮想的に生成された列を持つテーブルをクエリすると、これらの列は生成されず、結果セットでは常にNULLになります。
  • 識別子は、SHOW GRANTSの出力では引用符で囲まれません。結果を使用してgrantステートメントを実行すると、予約済みのキーワードが使用されている場合、構文エラーが発生します。
  • CHARSET utf32/utf16/ucs2を持つSpiderテーブルが、クライアントのCHARSETをサポートされていない値に設定しようとします。
  • ビューでSTDDEV_SAMP()を使用すると、誤った結果が返されます。
  • 誤ったエラーが生成される可能性があります:ERROR 1292 (22007) at the line 15: Truncated incorrect DECIMAL value:#
  • オプション --verboseを使用してmariadb-binlogを実行すると、圧縮された列を含む行イベントを読み取ることができません:Error: Don't know how to handle column type:...
  • 外部結合、マージされた派生テーブル、およびビューで誤った結果が返されます。
  • ANALYZEなどの一部のDDLは、並列レプリカで順不同で完了する可能性があります。
  • 遅延した並列レプリカのSeconds_Behind_Masterは正しくありません。
  • 無制限のSELECT .. ORDER BY .. LIMITは、常に一時的なものを使用しているため、遅くなる可能性があります。
  • 他のSQL/PLストアドルーチンからDETERMINISTICパッケージ関数を呼び出すと、時間がかかる場合があります。
  • MariaDB Server 10.5およびMariaDB 10.6にアップグレードすると、リカバリが必要であると誤って報告されます。
  • リカバリで暗号化が利用できない場合の警告メッセージ:InnoDB: We do not continue the crash recovery, because the table may become corrupt
  • WindowsのMariaDB Enterprise Backupでは、innodb_undo_tablespaces > 0が設定されていると増分準備が失敗します。
  • 完全なクラスター再起動でMariaDB Enterprise Clusterのwsrep_gtid_domain_idの値を変更すると、wsrep_gtid_domain_idが変更されたノードから同期されないノードで失敗する可能性があります。
  • Ariaログファイルのコピープロセス中に完全バックアップが失敗します。このようなエラー:error: cannot open file ./aria_log.00000002がログファイルで確認できます。ファイル aria-log.00000002は存在しない可能性がありますが、より大きな番号を持つファイルは存在する可能性があります。
  • Unicode照合では、長い一意値は正しく機能しません。(照合の観点から見ると)等しい文字列が、文字列の長さが異なる場合、等しくないと比較されます。

インターフェースの変更

  • エラーコード 5016が追加されました。
  • columnstore_group_by_handlerシステム変数のデフォルト値がONからOFFに変更されました
  • JSON_PRETTY()関数が追加されました。

プラットフォーム

エンタープライズライフサイクルに合わせて、MariaDB Enterprise Server 10.6.12-7は次のプラットフォームに対して提供されます:

  • CentOS 7 (x86_64)
  • Debian 10 (x86_64, ARM64)
  • Debian 11 (x86_64, ARM64)
  • Microsoft Windows (x86_64) (MariaDB Enterprise Cluster excluded)
  • Red Hat Enterprise Linux 7 (x86_64)
  • Red Hat Enterprise Linux 8 (x86_64, ARM64)
  • Red Hat Enterprise Linux 9 (x86_64, ARM64)
  • Rocky Linux 8 (x86_64, ARM64 Red Hat Enterprise Linux 8 packages)
  • Rocky Linux 9 (x86_64, ARM64 Red Hat Enterprise Linux 9 packages)
  • SUSE Linux Enterprise Server 12 (x86_64)
  • SUSE Linux Enterprise Server 15 (x86_64, ARM64)
  • Ubuntu 18.04 (x86_64, ARM64)
  • Ubuntu 20.04 (x86_64, ARM64)
  • Ubuntu 22.04 (x86_64, ARM64)

MariaDB Enterprise Serverの一部のコンポーネントは、全てのプラットフォームをサポートしていない場合があります。


MariaDB Enterprise Server 10.6.12-7のリリースノート(MariaDB社ウェブサイト):
https://mariadb.com/docs/server/release-notes/mariadb-enterprise-server-10-6/10-6-12-7/


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

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