TiDB5.4.1リリースノート
発売日:2022年5月13日
TiDBバージョン:5.4.1
互換性の変更
TiDB v5.4.2では、製品設計に互換性の変更は導入されていません。ただし、このリリースのバグ修正により、互換性も変更される可能性があることに注意してください。詳細については、 バグの修正を参照してください。
改善
TiDB
TiKV
- Grafanaダッシュボードでの複数のKubernetesクラスターの表示のサポート#12104
PD
- Grafanaダッシュボードでの複数のKubernetesクラスターの表示のサポート#4673
TiFlash
- Grafanaダッシュボードでの複数のKubernetesクラスターの表示のサポート#4129
ツール
バグの修正
TiDB
- TiDBの
date_format
がMySQLと互換性のない方法で'\n'
を処理する問題を修正します#32232 ENUM
列またはSET
列のエンコードが間違っているためにTiDBが間違ったデータを書き込む問題を修正します#32302- マージ結合演算子が特定の場合に間違った結果を取得する問題を修正します#33042
- 相関サブクエリが定数#32089を返すときにTiDBが間違った結果を取得する問題を修正します
- TiFlashはまだ空の範囲のテーブルの読み取りをサポートしていませんが、TiFlashを使用して空の範囲のテーブルをスキャンするとTiDBが間違った結果を取得する問題を修正します#33083
- TiDB #31638で新しい照合順序が有効になっている場合、
ENUM
列またはSET
列のMAX
またはMIN
関数が間違った結果を返す問題を修正します。 - クエリがエラーを報告したときにCTEがブロックされる可能性があるバグを修正します#31302
- 列挙値#32428のNulleq関数の誤った範囲計算結果を修正しました
- ChunkRPCを使用してデータをエクスポートするときの#30880を修正#31981
tidb_restricted_read_only
が有効になっているときにtidb_super_read_only
が自動的に有効にならないバグを修正します#31745- 照合順序を伴う
greatest
またはleast
関数が間違った結果を取得する問題を修正します#31789 - エスケープ文字#31589でデータが壊れた場合のデータのロードパニックを修正
- インデックスルックアップ結合#30468を使用してクエリを実行するときの
invalid transaction
のエラーを修正しました left join
を使用して複数のテーブルのデータを削除した誤った結果を#31321- TiDBが重複タスクをTiFlash1にディスパッチする可能性があるバグを修正し#32814
- #33588からアップグレードされたクラスターで
all
の特権の付与が失敗する可能性がある問題を修正します。 - MySQLバイナリプロトコルでテーブルスキーマを変更した後にプリペアドステートメントを実行するときに発生するセッションパニックを修正します#33509
tidb_enable_vectorized_expression
が有効になっているcompress()
の式を持つSQLステートメントの実行が失敗する問題を修正します#33397reArrangeFallback
関数#30353による高いCPU使用率の問題を修正します- 新しいパーティションが追加されたときにテーブル属性がインデックスに登録されない問題と、パーティションが変更されたときにテーブル範囲情報が更新されない問題を修正します#33929
- 初期化中のテーブルの
TopN
統計情報が正しくソートされないバグを修正します#34216 - 識別できないテーブル属性をスキップして、
INFORMATION_SCHEMA.ATTRIBUTES
テーブルから読み取るときに発生するエラーを修正します#33665 @@tidb_enable_parallel_apply
が設定されていても、order
プロパティが存在する場合にApply
演算子が並列化されないというバグを修正します#34237sql_mode
が#34099に設定されている場合に'0000-00-00 00:00:00'
がdatetime
列に挿入される可能性があるバグを修正しNO_ZERO_DATE
INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
のテーブルが照会されたときにTiDBサーバーのメモリが不足する可能性がある問題を修正します。この問題は、Grafanaダッシュボード#33893で遅いクエリをチェックしたときに発生する可能性がありますNOWAIT
ステートメントで、実行中のトランザクションがロック#32754に遭遇したときにすぐに返されないバグを修正します。GBK
文字セットとgbk_bin
照合順序#31308でテーブルを作成するときに失敗するバグを修正しますenable-new-charset
がon
の場合、照合順序を使用したGBK
文字セットテーブルの作成が「不明な文字セット」エラー#31297で失敗するバグを修正します。
- TiDBの
TiKV
- マージされるターゲットリージョンが無効であるためにTiKVがパニックになり、ピアを予期せず破壊する問題を修正します#12232
- 古いメッセージが原因でTiKVがパニックになるバグを修正します#12023
- メモリメトリックのオーバーフローによって引き起こされる断続的なパケット損失とメモリ不足(OOM)の問題を修正します#12160
- TiKVが#9765でプロファイリングを実行するときに発生する可能性のあるパニックの問題を修正します。
- レプリカの読み取りが線形化可能性に違反する可能性があるバグを修正します#12109
- ターゲットピアがリージョン#12048のマージ時に初期化されずに破棄されたピアに置き換えられたときに発生するTiKVパニックの問題を修正します。
- TiKVが2年以上実行されている場合にパニックになる可能性があるバグを修正します#11940
- ロックの解決ステップ#11993を必要とするリージョンの数を減らすことにより、TiCDCの回復時間を短縮します。
- ピアステータスが
Applying
のときにスナップショットファイルを削除することによって引き起こされるパニックの問題を修正し#11746 - ピアを破棄すると待ち時間が長くなる可能性があるという問題を修正します#10210
- リソースメータリング#12234の無効なアサーションによって引き起こされるパニックの問題を修正します
- 一部のコーナーケースでスコアの計算が不正確になる問題を修正します#12254
resolved_ts
モジュールによって引き起こされたOOMの問題を修正し、メトリックを追加します#12159- ネットワークが貧弱な場合に、正常にコミットされた楽観的なトランザクションが
Write Conflict
エラーを報告する可能性がある問題を修正します#34066 - 貧弱なネットワークでレプリカ読み取りが有効になっている場合に発生するTiKVパニックの問題を修正します#12046
PD
TiFlash
- TLSが有効になっているときに発生するパニックの問題を修正します#4196
- 遅れているリージョンピア#4437でのリージョンマージによって引き起こされる可能性のあるメタデータの破損を修正します
- エラーが発生した場合に
JOIN
を含むクエリがハングする可能性がある問題を修正します#4195 - MPPタスクがスレッドを永久にリークする可能性があるバグを修正します#4238
FLOAT
から#3998をキャストするときに発生するオーバーフローを修正しDECIMAL
- 期限切れのデータがゆっくりとリサイクルされる問題を修正します#4146
- ローカルトンネルが有効になっている場合、MPPクエリをキャンセルすると、タスクが永久にハングする可能性があるバグを修正します#4229
- クエリがキャンセルされたときに発生するメモリリークの問題を修正します#4098
DATETIME
から#4151をキャストするときに発生する間違った結果を修正しDECIMAL
Snapshot
が複数のDDL操作と同時に適用された場合のTiFlashパニックの潜在的な問題を修正します#4072- 無効なストレージディレクトリ構成が予期しない動作につながるバグを修正します#4093
- 一部の例外が適切に処理されないというバグを修正します#4101
INT
からDECIMAL
をキャストするとオーバーフロー#3920が発生する可能性がある問題を修正します- 複数値式#4016で
IN
の結果が正しくない問題を修正します - 日付形式が
'\n'
を無効な区切り文字#4036として識別する問題を修正します - 読み取りワークロードが重い場合に列を追加した後の潜在的なクエリエラーを修正する#3967
- メモリ制限が有効になっているときに発生するパニックの問題を修正します#3902
- #4778の潜在的なデータ破損を修正
- 多くの削除操作があるテーブルでクエリを実行するときに発生する可能性のあるエラーを修正する#4747
- TiFlashが多くの「キープアライブウォッチドッグ起動」エラーをランダムに報告するバグを修正します#4192
- どの領域範囲にも一致しないデータがTiFlashノード#4414に残るバグを修正します
- GC1の後に空のセグメントをマージできないバグを修正し#4511
ツール
バックアップと復元(BR)
- バックアップの再試行中に暗号化情報が失われた場合に復元操作が失敗するバグを修正します#32423
- BRがRawKV1のバックアップに失敗する問題を修正し#32607
- インクリメンタル復元後にレコードをテーブルに挿入するときに重複する主キーを修正する#33596
- 空のクエリ#33322を使用したDDLジョブが原因で、BRインクリメンタルリストアが誤ってエラーを返すバグを修正します。
- 復元操作の終了後にリージョンが不均一に分散される可能性があるという潜在的な問題を修正します#31034
- 復元中にリージョンに一貫性がない場合にBRが十分な回数再試行しない問題を修正します#33419
- 小さなファイルのマージが有効になっているときにBRがときどきパニックになる可能性がある問題を修正します#33801
- BRまたはTiDBLightningが異常終了した後にスケジューラが再開しない問題を修正します#33546
TiCDC
- 所有者の変更によって引き起こされた誤ったメトリックを修正する#4774
Canal-JSON
がnil3をサポートしていないために発生する可能性のあるTiCDCパニックの問題を修正し#4736- UnifiedSorter1で使用されるworkerpoolの安定性の問題を修正し#4447
- シーケンスが誤って複製される場合があるバグを修正します#4563
Canal-JSON
が35を誤って処理したときに発生する可能性があるstring
パニックの問題を修正し#4635- PDリーダーが殺されたときにTiCDCノードが異常終了するバグを修正します#4248
batch-replace-enable
が無効になっている場合にMySQLシンクが重複したreplace
のSQLステートメントを生成するバグを修正します#4501rename tables
によって引き起こされるDMLコンストラクトエラーを修正し#5059- 所有者が変更され、新しいスケジューラが有効になっている(デフォルトでは無効になっている)場合、まれにレプリケーションがスタックする可能性がある問題を修正します#4963
- 新しいスケジューラが有効になっている(デフォルトでは無効になっている)ときにエラーErrProcessorDuplicateOperationsが報告される問題を修正します#4769
- TLSを有効にした後、
--pd
に設定された最初のPDが使用できない場合にTiCDCが起動しない問題を修正します#4777 - テーブルがスケジュールされているときにチェックポイントメトリックが欠落する問題を修正します#4714
TiDB Lightning
TiDBデータ移行(DM)
- 何百もの「チェックポイントに変更がない、同期フラッシュチェックポイントをスキップする」がログに出力され、レプリケーションが非常に遅いという問題を修正します#4619
- #4637がエラーを報告するバグを修正します
Column length too big
- セーフモードでの更新ステートメントの実行エラーがDMワーカーのパニックを引き起こす可能性がある問題を修正します#4317
- 場合によっては、ダウンストリームでフィルター処理されたDDLを手動で実行すると、タスクの再開が失敗する可能性があるという問題を修正します#5272
- アップストリーム#5121でbinlogが有効になっていない場合に、
query-status
コマンドのデータが返されないバグを修正します。 SHOW CREATE TABLE
ステートメント#5159によって返されるインデックスの最初に主キーがない場合に発生するDMワーカーのパニックの問題を修正します。- GTIDを有効にした場合、またはタスクが自動的に再開された場合に、CPU使用率が増加し、大量のログが出力される可能性がある問題を修正します#5063