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