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
が MySQL と互換性のない方法で'\n'
処理する問題を修正します#32232 ENUM
列またはSET
列のエンコーディングが間違っているため、TiDB が間違ったデータを書き込む問題を修正します#32302- 特定の場合に Merge Join 演算子が間違った結果を取得する問題を修正します#33042
- 相関サブクエリが定数#32089を返すと TiDB が間違った結果を取得する問題を修正
- TiFlash は空の範囲を持つテーブルの読み取りをまだサポートしていませんが、 TiFlashを使用して空の範囲を持つテーブルをスキャンすると、 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 #33588からアップグレードされたクラスターで
all
権限の付与が失敗する場合がある問題を修正 - MySQL バイナリ プロトコル#33509でテーブル スキーマを変更した後にプリペアドステートメントを実行するときに発生するセッションpanicを修正しました。
compress()
式とtidb_enable_vectorized_expression
有効にした SQL ステートメントの実行が失敗する問題を修正します#33397reArrangeFallback
機能#30353による CPU 使用率が高くなる問題を修正- 新しいパーティションの追加時にテーブル属性のインデックスが作成されない問題と、パーティションの変更時にテーブル範囲情報が更新されない問題を修正します#33929
TopN
初期化時のテーブルの統計情報が正しくソートされないバグを修正#34216- 識別できないテーブル属性#33665をスキップして、
INFORMATION_SCHEMA.ATTRIBUTES
テーブルから読み取るときに発生するエラーを修正しました。 order
プロパティが存在する場合、@@tidb_enable_parallel_apply
設定してもApply
演算子が並列化されないバグを修正#34237sql_mode
をNO_ZERO_DATE
#34099に設定した場合、datetime
列に'0000-00-00 00:00:00'
挿入できるバグを修正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 がpanicになるバグを修正#12023
- メモリメトリクス#12160のオーバーフローによって引き起こされる断続的なパケット損失とメモリ不足 (OOM) の問題を修正します。
- TiKV が Ubuntu 18.04 でプロファイリングを実行するときに発生する潜在的なpanicの問題を修正します#9765
- レプリカの読み取りが線形化可能性#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
TiFlash
- TLS が有効になっているときに発生するpanicの問題を修正します#4196
- 遅れているリージョンピア#4437でのリージョンのマージによって発生する可能性のあるメタデータの破損を修正します。
JOIN
を含むクエリでエラーが発生した場合にハングする可能性がある問題を修正#4195- MPP タスクがスレッドを永久にリークする可能性があるバグを修正#4238
FLOAT
~DECIMAL
#3998キャスト時に発生するオーバーフローを修正- 期限切れデータのリサイクルが遅い問題を修正#4146
- ローカル トンネルが有効になっている場合、MPP クエリをキャンセルするとタスクが永久にハングする可能性があるバグを修正します#4229
- クエリがキャンセルされたときに発生するメモリリークの問題を修正します#4098
DATETIME
からDECIMAL
#4151をキャストするときに発生する間違った結果を修正Snapshot
が複数の DDL 操作と同時に適用される場合のTiFlashpanicの潜在的な問題を修正します#4072- 無効なstorageディレクトリ構成が予期せぬ動作を引き起こすバグを修正#4093
- 一部の例外が正しく処理されないバグを修正#4101
INT
からDECIMAL
にキャストするとオーバーフローが発生する可能性がある問題を修正#3920- 複数値式#4016で
IN
の結果が正しくない問題を修正 - 日付形式で
'\n'
無効な区切り文字#4036として識別される問題を修正します。 - 重い読み取りワークロードで列を追加した後の潜在的なクエリ エラーを修正#3967
- メモリ制限が有効になっているときに発生するpanicの問題を修正します#3902
- DTFiles #4778の潜在的なデータ破損を修正
- 多くの削除操作を含むテーブルに対してクエリを実行する際の潜在的なエラーを修正します#4747
- TiFlashが多数の「Keepalive watchdog fired」エラーをランダムに報告するバグを修正#4192
- TiFlashノード#4414にどのリージョン範囲にも一致しないデータが残るバグを修正
- GC #4511以降に空のセグメントをマージできないバグを修正
ツール
バックアップと復元 (BR)
- バックアップの再試行中に暗号化情報が失われた場合に復元操作が失敗するバグを修正しました#32423
- BR がRawKV #32607のバックアップに失敗する問題を修正
- 増分復元#33596後にテーブルにレコードを挿入するときの重複した主キーを修正します。
- 空のクエリ#33322を含む DDL ジョブによりBR増分リストアが誤ってエラーを返すバグを修正
- 復元操作の完了後にリージョンが不均等に分散される可能性がある潜在的な問題を修正します#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)
- ログに何百もの「チェックポイントに変更はありません。同期フラッシュ チェックポイントをスキップします」と出力され、レプリケーションが非常に遅くなる問題を修正します#4619
- long varchar がエラーを報告するバグを修正
Column length too big
#4637 - セーフモードでの更新ステートメントの実行エラーにより DM ワーカーpanic#4317が発生する可能性がある問題を修正します。
- 場合によっては、フィルタリングされた DDL をダウンストリームで手動で実行すると、タスクの再開が失敗する可能性がある問題を修正します#5272
- アップストリーム#5121でbinlogが有効になっていない場合、
query-status
コマンドに対してデータが返されないバグを修正 SHOW CREATE TABLE
ステートメント#5159によって返されるインデックスの先頭に主キーがない場合に発生する DM ワーカーのpanic問題を修正します。- GTID が有効になっている場合、またはタスクが自動的に再開された場合に、CPU 使用率が増加し、大量のログが出力される場合がある問題を修正します#5063