TiDB 5.2.4 リリースノート
リリース日:2022年4月26日
TiDB バージョン: 5.2.4
互換性の変更
TiDB
- システム変数
tidb_analyze_version
のデフォルト値を2
から1
#31748に変更します。
- システム変数
TiKV
- 時間間隔を制御するために
raft-log-compact-sync-interval
を追加します (デフォルトでは"2s"
) 不要なRaftログを圧縮します#11404 - デフォルト値の
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の値を上書きします。
- 時間間隔を制御するために
ツール
TiDB Lightning
- デフォルト値の
regionMaxKeyCount
を 1_440_000 から 1_280_000 に変更して、データのインポート後に空のリージョンが多くなりすぎないようにします#30018
- デフォルト値の
改良点
TiKV
ツール
TiCDC
- Kafka Sink
partition-num
のデフォルト値を 3 に変更して、TiCDC が Kafka パーティション間でメッセージをより均等に分散するようにします#3337 - TiKV ストアがダウンしたときに KV クライアントが回復するまでの時間を短縮する#3191
- Grafana #4891に
Lag analyze
パネルを追加する - Kafka プロデューサーの構成パラメーターを公開して、TiCDC #4385で構成可能にする
- changefeed #3329を再開するための指数バックオフ メカニズムを追加します。
- 「EventFeed retry rate limited」ログのカウントを減らします#4006
- デフォルト値の
max-message-bytes
を 10M に設定#4041 no owner alert
、mounter row
、table sink total row
、およびbuffer sink total row
#4054 #1606を含む、Prometheus および Grafana のモニタリング メトリックとアラートをさらに追加します。- Grafana ダッシュボードで複数の Kubernetes クラスターをサポートする#4665
- キャッチアップ ETA (到着予定時刻) を
changefeed checkpoint
モニタリング メトリック#5232に追加します。
- Kafka Sink
バグの修正
TiDB
- Enum 値#32428の Nulleq 関数の誤った範囲計算結果を修正
- INDEX HASH JOIN が
send on closed channel
エラー#31129を返す問題を修正 - 列の型を同時に変更すると、スキーマとデータの間で不整合が発生する問題を修正します#31048
- オプティミスティック トランザクション モード#30410での潜在的なデータ インデックスの不整合の問題を修正します。
- JSON 型の列が
CHAR
型の列を結合すると SQL 操作がキャンセルされる問題を修正します#29401 - トランザクションを使用する場合と使用しない場合で、ウィンドウ関数が異なる結果を返すことがある問題を修正します#29947
- SQL ステートメントに自然結合#25041が含まれていると、予期せず
Column 'col_name' in field list is ambiguous
エラーが報告される問題を修正します。 Decimal
からString
#29417をキャストするとき、長さの情報が間違っている問題を修正tidb_enable_vectorized_expression
の異なる値 (on
またはoff
に設定) が原因でGREATEST
関数が一貫性のない結果を返す問題を修正します。 #29434left join
#31321を使用して複数のテーブルのデータを削除したときの誤った結果を修正- TiDB が重複したタスクを TiFlash #32814にディスパッチする可能性があるバグを修正
- クエリ実行時の MPP タスク リストの空エラーを修正します#31636
- innerWorkerpanic#31494によって引き起こされたインデックス結合の誤った結果を修正
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
ステートメントを実行するとpanic#28078が発生する問題を修正します。Order By
#30271の最適化による間違ったクエリ結果を修正JOIN
onENUM
型の列#27831を実行したときに発生する可能性のある間違った結果を修正します。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 の結果に予期しない列が含まれる可能性がある問題を修正します#24981
- データ#29711のクエリにプレフィックス列インデックスが使用されている場合、1 つのステートメントで
ORDER BY
とLIMIT
を一緒に使用すると間違った結果が出力される可能性があるという問題を修正します。 - オプティミスティック トランザクションが#29892をリトライすると、DOUBLE 型の自動インクリメント カラムが変更される可能性がある問題を修正します。
- STR_TO_DATE 関数がマイクロ秒部分の前のゼロを正しく処理できない問題を修正します#30078
- TiFlash を使用して空の範囲を持つテーブルをスキャンすると、TiDB が間違った結果を取得する問題を修正しますが、TiFlash はまだ空の範囲を持つテーブルの読み取りをサポートしていません#33083
TiKV
- 古いメッセージが原因で TiKV がpanicになるバグを修正#12023
- メモリ メトリック#12160のオーバーフローが原因で発生する断続的なパケット損失とメモリ不足 (OOM) の問題を修正します。
- #9765が Ubuntu 18.04 でプロファイリングを実行するときに発生する潜在的な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
- 10 進数の除算結果がゼロ#29586の場合の負号の問題を修正
- ペシミスティック トランザクション モードでプリライト リクエストを再試行すると、まれにデータの不整合が発生する可能性がある問題を修正し#11187 。
- 統計スレッド#11195のデータを監視することによって引き起こされるメモリ リークを修正します。
- インスタンスごとの gRPC リクエストの平均レイテンシーが TiKV メトリクスで不正確である問題を修正します#11299
- ピア ステータスが
Applying
#11746のときにスナップショット ファイルを削除すると発生するpanicの問題を修正します。 - GC ワーカーがビジー状態の場合、TiKV がデータの範囲を削除できない (つまり、内部コマンド
unsafe_destroy_range
が実行される) バグを修正します#11903 - 初期化されていないレプリカを削除すると、古いレプリカが再作成される可能性があるという問題を修正します#10533
- TiKV がリバース テーブル スキャンを実行すると、TiKV がメモリ ロックを検出できない問題を修正します#11440
- コルーチンの実行速度が速すぎる場合に時々発生するデッドロックの問題を修正します#11549
- ピアを破棄すると高レイテンシーが発生する可能性がある問題を修正します#10210
- マージする対象のリージョンが無効であるため、TiKV が予期せずパニックになり、ピアを破棄する問題を修正します#12232
- リージョン#12048のマージ時にターゲット ピアが初期化されずに破棄されたピアに置き換えられると発生する TiKVpanicの問題を修正します。
- スナップショットの適用が中止されたときに発生する TiKVpanicの問題を修正します#11618
- オペレーターの実行が失敗したときに、TiKV が送信されているスナップショットの数を正しく計算できないというバグを修正します#11341
PD
ティフラッシュ
- MPP タスクがスレッドを永久にリークする可能性があるバグを修正します#4238
- 多値式で
IN
の結果が正しくない問題を修正#4016 - 日付形式が
'\n'
を無効な区切り文字として識別する問題を修正します#4036 - 重い読み取りワークロードの下で列を追加した後の潜在的なクエリ エラーを修正します#3967
- 無効なストレージ ディレクトリ構成が予期しない動作を引き起こすバグを修正します#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のバックアップに失敗する問題を修正
TiCDC
- デフォルト値をレプリケートできない問題を修正#3793
- 場合によってはシーケンスが正しく複製されないというバグを修正#4563
- 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
- changefeed チェックポイントラグ#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
- S3 ストレージ パスが存在しない場合にTiDB Lightningがエラーを報告しない問題を修正#28031 #30709
- GCS #30377で 1000 を超えるキーを反復するときに発生するエラーを修正
- TiDB Lightningが
Playground
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。