TiDB5.2.4リリースノート
発売日:2022年4月26日
TiDBバージョン:5.2.4
互換性の変更
TiDB
- システム変数
tidb_analyze_version
のデフォルト値を2
から#31748に変更し1
。
- システム変数
TiKV
raft-log-compact-sync-interval
を追加して時間間隔(デフォルトでは"2s"
)を制御し、不要なRaftログを圧縮します#11404- デフォルト値の
raft-log-gc-tick-interval
を"10s"
から#11404に変更し"3s"
。 storage.flow-control.enable
がtrue
に設定されている場合、storage.flow-control.hard-pending-compaction-bytes-limit
の値は#11424の値を上書きしrocksdb.(defaultcf|writecf|lockcf).hard-pending-compaction-bytes-limit
。
ツール
TiDB Lightning
- データのインポート後に空のリージョンが多すぎないように、デフォルト値の
regionMaxKeyCount
を1_440_000から1_280_000に変更します#30018
- データのインポート後に空のリージョンが多すぎないように、デフォルト値の
改善
TiKV
ツール
TiCDC
- Kafka Sink
partition-num
のデフォルト値を3に変更して、TiCDCがKafkaパーティション間でメッセージをより均等に分散するようにします#3337 - TiKVストアがダウンしたときにKVクライアントが回復する時間を短縮する#3191
- Grafana3に
Lag analyze
のパネルを追加し#4891 - Kafkaプロデューサーの構成パラメーターを公開して、 #4385で構成可能にします。
- チェンジフィードを再開するための指数バックオフメカニズムを追加する#3329
- 「EventFeed再試行率制限」ログの数を減らす#4006
- デフォルト値の
max-message-bytes
を設定します#4041 no owner alert
buffer sink total row
#4054など、 #1606とmounter row
の監視メトリックとアラートをさらに追加しtable sink total row
- Grafanaダッシュボードで複数のKubernetesクラスターをサポートする#4665
- キャッチアップETA(到着予定時刻)を
changefeed checkpoint
の監視メトリックに追加します#5232
- Kafka Sink
バグの修正
TiDB
- 列挙値#32428のNulleq関数の誤った範囲計算結果を修正しました
- INDEXHASHJOINが
send on closed channel
エラー#31129を返す問題を修正します - 列タイプを同時に変更すると、スキーマとデータの間に不整合が生じる問題を修正します#31048
- 楽観的なトランザクションモード#30410での潜在的なデータインデックスの不整合の問題を修正します
- JSON型の列が
CHAR
型の列に結合するとSQL操作がキャンセルされる問題を修正します#29401 - トランザクションを使用するかどうかにかかわらず、ウィンドウ関数が異なる結果を返す可能性がある問題を修正します#29947
- SQLステートメントに自然結合#25041が含まれている場合に
Column 'col_name' in field list is ambiguous
エラーが予期せず報告される問題を修正します Decimal
から#29417をキャストするときに長さ情報が間違っている問題を修正しString
tidb_enable_vectorized_expression
の値が異なるためにGREATEST
関数が一貫性のない結果を返す問題を修正します(on
またはoff
に設定) #29434left join
を使用して複数のテーブルのデータを削除した誤った結果を#31321- TiDBが重複タスクをTiFlash1にディスパッチする可能性があるバグを修正し#32814
- クエリ実行時のMPPタスクリストの空のエラーを修正#31636
- innerWorkerパニックによって引き起こされるインデックス結合の誤った結果を修正します#31494
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
ステートメントを実行するとパニックになる問題を修正します#28078Order By
の最適化による誤ったクエリ結果を#30271ENUM
のタイプの列でJOIN
を実行するときに発生する可能性のある間違った結果を修正します#27831ENUM
データ型#29357でCASE WHEN
関数を使用するときのパニックを修正します- ベクトル化された式#29244の
microsecond
関数の誤った結果を修正します - ウィンドウ関数がエラーを報告する代わりにTiDBをパニックにする問題を修正します#30326
- マージ結合演算子が特定の場合に間違った結果を得る問題を修正します#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が範囲#29483から外れると、
REPLACE
ステートメントが他の行を誤って変更する問題を修正します。 - 遅いクエリログがログを正常に出力できず、メモリを過剰に消費する可能性があるという問題を修正します#32656
- NATURALJOINの結果に予期しない列が含まれる可能性がある問題を修正します#24981
- 1つのステートメントで
ORDER BY
とLIMIT
を一緒に使用すると、データのクエリにプレフィックス列インデックスが使用されている場合に誤った結果が出力される可能性がある問題を修正します#29711 - 楽観的なトランザクションが再試行すると、DOUBLEタイプの自動インクリメント列が変更される可能性がある問題を修正します#29892
- STR_TO_DATE関数がマイクロ秒部分の先行ゼロを正しく処理できない問題を修正します#30078
- TiFlashはまだ空の範囲のテーブルの読み取りをサポートしていませんが、TiFlashを使用して空の範囲のテーブルをスキャンするとTiDBが間違った結果を取得する問題を修正します#33083
TiKV
- 古いメッセージが原因でTiKVがパニックになるバグを修正します#12023
- メモリメトリックのオーバーフローによって引き起こされる断続的なパケット損失とメモリ不足(OOM)の問題を修正します#12160
- TiKVが#9765でプロファイリングを実行するときに発生する可能性のあるパニックの問題を修正します。
- 文字列の一致が正しくないためにtikv-ctlが誤った結果を返す問題を修正します#12329
- レプリカの読み取りが線形化可能性に違反する可能性があるバグを修正します#12109
- TiKVが2年以上実行されている場合にパニックになる可能性があるバグを修正します#11940
- フロー制御が有効で、
level0_slowdown_trigger
が明示的に設定されている場合のQPSドロップの問題を修正します#11424 - cgroupコントローラーがマウントされていないときに発生するパニックの問題を修正します#11569
- 遅れているリージョンピア#11526でのリージョンマージによって引き起こされる可能性のあるメタデータの破損を修正します
- TiKVの動作が停止した後、解決されたTSの遅延が増加する問題を修正します#11351
- リージョンマージ、ConfChange、およびスナップショットが極端な条件で同時に発生するときに発生するパニックの問題を修正します#11475
- tikv-ctlが正しいリージョン関連情報を返さないバグを修正します#11393
- 10進数の除算結果がゼロの場合の負の符号の問題を修正します#29586
- 悲観的なトランザクションモードで事前書き込み要求を再試行すると、まれにデータの不整合のリスクが発生する可能性があるという問題を修正します#11187
- 統計スレッド#11195の監視データによって引き起こされるメモリリークを修正します
- インスタンスごとのgRPCリクエストの平均レイテンシがTiKVメトリクス#11299で不正確であるという問題を修正します
- ピアステータスが
Applying
のときにスナップショットファイルを削除することによって引き起こされるパニックの問題を修正し#11746 - GCワーカーがビジー状態のときにTiKVがデータの範囲を削除できない(つまり、内部コマンド
unsafe_destroy_range
が実行される)バグを修正します#11903 - 初期化されていないレプリカを削除すると、古いレプリカが再作成される可能性がある問題を修正します#10533
- TiKVが逆テーブルスキャンを実行すると、TiKVがメモリロックを検出できない問題を修正します#11440
- コルーチンの実行速度が速すぎる場合に時々発生するデッドロックの問題を修正します#11549
- ピアを破棄すると待ち時間が長くなる可能性があるという問題を修正します#10210
- マージされるターゲットリージョンが無効であるためにTiKVがパニックになり、ピアを予期せず破壊する問題を修正します#12232
- ターゲットピアがリージョン#12048のマージ時に初期化されずに破棄されたピアに置き換えられたときに発生するTiKVパニックの問題を修正します。
- スナップショットの適用が中止されたときに発生するTiKVパニックの問題を修正します#11618
- オペレーターの実行が失敗したときにTiKVが送信されるスナップショットの数を正しく計算できないバグを修正します#11341
PD
TiFlash
- MPPタスクがスレッドを永久にリークする可能性があるバグを修正します#4238
- 複数値式#4016で
IN
の結果が正しくない問題を修正します - 日付形式が
'\n'
を無効な区切り文字#4036として識別する問題を修正します - 読み取りワークロードが重い場合に列を追加した後の潜在的なクエリエラーを修正する#3967
- 無効なストレージディレクトリ構成が予期しない動作につながるバグを修正します#4093
- 一部の例外が適切に処理されないというバグを修正します#4101
- マイクロ秒#3557を解析するときに、
STR_TO_DATE()
関数が先行ゼロを誤って処理するバグを修正します。 INT
からDECIMAL
をキャストするとオーバーフロー#3920が発生する可能性がある問題を修正しますDATETIME
から#4151をキャストするときに発生する間違った結果を修正しDECIMAL
FLOAT
から#3998をキャストするときに発生するオーバーフローを修正しDECIMAL
CastStringAsReal
の動作がTiFlashとTiDBまたはTiKV3で一貫していない問題を修正し#3475CastStringAsDecimal
の動作がTiFlashとTiDBまたはTiKV3で一貫していない問題を修正し#3619- TiFlashが再起動後に
EstablishMPPConnection
エラーを返す可能性がある問題を修正します#3615 - TiFlashレプリカの数を#3659に設定した後、廃止されたデータを再利用できない問題を修正します。
- 主キーが
handle
である場合に、主キー列を広げるときに発生する可能性のあるデータの不整合を修正し#3569 。 - SQLステートメントに非常に長いネストされた式が含まれている場合に発生する可能性のある解析エラーを修正します#3354
- クエリに
where <string>
句#3447が含まれている場合に発生する可能性のある誤った結果を修正 new_collations_enabled_on_first_bootstrap
が有効になっているときに発生する可能性のある誤った結果を修正し#3391 #3388- TLSが有効になっているときに発生するパニックの問題を修正します#4196
- メモリ制限が有効になっているときに発生するパニックの問題を修正します#3902
- MPPクエリが停止したときにTiFlashがときどきクラッシュする問題を修正します#3401
- #3351の予期しないエラーを修正し
Unexpected type of column: Nullable(Nothing)
- 遅れているリージョンピア#4437でのリージョンマージによって引き起こされる可能性のあるメタデータの破損を修正します
- エラーが発生した場合に
JOIN
を含むクエリがハングする可能性がある問題を修正します#4195 - 誤った実行プランが原因でMPPクエリに対して返される可能性のある誤った結果を修正する#3389
ツール
バックアップと復元(BR)
- BRがRawKV1のバックアップに失敗する問題を修正し#32607
TiCDC
- デフォルト値を複製できない問題を修正します#3793
- シーケンスが誤って複製される場合があるバグを修正します#4563
- PDリーダーが殺されたときにTiCDCノードが異常終了するバグを修正します#4248
batch-replace-enable
が無効になっている場合にMySQLシンクが重複したreplace
のSQLステートメントを生成するバグを修正します#4501- デフォルトの列値#3929を出力するときに発生するパニックとデータの不整合の問題を修正します
mq sink write row
に監視データがないという問題を修正します#3431min.insync.replicas
が#3994より小さい場合、レプリケーションを実行できない問題を修正しreplication-factor
。- レプリケーションタスクが削除されたときに発生する可能性のあるパニックの問題を修正する#3128
- 必要なプロセッサ情報が存在しない場合にHTTPAPIがパニックになるバグを修正します#3840
- 不正確なチェックポイント#3545によって引き起こされる潜在的なデータ損失の問題を修正します
- デッドロックによってレプリケーションタスクがスタックするという潜在的な問題を修正します#4055
- etcd1のタスクステータスを手動でクリーニングするときに発生するTiCDCパニックの問題を修正し#2980
- 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
- #3174の処理後のメモリリークの問題を修正
- テーブルが同じノードで繰り返しスケジュールされている場合にchangefeedがスタックする問題を修正します#4464
- PDノードが異常な場合にオープンAPIを介したステータスのクエリがブロックされる可能性があるバグを修正します#4778
- 所有者の変更によって引き起こされた誤ったメトリックを修正する#4774
- UnifiedSorter1で使用されるworkerpoolの安定性の問題を修正し#4447
cached region
モニタリングメトリックが負の#4300である問題を修正します
TiDB Lightning