TiDB5.1.4リリースノート
発売日:2022年2月22日
TiDBバージョン:5.1.4
互換性の変更
TiDB
- システム変数
tidb_analyze_version
のデフォルト値を2
から#31748に変更し1
。 - v5.1.4以降、TiKVが
storage.enable-ttl = true
で構成されている場合、TiKVのTTL機能はRawKVモード #27303のみをサポートするため、TiDBからの要求は拒否されます。
- システム変数
ツール
TiCDC
- デフォルト値の
max-message-bytes
を設定します#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再試行率制限」ログの数を減らす#4006
no owner alert
buffer sink total row
#4054など、 #1606とmounter row
の監視メトリックとアラートをさらに追加しtable sink total row
- TiKVリロードのレート制限制御を最適化して、チェンジフィード初期化中のgPRC輻輳を低減します#3110
- TiKVストアがダウンしたときにKVクライアントが回復する時間を短縮する#3191
バグの修正
TiDB
- システム変数
tidb_analyze_version
が#32499に設定されているときに発生するメモリリークのバグを修正し2
。 MaxDays
とMaxBackups
の構成が遅いログ#25716に対して有効にならない問題を修正しますINSERT ... SELECT ... ON DUPLICATE KEY UPDATE
ステートメントを実行するとパニックになる問題を修正します#28078ENUM
のタイプの列でJOIN
を実行するときに発生する可能性のある間違った結果を修正します#27831- INDEXHASHJOINが
send on closed channel
エラー#31129を返す問題を修正します BatchCommands
APIを使用すると、まれにTiKVへのTiDBリクエストの送信がブロックされる可能性がある問題を修正します#32500- 楽観的なトランザクションモード#30410での潜在的なデータインデックスの不整合の問題を修正します
- トランザクションを使用するかどうかにかかわらず、ウィンドウ関数が異なる結果を返す可能性がある問題を修正します#29947
Decimal
から#29417をキャストするときに長さ情報が間違っている問題を修正しString
tidb_enable_vectorized_expression
ベクトル化された式を#29434に設定すると、GREATEST
関数が誤った結果を返す問題を修正しoff
。- オプティマイザーが
join
、場合によっては#28087の無効なプランをキャッシュする可能性がある問題を修正します - ベクトル化された式の
microsecond
およびhour
関数の#28643た結果を修正する#29244 - 場合によっては
ALTER TABLE.. ADD INDEX
ステートメントを実行するときのTiDBパニックを修正します#27687 - 一部のコーナーケースでMPPノードの可用性検出が機能しないバグを修正します#3118
- 35を割り当てるときの
DATA RACE
#27952問題を修正しMPP task ID
- 空の#28250を削除した後のMPPクエリの
INDEX OUT OF RANGE
エラーを修正しdual table
- MPPクエリ#1791の誤検知エラーログ
invalid cop task execution summaries length
の問題を修正します - SET GLOBAL tidb_skip_isolation_level_check=1が新しいセッション設定に影響を与えない問題を修正します#27897
- システム変数
TiKV
- GCワーカーがビジー状態のときにTiKVがデータの範囲を削除できない(
unsafe_destroy_range
は実行できない)バグを修正します#11903 - ピアを破棄すると待ち時間が長くなる可能性があるという問題を修正します#10210
- 領域が空の場合に
any_value
関数が間違った結果を返すバグを修正します#11735 - 初期化されていないレプリカを削除すると、古いレプリカが再作成される可能性がある問題を修正します#10533
- 新しい選択が終了した後に
Prepare Merge
がトリガーされたが、分離されたピアに通知されない場合のメタデータ破損の問題を修正します#11526 - コルーチンの実行速度が速すぎる場合に時々発生するデッドロックの問題を修正します#11549
- フレームグラフをプロファイリングするときに発生する可能性のあるデッドロックとメモリリークの問題を修正する#11108
- 悲観的なトランザクションで事前書き込み要求を再試行するときのまれなデータの不整合の問題を修正します#11187
- 構成
resource-metering.enabled
が機能しないバグを修正します#11235 - 一部のコルーチンが#10965でリークする問題を修正し
resolved_ts
- 書き込みフローが少ない場合に誤った「GCが機能しない」アラートを報告する問題を修正します#9910
- tikv-ctlが正しいリージョン関連情報を返さないバグを修正します#11393
- TiKVノードがダウンすると、解決されたタイムスタンプが#11351遅れる問題を修正します。
- リージョンマージ、ConfChange、およびスナップショットが極端な条件で同時に発生するときに発生するパニックの問題を修正します#11475
- TiKVが逆テーブルスキャンを実行すると、TiKVがメモリロックを検出できない問題を修正します#11440
- 10進数の除算結果がゼロの場合の負の符号の問題を修正します#29586
- 統計スレッド#11195の監視データによって引き起こされるメモリリークを修正します
- ダウンストリームデータベースが欠落しているときに発生するTiCDCパニックの問題を修正します#11123
- 輻輳エラー#11082が原因でTiCDCがスキャンの再試行を頻繁に追加する問題を修正します
- Raftクライアントの実装でバッチメッセージが大きすぎるという問題を修正します#9714
- Grafanaダッシュボード#11681でいくつかの一般的でないストレージ関連のメトリックを折りたたむ
- GCワーカーがビジー状態のときにTiKVがデータの範囲を削除できない(
PD
- リージョンスキャッターによって生成されたスケジュールによってピアの数が減少する可能性があるバグを修正します#4565
- リージョン統計が#4295の影響を受けない問題を修正し
flow-round-by-digit
- スタックしたリージョンシンカー#3936によって引き起こされる遅いリーダー選出を修正
- エビクトリーダースケジューラが異常なピアのあるリージョンをスケジュールできることをサポートする#4093
- コールドホットスポットデータをホットスポット統計から削除できない問題を修正します#4390
- TiKVノードが削除された後に発生するパニックの問題を修正します#4344
- ターゲットストアがダウンしているためにスケジューリングオペレーターが迅速に失敗できない問題を修正します#3353
TiFlash
- マイクロ秒を解析するときに
str_to_date()
関数が先行ゼロを誤って処理する問題を修正します - メモリ制限が有効になっている場合のTiFlashクラッシュの問題を修正します
- 入力時刻が1970-01-0100:00:01UTCより前の場合、
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がパニックになる可能性がある問題を修正します
Unexpected type of column: Nullable(Nothing)
の予期しないエラーを修正します
- マイクロ秒を解析するときに
ツール
TiCDC
batch-replace-enable
が無効になっている場合にMySQLシンクが重複したreplace
のSQLステートメントを生成するバグを修正します#4501cached region
モニタリングメトリックが負の#4300である問題を修正しますmin.insync.replicas
が#3994より小さい場合、レプリケーションを実行できない問題を修正しreplication-factor
。- レプリケーションタスクが削除されたときに発生する可能性のあるパニックの問題を修正する#3128
- 不正確なチェックポイント#3545によって引き起こされる潜在的なデータ損失の問題を修正します
- デッドロックによってレプリケーションタスクがスタックするという潜在的な問題を修正します#4055
- DDLステートメントの特別なコメントによってレプリケーションタスクが停止する問題を修正します#3755
- EtcdWorkerが所有者とプロセッサをハングさせる可能性があるバグを修正します#3750
- クラスタのアップグレード後に
stopped
つのチェンジフィードが自動的に再開する問題を修正します#3473 - デフォルト値を複製できない問題を修正します#3793
- TiCDCのデフォルト値のパディング例外によって引き起こされるデータの不整合を修正し#3929 #3918
- PDリーダーがシャットダウンして新しいノードに転送したときに所有者がスタックするバグを修正します#3615
- etcd1のタスクステータスを手動でクリーニングするときに発生するTiCDCパニックの問題を修正し#2980
- RHELリリース#3584のタイムゾーンの問題が原因でサービスを開始できない問題を修正します
- MySQLシンクデッドロック#2706によって引き起こされる過度に頻繁な警告の問題を修正します
- CanalおよびMaxwellプロトコル#3676で
enable-old-value
の構成アイテムが自動的にtrue
に設定されないバグを修正します。 - AvroシンクがJSONタイプの列の解析をサポートしていない問題を修正します#3624
- チェンジフィードチェックポイントラグ#3010の負の値のエラーを修正します
- コンテナ環境でのOOMの問題を修正する#1798
- 複数のTiKVがクラッシュしたとき、または強制的に再起動したときのTiCDCレプリケーションの中断の問題を修正します#3288
- #3174の処理後のメモリリークの問題を修正
- ErrGCTTLExceededエラーが発生したときにchangefeedが十分に速く失敗しない問題を修正します#3111
- アップストリームTiDBインスタンスが予期せず終了したときにTiCDCレプリケーションタスクが終了する可能性がある問題を修正します#3061
- TiKVが同じリージョン#2386に重複したリクエストを送信すると、TiCDCプロセスがパニックになる可能性がある問題を修正します。
- デフォルト値の
max-message-bytes
を#3081に設定することにより、Kafkaが過度に大きなメッセージを送信する可能性がある問題を修正し10M
。 - Kafkaメッセージの書き込み中にエラーが発生したときにTiCDC同期タスクが一時停止する可能性がある問題を修正します#2978
バックアップと復元(BR)
TiDB Binlog
- CSVファイルのサイズが約256MBで、
strict-format
がtrue
#27763の場合、CSVのインポートがInvalidRangeで失敗する問題を修正します。
- CSVファイルのサイズが約256MBで、
TiDB Lightning