TiDB 5.1.4 リリースノート
リリース日:2022年2月22日
TiDB バージョン: 5.1.4
互換性の変更
TiDB
- システム変数
tidb_analyze_versionのデフォルト値を2から1に変更します#31748 - v5.1.4以降、TiKVが
storage.enable-ttl = trueに設定されている場合、TiKVのTTL機能はRawKVモード のみをサポートしているため、TiDBからのリクエストは拒否されます。 #27303
- システム変数
ツール
TiCDC
- デフォルト値の
max-message-bytesを10M に設定する #4041
- デフォルト値の
改善点
TiDB
TiKV
PD
- スケジューラの終了プロセスを高速化 #4146
TiFlash
ADDDATE()とDATE_ADD()をTiFlashにプッシュダウンする機能をサポートINET6_ATON()とINET6_NTOA()をTiFlashにプッシュダウンする機能をサポートINET_ATON()とINET_NTOA()をTiFlashにプッシュダウンする機能をサポート- DAG リクエスト内の式またはプラン ツリーの最大サポート深度を
100から200に増やします。
ツール
TiCDC
- チェンジフィードを再開するための指数バックオフメカニズムを追加します#3329
- 多数のテーブルを複製する際のレプリケーションのレイテンシーを削減する#3900
- 増分スキャンの残り時間を観察するためのメトリックを追加します #2985
- "EventFeed retry rate limited"ログの数を減らす#4006
no owner alert、mounter row、table sink total row、buffer sink total rowを含む、PrometheusとGrafanaの監視メトリックとアラートを追加します #4054 #1606- TiKVリロードのレート制限制御を最適化して、チェンジフィード初期化中のgRPC輻輳を軽減します#3110
- TiKVストアがダウンしたときにKVクライアントが回復するまでの時間を短縮します#3191
バグ修正
TiDB
- システム変数
tidb_analyze_versionが2に設定されている場合に発生するメモリリークのバグを修正しました #32499 MaxDaysとMaxBackups設定がスローログに反映されない問題を修正 #25716INSERT ... SELECT ... ON DUPLICATE KEY UPDATE文を実行するとpanicが発生する問題を修正しました #28078ENUM型の列に対してJOINを実行するときに発生する可能性のある誤った結果を修正 #27831- INDEX HASH JOINが
send on closed channelエラーを返す問題を修正しました#31129 BatchCommandsAPIを使用すると、まれにTiKVへのTiDBリクエストの送信がブロックされる可能性がある問題を修正しました#32500- 楽観的トランザクションモードで潜在的なデータインデックスの不整合が発生する問題を修正 #30410
- トランザクションを使用する場合と使用しない場合でウィンドウ関数が異なる結果を返す可能性がある問題を修正しました#29947
DecimalからStringへのキャスト時に長さ情報が間違っている問題を修正 #29417tidb_enable_vectorized_expressionベクトル化式をoffに設定するとGREATEST関数が誤った結果を返す問題を修正しました。 #29434- オプティマイザが
joinの無効なプランをキャッシュする可能性がある問題を修正#28087 - ベクトル化された式 の
microsecondとhour関数の誤った結果を修正 #28643 #29244 ALTER TABLE.. ADD INDEX文を実行する際に TiDB panicが発生する問題を修正#27687- MPPノードの可用性検出が一部のコーナーケースで機能しないバグを修正#3118
MPP task IDを割り当てる際のDATA RACE問題を修正 #27952- 空の
dual tableを削除した後のMPPクエリのINDEX OUT OF RANGEエラーを修正 #28250 - MPPクエリの誤検知エラーログ
invalid cop task execution summaries lengthの問題を修正 #1791 - SET GLOBAL tidb_skip_isolation_level_check=1 が新しいセッション設定に影響しない問題を修正しました #27897
tiup benchを長時間実行した場合に発生するindex out of range問題を修正#26832
- システム変数
TiKV
- GCワーカーがビジー状態のときにTiKVがデータ範囲を削除できない(
unsafe_destroy_rangeを実行できない)というバグを修正#11903 - ピアを破棄するとレイテンシーが大きくなる可能性がある問題を修正#10210
- リージョンが空の場合に関数
any_valueが誤った結果を返すバグを修正しました#11735 - 初期化されていないレプリカを削除すると古いレプリカが再作成される可能性がある問題を修正#10533
- 新しい選出が終了した後に
Prepare Mergeがトリガーされたが、分離されたピアに通知されない場合のメタデータ破損の問題を修正しました#11526 - コルーチンの実行速度が速すぎる場合に時々発生するデッドロックの問題を修正しました#11549
- フレームグラフのプロファイリング時に発生する可能性のあるデッドロックとメモリリークの問題を修正#11108
- 悲観的トランザクションで事前書き込みリクエストを再試行するときにまれに発生するデータの不整合の問題を修正#11187
- 設定
resource-metering.enabledが動作しないバグを修正#11235 resolved_tsで一部のコルーチンがリークする問題を修正 #10965- 書き込みフローが低い場合に"GC can not work"という誤った警告が報告される問題を修正#9910
- tikv-ctlが正しいリージョン関連情報を返すことができないバグを修正#11393
- TiKVノードがダウンすると解決されたタイムスタンプが遅れる問題を修正しました #11351
- 極端な状況でリージョンのマージ、ConfChange、スナップショットが同時に発生した場合に発生するpanicの問題を修正しました#11475
- TiKVが逆テーブルスキャンを実行するときにメモリロックを検出できない問題を修正しました#11440
- 小数点以下の除算結果がゼロの場合の負の符号の問題を修正しました#29586
- 統計スレッドの監視データによって発生するメモリリークを修正 #11195
- 下流データベースが見つからない場合に発生する TiCDC panicの問題を修正しました#11123
- TiCDC が輻輳エラーによりスキャンの再試行を頻繁に追加する問題を修正しました #11082
- Raftクライアント実装でバッチメッセージが大きすぎる問題を修正 #9714
- Grafanaダッシュボードで、ストレージ関連の珍しいメトリックをいくつか折りたたむ #11681
- GCワーカーがビジー状態のときにTiKVがデータ範囲を削除できない(
PD
- リージョンスキャッタラーによって生成されたスケジュールによってピア数が減少する可能性があるバグを修正#4565
- リージョン統計が
flow-round-by-digitの影響を受けない問題を修正 #4295 - リージョン同期が停止したことによるリーダー選出の遅延を修正#3936
- 退去リーダースケジューラが不健全なピアを持つリージョンをスケジュールできるようにサポート#4093
- ホットスポット統計からコールドホットスポットデータを削除できない問題を修正#4390
- TiKVノードが削除された後に発生するpanic問題を修正#4344
- ターゲットストアがダウンしているため、スケジューリングオペレーターが迅速に失敗できない問題を修正しました#3353
TiFlash
str_to_date()関数がマイクロ秒を解析する際に先頭のゼロを誤って処理する問題を修正しました- メモリ制限が有効になっているときにTiFlash がクラッシュする問題を修正しました
- 入力時間が1970-01-01 00:00:01 UTCより前の場合、
unix_timestampの動作がTiDBまたはMySQLの動作と一致しない問題を修正しました。 - 主キーがハンドルである場合に主キー列の幅を広げることによって発生する可能性のあるデータの不整合を修正しました。
- オーバーフローバグと、
DECIMALデータ型でデータを比較するときにCan't compareエラーを報告する問題を修正しました。 3rd arguments of function substringUTF8 must be constants.の予期しないエラーを修正nslライブラリのないプラットフォームでTiFlashが起動しない問題を修正しました- データを
DECIMALデータ型にキャストする際のオーバーフローバグを修正 - TiFlashとTiDB/TiKVで
castStringAsRealの動作が一致しない問題を修正 - TiFlash が再起動後に
EstablishMPPConnectionエラーを返す可能性がある問題を修正しました - TiFlashレプリカの数を0に設定した後に古いデータを回収できない問題を修正しました
- TiFlashとTiDB/TiKVで
CastStringAsDecimalの動作が一致しない問題を修正 where <string>句を含むクエリが間違った結果を返す問題を修正しました- MPPクエリが停止したときにTiFlashがpanicになる可能性がある問題を修正しました
Unexpected type of column: Nullable(Nothing)の予期しないエラーを修正
ツール
TiCDC
batch-replace-enableが無効になっている場合、MySQLシンクが重複したreplaceSQL文を生成するバグを修正#4501cached region監視メトリックがマイナスになる問題を修正 #4300min.insync.replicasがreplication-factorより小さい場合にレプリケーションを実行できない問題を修正しました#3994- レプリケーションタスクが削除されたときに発生する可能性のあるpanic問題を修正しました#3128
- 不正確なチェックポイントによって発生する潜在的なデータ損失の問題を修正しました #3545
- デッドロックによりレプリケーションタスクが停止する可能性がある問題を修正しました#4055
- DDL文の特別なコメントによりレプリケーションタスクが停止する問題を修正#3755
- EtcdWorker がオーナーとプロセッサをハングさせる可能性があるバグを修正しました #3750
- クラスタのアップグレード後に
stopped変更フィードが自動的に再開される問題を修正#3473 - デフォルト値を複製できない問題を修正#3793
- TiCDC のデフォルト値のパディング例外によって発生するデータの不整合を修正#3918 #3929
- PDリーダーがシャットダウンして新しいノードに転送するときにオーナーがスタックするバグを修正 #3615
- etcd でタスクステータスを手動でクリーンアップするときに発生する TiCDC panicの問題を修正しました #2980
- RHELリリースのタイムゾーンの問題によりサービスを開始できない問題を修正しました #3584
- MySQLシンクデッドロックによる警告が頻繁に発生する問題を修正 #2706
- Canalプロトコルで設定項目
enable-old-valueが自動的にtrueに設定されないバグを修正 #3676 - AvroシンクがJSON型列解析をサポートしていない問題を修正 #3624
- チェンジフィードチェックポイントラグの負の値エラーを修正 #3010
- コンテナ環境のOOM問題を修正 #1798
- 複数の TiKV がクラッシュした場合や強制再起動中に TiCDC レプリケーションが中断される問題を修正#3288
- DDL 処理後のメモリリークの問題を修正 #3174
- ErrGCTTLExceeded エラーが発生したときに changefeed が十分に速く失敗しない問題を修正しました#3111
- 上流の TiDB インスタンスが予期せず終了すると、TiCDC レプリケーションタスクが終了する可能性がある問題を修正しました#3061
- TiKVが同じリージョンに重複したリクエストを送信した場合にTiCDCプロセスがpanicする可能性がある問題を修正しました #2386
- デフォルト値の
max-message-bytesを10Mに設定することで、Kafkaが過度に大きなメッセージを送信する可能性がある問題を修正しました。 #3081 - Kafka メッセージの書き込み中にエラーが発生すると TiCDC 同期タスクが一時停止する可能性がある問題を修正#2978
Backup & Restore (BR)
TiDB Binlog
- CSVファイルのサイズが約256MBで
strict-formatがtrueの場合、DBaaSのCSVインポートがInvalidRangeで失敗する問題を修正しました。 #27763
- CSVファイルのサイズが約256MBで
TiDB Lightning