TiDB 5.2.4 リリースノート

リリース日:2022年4月26日

TiDB バージョン: 5.2.4

互換性の変更

改良点

  • TiKV

    • リーダーシップを CDC オブザーバーに移管し、レイテンシーのジッターを減らします#12111
    • ロックの解決ステップ#11993を必要とするリージョンの数を減らすことで、TiCDC の回復時間を短縮します。
    • proc ファイルシステム (procfs) を v0.12.0 に更新します#11702
    • ガベージ コレクション (GC) プロセスを高速化するには、GC をRaftログに実行するときに書き込みバッチ サイズを増やします#11404
    • 検証プロセスをApplyスレッド プール#11239からImportスレッド プールに移動することで、SST ファイルの挿入速度を向上させます。
  • ツール

    • TiCDC

      • Kafka Sink partition-numのデフォルト値を 3 に変更して、TiCDC が Kafka パーティション間でメッセージをより均等に分散するようにします#3337
      • TiKV ストアがダウンしたときに KV クライアントが回復するまでの時間を短縮する#3191
      • Grafana #4891Lag analyzeパネルを追加する
      • Kafka プロデューサーの構成パラメーターを公開して、TiCDC #4385で構成可能にする
      • changefeed #3329を再開するための指数バックオフ メカニズムを追加します。
      • 「EventFeed retry rate limited」ログのカウントを減らします#4006
      • デフォルト値のmax-message-bytesを 10M に設定#4041
      • no owner alertmounter rowtable sink total row 、およびbuffer sink total row #4054 #1606を含む、Prometheus および Grafana のモニタリング メトリックとアラートをさらに追加します。
      • Grafana ダッシュボードで複数の Kubernetes クラスターをサポートする#4665
      • キャッチアップ ETA (到着予定時刻) をchangefeed checkpointモニタリング メトリック#5232に追加します。

バグの修正

  • 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関数が一貫性のない結果を返す問題を修正します。 #29434
    • left join #31321を使用して複数のテーブルのデータを削除したときの誤った結果を修正
    • TiDB が重複したタスクを TiFlash #32814にディスパッチする可能性があるバグを修正
    • クエリ実行時の MPP タスク リストの空エラーを修正します#31636
    • innerWorkerpanic#31494によって引き起こされたインデックス結合の誤った結果を修正
    • INSERT ... SELECT ... ON DUPLICATE KEY UPDATEステートメントを実行するとpanic#28078が発生する問題を修正します。
    • Order By #30271の最適化による間違ったクエリ結果を修正
    • JOIN on ENUM型の列#27831を実行したときに発生する可能性のある間違った結果を修正します。
    • ENUMデータ型#29357CASE WHEN関数を使用したときのpanicを修正
    • ベクトル化された式#29244microsecond関数の間違った結果を修正
    • ウィンドウ関数が原因で 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 BYLIMITを一緒に使用すると間違った結果が出力される可能性があるという問題を修正します。
    • オプティミスティック トランザクションが#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

    • リージョン scatterer スケジューリングで一部のピアが失われる問題を修正します#4565
    • コールド ホットスポット データがホットスポット統計から削除できない問題を修正します#4390
  • ティフラッシュ

    • MPP タスクがスレッドを永久にリークする可能性があるバグを修正します#4238
    • 多値式でINの結果が正しくない問題を修正#4016
    • 日付形式が'\n'を無効な区切り文字として識別する問題を修正します#4036
    • 重い読み取りワークロードの下で列を追加した後の潜在的なクエリ エラーを修正します#3967
    • 無効なストレージ ディレクトリ構成が予期しない動作を引き起こすバグを修正します#4093
    • 一部の例外が適切に処理されないバグを修正#4101
    • STR_TO_DATE()関数がマイクロ秒の解析時に先頭のゼロを正しく処理しないというバグを修正します#3557
    • INTから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監視データがない問題を修正#3431
      • min.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 および Maxwell プロトコル#3676enable-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
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.