TiDB 5.2.4 リリースノート
リリース日:2022年4月26日
TiDB バージョン: 5.2.4
互換性の変更
TiDB
- システム変数
tidb_analyze_versionのデフォルト値を2から1に変更します#31748
- システム変数
TiKV
- 不要なRaftログを#11404するための時間間隔を制御するには
raft-log-compact-sync-interval追加します (デフォルトでは"2s")。 - デフォルト値の
raft-log-gc-tick-intervalを"10s"から"3s"に変更します#11404 storage.flow-control.enabletrueに設定すると、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
- データのインポート後に空の領域が多すぎるのを避けるために、デフォルト値
改善点
TiKV
ツール
TiCDC
- 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 alerttable sink total row含むbuffer sink total rowPrometheusとGrafana #4054監視メトリックとアラート#1606追加しますmounter row- Grafanaダッシュボードで複数のKubernetesクラスターをサポート#4665
changefeed checkpoint監視指標#5232にキャッチアップ ETA (到着予定時刻) を追加する
- TiCDC がメッセージを Kafka パーティション間でより均等に分散するように、Kafka シンク
バグ修正
TiDB
- 列挙値#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#32302またはSET列目のエンコードが間違っているためにTiDBが間違ったデータを書き込む問題を修正しました。- 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とLIMIT1つのステートメントで一緒に使用すると間違った結果が出力される可能性がある問題を修正しました。 - 楽観的トランザクションの再試行時にDOUBLE型の自動インクリメント列が変更される可能性がある問題を修正しました#29892
- STR_TO_DATE関数がマイクロ秒部分の先頭のゼロを正しく処理できない問題を修正#30078
- TiFlash が空の範囲を持つテーブルの読み取りをまだサポートしていないにもかかわらず、 TiFlashを使用して空の範囲を持つテーブルをスキャンすると TiDB が間違った結果を取得する問題を修正しました#33083
TiKV
- 古いメッセージによって 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にキャストするとオーバーフローが発生する可能性がある問題を修正しました#3920DATETIMEをDECIMAL#4151にキャストするときに発生する誤った結果を修正FLOATをDECIMAL#3998にキャストするときに発生するオーバーフローを修正CastStringAsRealTiFlashとTiDBまたはTiKV #3475動作が一致しない問題を修正CastStringAsDecimalTiFlashと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バックアップに失敗する問題を修正
TiCDC
- デフォルト値を複製できない問題を修正#3793
- 一部のケースでシーケンスが誤って複製されるバグを修正#4552
- PDリーダーが強制終了した際にTiCDCノードが異常終了するバグを修正#4248
- MySQLシンクが
batch-replace-enable無効になっているときに重複したreplaceSQL文を生成するバグを修正#4501 - デフォルトの列値#3929を出力するときに発生するpanicとデータの不整合の問題を修正しました
mq sink write row監視データがない問題を修正#3431min.insync.replicasreplication-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プロトコル#3676で設定項目
enable-old-valueが自動的にtrueに設定されないバグを修正 - AvroシンクがJSON型列#3624解析をサポートしていない問題を修正
- チェンジフィードチェックポイントラグ#3010の負の値エラーを修正
- コンテナ環境#1798のOOM問題を修正
- 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が