TiDB 5.2.4 リリースノート
リリース日:2022年4月26日
TiDB バージョン: 5.2.4
互換性の変更
ティビ
- システム変数
tidb_analyze_version
のデフォルト値を2
から1
#31748に変更します
- システム変数
ティクヴ
- 不要なRaftログを#11404するための時間間隔を制御するには
raft-log-compact-sync-interval
追加します (デフォルトでは"2s"
)。 - デフォルト値
raft-log-gc-tick-interval
を"10s"
から"3s"
#11404に変更します storage.flow-control.enable
true
に設定すると、storage.flow-control.hard-pending-compaction-bytes-limit
の値がrocksdb.(defaultcf|writecf|lockcf).hard-pending-compaction-bytes-limit
の値を上書きします#11424
- 不要なRaftログを#11404するための時間間隔を制御するには
ツール
TiDB Lightning
- データのインポート後に空の領域が多すぎるのを避けるため、デフォルト値
regionMaxKeyCount
を 1_440_000 から 1_280_000 に変更します#30018
- データのインポート後に空の領域が多すぎるのを避けるため、デフォルト値
改善点
ティクヴ
ツール
ティCDC
- TiCDC がメッセージを Kafka パーティション間でより均等に分散するように、Kafka シンクのデフォルト値を
partition-num
から 3 に変更します#3337 - TiKVストアがダウンしたときにKVクライアントが回復するまでの時間を短縮する#3191
- Grafana #4891に
Lag analyze
パネルを追加する - Kafka プロデューサーの設定パラメータを公開して、TiCDC #4385で設定できるようにします。
- チェンジフィード#3329を再開するための指数バックオフ メカニズムを追加します。
- 「EventFeed 再試行レート制限」ログの数を減らす#4006
- デフォルト値
max-message-bytes
を10M #4041に設定する no owner alert
#4054含むbuffer sink total row
とtable sink total row
の監視メトリックと#1606を追加しますmounter row
- Grafanaダッシュボードで複数のKubernetesクラスターをサポート#4665
changefeed checkpoint
監視指標#5232にキャッチアップ ETA (到着予定時刻) を追加する
- TiCDC がメッセージを Kafka パーティション間でより均等に分散するように、Kafka シンクのデフォルト値を
バグの修正
ティビ
- 列挙値#32428の Nulleq 関数の誤った範囲計算結果を修正
- INDEX HASH JOINが
send on closed channel
エラーを返す問題を修正しました#31129 - 同時列型変更によりスキーマとデータの間に不整合が発生する問題を修正#31048
- 楽観的トランザクションモード#30410でデータインデックスの不整合が発生する可能性がある問題を修正
- JSON 型の列が
CHAR
型の列#29401に結合すると SQL 操作がキャンセルされる問題を修正しました。 - トランザクションを使用する場合と使用しない場合でウィンドウ関数が異なる結果を返す可能性がある問題を修正しました#29947
- SQL文に自然結合#25041が含まれている場合に
Column 'col_name' in field list is ambiguous
エラーが予期せず報告される問題を修正 Decimal
からString
#29417へのキャスト時に長さ情報が間違っている問題を修正GREATEST
関数がtidb_enable_vectorized_expression
の値が異なるために矛盾した結果を返す問題を修正 (on
またはoff
に設定) #29434left join
#31321を使用して複数のテーブルのデータを削除した場合の誤った結果を修正- TiDBが重複したタスクをTiFlash #32814にディスパッチする可能性があるバグを修正
- クエリ#31636を実行するときに MPP タスク リストが空になるエラーを修正
- innerWorkerpanicによって発生するインデックス結合の誤った結果を修正#31494
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
文を実行するとpanic#28078発生する問題を修正Order By
#30271の最適化による誤ったクエリ結果を修正ENUM
種類の列#27831に対してJOIN
実行したときに発生する可能性のある誤った結果を修正しました。ENUM
データ型#29357でCASE WHEN
関数を使用するときに発生するpanicを修正- ベクトル化された式#29244の関数
microsecond
の誤った結果を修正 - ウィンドウ関数がエラーを報告する代わりに TiDB をpanicせる問題を修正#30326
- 特定のケースで Merge Join 演算子が間違った結果を返す問題を修正#33042
- 相関サブクエリが定数#32089を返すときに TiDB が誤った結果を取得する問題を修正しました。
ENUM
またはSET
目のエンコードが間違っているためにTiDBが間違ったデータを書き込む問題を修正しました#32302- TiDB #31638で新しい照合順序が有効になっているときに、
ENUM
列またはSET
列のMAX
またはMIN
関数が間違った結果を返す問題を修正しました。 - IndexHashJoin演算子が正常に終了しない問題を修正#31062
- テーブルに仮想列#30965がある場合に TiDB が誤ったデータを読み取る可能性がある問題を修正しました。
- スロークエリログ#30309にログレベルの設定が反映されない問題を修正
- パーティションテーブルがインデックスを完全に使用してデータをスキャンできない場合がある問題を修正#33966
- TiDB のバックグラウンド HTTP サービスが正常に終了せず、クラスターが異常な状態になる問題を修正しました#30571
- TiDB が予期せず認証失敗のログを多数出力する可能性がある問題を修正#29709
- システム変数
max_allowed_packet
が有効にならない問題を修正#31422 - 自動IDが範囲外の場合に
REPLACE
文が他の行を誤って変更する問題を修正#29483 - スロークエリログが正常にログを出力できず、メモリを過剰に消費する可能性がある問題を修正#32656
- NATURAL JOINの結果に予期しない列が含まれる可能性がある問題を修正#29481
- プレフィックス列インデックスを使用してデータ#29711をクエリする場合、
ORDER BY
とLIMIT
1 つのステートメントで一緒に使用すると間違った結果が出力される可能性がある問題を修正しました。 - 楽観的トランザクションの再試行時にDOUBLE型の自動インクリメント列が変更される可能性がある問題を修正#29892
- STR_TO_DATE関数がマイクロ秒部分の先頭のゼロを正しく処理できない問題を修正#30078
- TiFlash が空の範囲を持つテーブルの読み取りをまだサポートしていないにもかかわらず、 TiFlashを使用して空の範囲を持つテーブルをスキャンすると、TiDB が間違った結果を取得する問題を修正しました#33083
ティクヴ
- 古いメッセージにより TiKV がpanicを起こすバグを修正#12023
- メモリメトリックのオーバーフローによって発生する断続的なパケット損失とメモリ不足 (OOM) の問題を修正しました#12160
- Ubuntu 18.04 #9765でTiKVがプロファイリングを実行するときに発生する潜在的なpanic問題を修正
- tikv-ctl が間違った文字列一致のために誤った結果を返す問題を修正#12329
- レプリカ読み取りが線形化可能性#12109に違反する可能性があるバグを修正
- TiKV が 2 年以上実行されている場合にpanicが発生する可能性があるバグを修正#11940
- フロー制御が有効で、
level0_slowdown_trigger
明示的に設定されている場合に QPS が低下する問題を修正#11424 - cgroup コントローラがマウントされていない場合に発生するpanic問題を修正#11569
- 遅延リージョンピア#11526でのリージョンマージによって発生する可能性のあるメタデータ破損を修正
- TiKVの動作が停止した後にResolved TSのレイテンシーが増加する問題を修正#11351
- 極端な状況でリージョンのマージ、ConfChange、スナップショットが同時に発生した場合に発生するpanicの問題を修正#11475
- tikv-ctl が正しい地域関連情報を返すことができないバグを修正#11393
- 小数点以下の除算結果がゼロの場合の負の符号の問題を修正#29586
- 悲観的トランザクションモードで事前書き込み要求を再試行すると、まれにデータの不整合が発生するリスクがある問題を修正しました#11187
- 統計スレッド#11195のデータの監視によって発生するメモリリークを修正
- TiKV メトリクス#11299でインスタンスごとの gRPC リクエストの平均レイテンシーが不正確になる問題を修正
- ピアステータスが
Applying
#11746のときにスナップショットファイルを削除すると発生するpanic問題を修正しました。 - GCワーカーがビジー状態のときにTiKVがデータの範囲を削除できない(つまり内部コマンド
unsafe_destroy_range
が実行される)バグを修正#11903 - 初期化されていないレプリカを削除すると古いレプリカが再作成される可能性がある問題を修正#10533
- TiKVが逆テーブルスキャンを実行するときにメモリロックを検出できない問題を修正#11440
- コルーチンの実行速度が速すぎる場合に時々発生するデッドロックの問題を修正#11549
- ピアを破棄するとレイテンシーが大きくなる可能性がある問題を修正#10210
- マージ対象のリージョンが無効であるため、TiKV がパニックを起こしてピアを予期せず破棄する問題を修正#12232
- リージョン#12048をマージする際に、ターゲットピアが初期化されずに破棄されたピアに置き換えられたときに発生するTiKVpanicの問題を修正しました。
- スナップショットの適用が中止されたときに発生する TiKVpanicの問題を修正#11618
- オペレータの実行が失敗したときに、TiKV が送信されるスナップショットの数を正しく計算できないバグを修正#11341
PD
TiFlash
- MPP タスクがスレッドを永久にリークする可能性があるバグを修正#4238
- 複数値式#4016で
IN
の結果が正しくない問題を修正 - 日付の形式で
'\n'
無効な区切り文字として認識される問題を修正#4036 - 読み取り負荷が高い状態で列を追加した後に発生する可能性のあるクエリエラーを修正#3967
- 無効なstorageディレクトリ構成が予期しない動作を引き起こすバグを修正#4093
- 一部の例外が適切に処理されないバグを修正#4101
STR_TO_DATE()
関数がマイクロ秒を解析するときに先頭のゼロを誤って処理するバグを修正#3557INT
をDECIMAL
にキャストするとオーバーフロー#3920が発生する可能性がある問題を修正DATETIME
をDECIMAL
#4151にキャストするときに発生する誤った結果を修正FLOAT
をDECIMAL
#3998にキャストするときに発生するオーバーフローを修正CastStringAsReal
動作がTiFlashと TiDB または TiKV #3475で一致しない問題を修正CastStringAsDecimal
動作がTiFlashと TiDB または TiKV #3619で一致しない問題を修正- TiFlashが再起動後に
EstablishMPPConnection
エラーを返す可能性がある問題を修正しました#3615 - TiFlashレプリカの数を0 #3659に設定した後、古いデータを再利用できない問題を修正
- 主キーが
handle
#3569のときに主キー列を拡張すると、データの不整合が発生する可能性がある問題を修正しました。 - SQL 文に非常に長いネストされた式が含まれている場合に発生する可能性のある解析エラーを修正#3354
- クエリに
where <string>
句#3447が含まれている場合に発生する可能性のある誤った結果を修正 new_collations_enabled_on_first_bootstrap
が有効になっている場合に誤った結果が発生する可能性を修正#3388 、 #3391- TLS が有効になっているときに発生するpanic問題を修正#4196
- メモリ制限が有効になっているときに発生するpanic問題を修正#3902
- MPPクエリが停止したときにTiFlashが時々クラッシュする問題を修正#3401
Unexpected type of column: Nullable(Nothing)
#3351の予期しないエラーを修正- 遅延リージョンピア#4437でのリージョンマージによって発生する可能性のあるメタデータ破損を修正
- エラーが発生した場合に
JOIN
含むクエリがハングする可能性がある問題を修正しました#4195 - 実行プランが正しくないために MPP クエリで返される可能性のある誤った結果を修正#3389
ツール
バックアップと復元 (BR)
- BRがRawKV #32607バックアップに失敗する問題を修正
ティCDC
- デフォルト値を複製できない問題を修正#3793
- 一部のケースでシーケンスが誤って複製されるバグを修正#4552
- PDリーダーが強制終了するとTiCDCノードが異常終了するバグを修正#4248
batch-replace-enable
が無効になっている場合に MySQL シンクが重複したreplace
SQL 文を生成するバグを修正#4501- デフォルトの列値#3929を出力するときに発生するpanicとデータの不整合の問題を修正
mq sink write row
監視データがない問題を修正#3431min.insync.replicas
replication-factor
より小さい場合にレプリケーションを実行できない問題を修正しました#3994- レプリケーションタスクが削除されたときに発生する可能性のあるpanic問題を修正#3128
- 必要なプロセッサ情報が存在しない場合にHTTP APIがパニックになるバグを修正#3840
- 不正確なチェックポイント#3545によって発生する潜在的なデータ損失の問題を修正
- デッドロックによりレプリケーションタスクが停止する可能性がある問題を修正#4055
- etcd #2980でタスク ステータスを手動でクリーンアップするときに発生する TiCDCpanicの問題を修正しました。
- DDL ステートメント内の特別なコメントによってレプリケーション タスクが停止する問題を修正#3755
config.Metadata.Timeout
#3352の誤った構成によって発生するレプリケーション停止の問題を修正- RHELリリース#3584のタイムゾーンの問題によりサービスを開始できない問題を修正
- クラスターのアップグレード後に
stopped
チェンジフィードが自動的に再開される問題を修正#3473 - MySQLシンクデッドロック#2706による警告が頻繁に発生する問題を修正
- Canal および Maxwell プロトコル#3676で
enable-old-value
構成項目が自動的にtrue
に設定されないバグを修正 - AvroシンクがJSON型列#3624の解析をサポートしていない問題を修正
- チェンジフィードチェックポイントラグ#3010負の値エラーを修正
- コンテナ環境のOOM問題を修正#1798
- DDL #3174の処理後のメモリリークの問題を修正
- 同じノード#4464でテーブルが繰り返しスケジュールされると、changefeed が停止する問題を修正しました。
- PDノードが異常な場合にオープンAPI経由でステータスを照会するとブロックされることがあるバグを修正#4778
- 所有者の変更によって生じた誤ったメトリックを修正#4774
- Unified Sorter #4447で使用されるワーカープールの安定性の問題を修正
cached region
監視メトリックが負の#4300になる問題を修正
TiDB Lightning
- TiDB Lightningに
mysql.tidb
テーブル#31088にアクセスする権限がない場合に発生する誤ったインポート結果の問題を修正しました。 - チェックサムエラー「GC の有効期間がトランザクション期間より短い」を修正#32733
- 一部のインポートタスクにソースファイルが含まれていない場合に、 TiDB Lightning がメタデータスキーマを削除しない可能性があるバグを修正しました#28144
- S3storageパスが存在しない場合にTiDB Lightning がエラーを報告しない問題を修正#28031 #30709
- GCS #30377で 1000 個を超えるキーを反復処理するときに発生するエラーを修正
- TiDB Lightningに