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