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