TiDB 5.1.4 リリースノート
リリース日:2022年2月22日
TiDB バージョン: 5.1.4
互換性の変更
ティビ
- システム変数
tidb_analyze_version
のデフォルト値を2
から1
#31748に変更します - v5.1.4以降、TiKVが
storage.enable-ttl = true
に設定されている場合、TiKVのTTL機能はRawKVモード #27303のみをサポートしているため、TiDBからの要求は拒否されます。
- システム変数
ツール
ティCDC
- デフォルト値
max-message-bytes
を10M #4041に設定する
- デフォルト値
改善点
ティビ
ティクヴ
PD
- スケジューラ#4146の終了プロセスを高速化
TiFlash
ADDDATE()
とDATE_ADD()
TiFlashにプッシュダウンするサポートINET6_ATON()
とINET6_NTOA()
TiFlashにプッシュダウンするサポートINET_ATON()
とINET_NTOA()
TiFlashにプッシュダウンするサポート- DAG リクエスト内の式またはプラン ツリーの最大サポート深度を
100
から200
に増やします。
ツール
ティCDC
- チェンジフィードを再開するための指数バックオフメカニズムを追加します#3329
- 多数のテーブルを複製する際のレプリケーションレイテンシーを削減する#3900
- 増分スキャン#2985の残り時間を観察するためのメトリックを追加します
- 「EventFeed 再試行レート制限」ログの数を減らす#4006
no owner alert
#4054含むbuffer sink total row
とtable sink total row
の監視メトリックと#1606を追加しますmounter row
- TiKV リロードのレート制限制御を最適化して、チェンジフィード初期化中の gPRC 輻輳を軽減します#3110
- TiKVストアがダウンしたときにKVクライアントが回復するまでの時間を短縮する#3191
バグの修正
ティビ
- システム変数
tidb_analyze_version
が2
#32499に設定されている場合に発生するメモリリークのバグを修正 - スローログ#25716で
MaxDays
とMaxBackups
設定が有効にならない問題を修正 INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
文を実行するとpanic#28078発生する問題を修正ENUM
種類の列#27831に対してJOIN
実行したときに発生する可能性のある誤った結果を修正しました。- INDEX HASH JOINが
send on closed channel
エラーを返す問題を修正しました#31129 BatchCommands
API を使用すると、まれに TiKV への TiDB リクエストの送信がブロックされる可能性がある問題を修正しました#32500- 楽観的トランザクションモード#30410でデータインデックスの不整合が発生する可能性がある問題を修正
- トランザクションを使用する場合と使用しない場合でウィンドウ関数が異なる結果を返す可能性がある問題を修正しました#29947
Decimal
からString
#29417へのキャスト時に長さ情報が間違っている問題を修正tidb_enable_vectorized_expression
ベクトル化式をoff
#29434に設定するとGREATEST
関数が誤った結果を返す問題を修正しました。- オプティマイザが
join
無効なプランをキャッシュする場合がある問題を修正#28087 - ベクトル化された式#29244 #28643の
microsecond
およびhour
関数の誤った結果を修正 ALTER TABLE.. ADD INDEX
文を実行するときに TiDBpanicが発生する問題を修正#27687- MPPノードの可用性検出が一部のコーナーケースで機能しないバグを修正#3118
MPP task ID
#27952を割り当てる際のDATA RACE
問題を修正- 空の
dual table
#28250を削除した後のMPPクエリのINDEX OUT OF RANGE
エラーを修正 - MPPクエリ#1791の誤検知エラーログ
invalid cop task execution summaries length
の問題を修正 - SET GLOBAL tidb_skip_isolation_level_check=1 が新しいセッション設定に影響しない問題を修正#27897
tiup bench
長時間実行されると発生するindex out of range
問題を修正#26832
- システム変数
ティクヴ
- 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 が動作できません」という誤った警告が報告される問題を修正#9910
- tikv-ctl が正しい地域関連情報を返すことができないバグを修正#11393
- TiKVノードがダウンすると解決されたタイムスタンプが#11351遅れる問題を修正
- 極端な状況でリージョンのマージ、ConfChange、スナップショットが同時に発生した場合に発生するpanicの問題を修正#11475
- TiKVが逆テーブルスキャンを実行するときにメモリロックを検出できない問題を修正#11440
- 小数点以下の除算結果がゼロの場合の負の符号の問題を修正#29586
- 統計スレッド#11195の監視データによって発生するメモリリークを修正
- ダウンストリームデータベースが見つからない場合に発生する TiCDCpanicの問題を修正#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
データ型にキャストする際のオーバーフローのバグを修正 castStringAsReal
動作がTiFlashと TiDB/TiKV で一貫していない問題を修正- TiFlashが再起動後に
EstablishMPPConnection
エラーを返す可能性がある問題を修正しました - TiFlashレプリカの数を0に設定した後に古いデータを再利用できない問題を修正
CastStringAsDecimal
動作がTiFlashと TiDB/TiKV で一貫していない問題を修正where <string>
句のクエリが間違った結果を返す問題を修正しました- MPPクエリが停止したときにTiFlashがpanicになる可能性がある問題を修正
Unexpected type of column: Nullable(Nothing)
の予期しないエラーを修正
ツール
ティCDC
batch-replace-enable
が無効になっている場合、MySQL シンクが重複したreplace
SQL ステートメントを生成するバグを修正#4501cached region
監視メトリックが負の#4300になる問題を修正min.insync.replicas
replication-factor
より小さい場合にレプリケーションを実行できない問題を修正しました#3994- レプリケーションタスクが削除されたときに発生する可能性のあるpanic問題を修正#3128
- 不正確なチェックポイント#3545によって発生する潜在的なデータ損失の問題を修正
- デッドロックによりレプリケーションタスクが停止する可能性がある問題を修正#4055
- DDL ステートメント内の特別なコメントによってレプリケーション タスクが停止する問題を修正#3755
- EtcdWorker がオーナーとプロセッサ#3750をハングさせる可能性があるバグを修正
- クラスターのアップグレード後に
stopped
チェンジフィードが自動的に再開される問題を修正#3473 - デフォルト値を複製できない問題を修正#3793
- TiCDC デフォルト値パディング例外によるデータの不整合を修正#3918 #3929
- PDリーダーがシャットダウンして新しいノードに転送するときにオーナーがスタックするバグを修正#3615
- etcd #2980でタスク ステータスを手動でクリーンアップするときに発生する TiCDCpanicの問題を修正しました。
- RHELリリース#3584のタイムゾーンの問題によりサービスを開始できない問題を修正
- MySQLシンクデッドロック#2706による警告が頻繁に発生する問題を修正
- Canal および Maxwell プロトコル#3676で
enable-old-value
構成項目が自動的にtrue
に設定されないバグを修正 - AvroシンクがJSON型列#3624の解析をサポートしていない問題を修正
- チェンジフィードチェックポイントラグ#3010負の値エラーを修正
- コンテナ環境のOOM問題を修正#1798
- 複数の TiKV がクラッシュした場合や強制再起動中に TiCDC レプリケーションが中断される問題を修正#3288
- DDL #3174の処理後のメモリリークの問題を修正
- ErrGCTTLExceeded エラーが発生したときに changefeed が十分に速く失敗しない問題を修正#3111
- 上流の TiDB インスタンスが予期せず終了すると TiCDC レプリケーション タスクが終了する可能性がある問題を修正#3061
- TiKV が同じリージョン#2386に重複したリクエストを送信したときに TiCDC プロセスがpanicになる可能性がある問題を修正しました。
- デフォルト値の
max-message-bytes
を10M
#3081に設定することで、Kafkaが過度に大きなメッセージを送信する可能性がある問題を修正しました。 - Kafka メッセージの書き込み中にエラーが発生すると TiCDC 同期タスクが一時停止する可能性がある問題を修正#2978
バックアップと復元 (BR)
TiDBBinlog
- CSV ファイルのサイズが約 256 MB で
strict-format
がtrue
#27763の場合、DBaaS の CSV インポートが InvalidRange で失敗する問題を修正しました。
- CSV ファイルのサイズが約 256 MB で
TiDB Lightning