重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

TiDB5.1リリースノート

発売日:2021年6月24日

TiDBバージョン:5.1.0

v5.1では、主な新機能または改善点は次のとおりです。

  • MySQL8.0のCommonTableExpression(CTE)機能をサポートして、SQLステートメントの可読性と実行効率を向上させます。
  • オンラインでの列タイプの変更をサポートして、コード開発の柔軟性を向上させます。
  • クエリの安定性を向上させるために新しい統計タイプを導入します。これはデフォルトで実験的機能として有効になっています。
  • MySQL 8.0の動的特権機能をサポートして、特定の操作に対してよりきめ細かい制御を実装します。
  • Stale Read機能を使用してローカルレプリカからデータを直接読み取ることをサポートして、読み取りの待ち時間を短縮し、クエリのパフォーマンスを向上させます(実験的)。
  • ロックビュー機能を追加して、データベース管理者(DBA)がトランザクションロックイベントを監視し、デッドロックの問題をトラブルシューティングできるようにします(実験的)。
  • バックグラウンドタスクにTiKV書き込みレートリミッターを追加して、読み取りおよび書き込み要求のレイテンシーが安定していることを確認します。

互換性の変更

ノート:

以前のTiDBバージョンからv5.1にアップグレードするときに、すべての中間バージョンの互換性の変更に関する注意事項を知りたい場合は、対応するバージョンのリリースノートを確認できます。

システム変数

変数名タイプを変更する説明
cte_max_recursion_depth新しく追加されました共通テーブル式の最大再帰深度を制御します。
init_connect新しく追加されましたTiDBサーバーへの初期接続を制御します。
tidb_analyze_version新しく追加されましたTiDBが統計を収集する方法を制御します。この変数のデフォルト値は2です。これは実験的機能です。
tidb_enable_enhanced_security新しく追加されました接続しているTiDBサーバーでセキュリティ拡張モード(SEM)が有効になっているかどうかを示します。この変数設定は、TiDBサーバーを再起動せずに変更することはできません。
tidb_enforce_mpp新しく追加されましたオプティマイザのコスト見積もりを無視するかどうか、およびクエリの実行にMPPモードを強制的に使用するかどうかを制御します。この変数のデータ型はBOOLで、デフォルト値はfalseです。
tidb_partition_prune_mode新しく追加されましたパーティションテーブルの動的プルーニングモードを有効にするかどうかを指定します。この機能は実験的です。この変数のデフォルト値はstaticです。これは、パーティションテーブルの動的プルーニングモードがデフォルトで無効になっていることを意味します。

Configuration / コンフィグレーションファイルのパラメーター

Configuration / コンフィグレーションファイルConfiguration / コンフィグレーション項目タイプを変更する説明
TiDB構成ファイルsecurity.enable-sem新しく追加されましたセキュリティ拡張モード(SEM)を有効にするかどうかを制御します。この構成アイテムのデフォルト値はfalseです。これは、SEMが無効になっていることを意味します。
TiDB構成ファイルperformance.committer-concurrency修正済み単一トランザクションのコミットフェーズでのコミット操作に関連する要求の同時実行数を制御します。デフォルト値は16から128に変更されます。
TiDB構成ファイルperformance.tcp-no-delay新しく追加されましたTCP層でTCP_NODELAYを有効にするかどうかを決定します。デフォルト値はtrueです。これは、TCP_NODELAYが有効になっていることを意味します。
TiDB構成ファイルperformance.enforce-mpp新しく追加されましたTiDBがインスタンスレベルでオプティマイザーのコスト見積もりを無視し、MPPモードを適用するかどうかを制御します。デフォルト値はfalseです。この構成項目は、システム変数tidb_enforce_mppの初期値を制御します。
TiDB構成ファイルpessimistic-txn.deadlock-history-capacity新しく追加されました単一のTiDBサーバーのINFORMATION_SCHEMA.DEADLOCKSつのテーブルに記録できるデッドロックイベントの最大数を設定します。デフォルト値は10です。
TiKV構成ファイルabort-on-panic新しく追加されましたabortプロセスで、TiKVがパニックになったときにシステムがコアダンプファイルを生成できるようにするかどうかを設定します。デフォルト値はfalseです。これは、コアダンプファイルの生成が許可されていないことを意味します。
TiKV構成ファイルhibernate-regions修正済みデフォルト値はfalseからtrueに変更されます。リージョンが長時間アイドル状態の場合、自動的に休止状態に設定されます。
TiKV構成ファイルold-value-cache-memory-quota新しく追加されましたTiCDCの古い値によるメモリ使用量の上限を設定します。デフォルト値は512MBです。
TiKV構成ファイルsink-memory-quota新しく追加されましたTiCDCデータ変更イベントによるメモリ使用量の上限を設定します。デフォルト値は512MBです。
TiKV構成ファイルincremental-scan-threads新しく追加されました履歴データを段階的にスキャンするタスクのスレッド数を設定します。デフォルト値は4です。これは、タスクに4つのスレッドがあることを意味します。
TiKV構成ファイルincremental-scan-concurrency新しく追加されました履歴データを段階的にスキャンするタスクの同時実行の最大数を設定します。デフォルト値は6です。これは、最大6つのタスクを同時に実行できることを意味します。
TiKV構成ファイルsoft-pending-compaction-bytes-limit修正済み保留中の圧縮バイトのソフト制限。デフォルト値は"64GB"から"192GB"に変更されます。
TiKV構成ファイルstorage.io-rate-limit新しく追加されましたTiKV書き込みのI/Oレートを制御します。デフォルト値のstorage.io-rate-limit.max-bytes-per-sec"0MB"です。
TiKV構成ファイルresolved-ts.enable新しく追加されましたすべてのリージョンリーダーに対してresolved-tsを維持するかどうかを決定します。デフォルト値はtrueです。
TiKV構成ファイルresolved-ts.advance-ts-interval新しく追加されましたresolved-tsが転送される間隔。デフォルト値は"1s"です。値は動的に変更できます。
TiKV構成ファイルresolved-ts.scan-lock-pool-size新しく追加されましたresolved-tsを初期化するときにTiKVがMVCC(マルチバージョン同時実行制御)ロックデータをスキャンするために使用するスレッドの数。デフォルト値は2です。

その他

  • アップグレードする前に、TiDB構成の値を確認してくださいfeedback-probability 。値が0でない場合、アップグレード後に「回復可能なゴルーチンのpanic」エラーが発生しますが、このエラーはアップグレードには影響しません。
  • TiDBのGoコンパイラバージョンをgo1.13.7からgo1.16.4にアップグレードします。これにより、TiDBのパフォーマンスが向上します。 TiDB開発者の場合は、Goコンパイラのバージョンをアップグレードして、スムーズにコンパイルできるようにしてください。
  • TiDBローリングアップグレード中にBinlogを使用するクラスタで、クラスター化インデックスを使用してテーブルを作成することは避けてください。
  • TiDBローリングアップグレード中にalter table ... modify columnまたはalter table ... change columnのようなステートメントを実行することは避けてください。
  • v5.1以降、各テーブルのTiFlashレプリカを構築するときに、システムテーブルのレプリカを設定することはサポートされなくなりました。クラスタをアップグレードする前に、関連するシステムテーブルのレプリカをクリアする必要があります。そうしないと、アップグレードは失敗します。
  • TiCDCのcdc cli changefeedコマンドの--sort-dirパラメータを非推奨にします。代わりに、 cdc serverコマンドで--sort-dirを設定できます。 #1795
  • TiDB 5.1にアップグレードした後、TiDBが「関数READ ONLY has only noopimplementation」エラーを返した場合、値tidb_enable_noop_functionsONに設定することで、TiDBにこのエラーを無視させることができます。これは、MySQLのread_only変数がTiDBではまだ有効になっていないためです(これはTiDBの「noop」動作です)。したがって、この変数がTiDBで設定されている場合でも、TiDBクラスタにデータを書き込むことができます。

新機能

SQL

  • MySQL8.0のCommonTableExpression(CTE)機能をサポートします。

    この機能は、階層データを再帰的または非再帰的にクエリする機能をTiDBに提供し、ツリークエリを使用して、人材、製造、金融市場、教育などの複数のセクターにアプリケーションロジックを実装するニーズを満たします。

    TiDBでは、 WITHステートメントを適用して共通テーブル式を使用できます。 ユーザードキュメント #17472

  • MySQL8.0の動的特権機能をサポートします。

    動的特権は、 SUPERの特権を制限し、TiDBに、よりきめ細かいアクセス制御のためのより柔軟な特権構成を提供するために使用されます。たとえば、動的権限を使用して、 BACKUPおよびRESTOREの操作のみを実行できるユーザーアカウントを作成できます。

    サポートされている動的特権は次のとおりです。

    • BACKUP_ADMIN
    • RESTORE_ADMIN
    • ROLE_ADMIN
    • CONNECTION_ADMIN
    • SYSTEM_VARIABLES_ADMIN

    プラグインを使用して新しい権限を追加することもできます。サポートされているすべての特権をチェックアウトするには、 SHOW PRIVILEGESステートメントを実行します。 ユーザードキュメント

  • セキュリティ拡張モード(SEM)の新しい構成項目を追加します。これにより、TiDB管理者特権がよりきめ細かく分割されます。

    セキュリティ拡張モードはデフォルトで無効になっています。有効にするには、 ユーザードキュメントを参照してください。

  • オンラインで列タイプを変更する機能を強化します。以下を含むがこれらに限定されない、 ALTER TABLEステートメントを使用したオンラインでの列タイプの変更をサポートします。

    • VARCHARからBIGINTに変更
    • DECIMAL精度の変更
    • VARCHAR(10)からVARCHAR(5)の長さを圧縮します

    ユーザードキュメント

  • 新しいSQL構文AS OF TIMESTAMPを導入して、指定された時点または指定された時間範囲から履歴データを読み取るために使用される新しい実験的機能であるStaleReadを実行します。

    ユーザードキュメント #21094

    AS OF TIMESTAMPの例は次のとおりです。

    SELECT * FROM t AS OF TIMESTAMP  '2020-09-06 00:00:00';
    START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00';
    SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00';
    
  • 新しい統計タイプtidb_analyze_version = 2 (実験的)を導入します。

    デフォルトではtidb_analyze_version2に設定されています。これにより、バージョン1のハッシュの競合によって大量のデータで発生する可能性のある大きなエラーが回避され、ほとんどのシナリオで推定精度が維持されます。

    ユーザードキュメント

取引

  • ロックビュー機能をサポートする(実験的)

    ロックビュー機能は、ペシミスティックロックのロック競合とロック待機に関する詳細情報を提供します。これは、DBAがトランザクションのロック状態を監視し、デッドロックの問題をトラブルシューティングするのに役立ちます。 #24199

    ユーザードキュメント:

    • クラスター内のすべてのTiKVノードで現在発生しているペシミスティックロックおよびその他のロックをビューしますDATA_LOCK_WAITS
    • TiDBノードで最近発生したいくつかのデッドロックエラーをビューしますDEADLOCKS
    • TiDBノードで現在実行されているトランザクション情報をビューしますTIDB_TRX

パフォーマンス

  • データレプリカの古い読み取り(実験的)

    ローカルレプリカデータを直接読み取ることで、読み取りの待ち時間を短縮し、クエリのパフォーマンスを向上させます

    ユーザードキュメント #21094

  • デフォルトで休止状態リージョン機能を有効にします。

    リージョンが長期間非アクティブ状態にある場合、リージョンは自動的にサイレント状態に設定されます。これにより、リーダーとフォロワーの間のハートビート情報のシステムオーバーヘッドが削減されます。

    ユーザードキュメント #10266

安定性

  • TiCDCの複製の安定性の問題を解決する

    • 次のシナリオでOOMを回避するために、TiCDCメモリ使用量を改善します

    • レプリケーションの中断中に1TBを超える大量のデータが蓄積されると、再レプリケーションによってOOMの問題が発生します。

    • 大量のデータ書き込みは、TiCDCでOOMの問題を引き起こします。

    • 次のシナリオで、TiCDCレプリケーションの中断の可能性を減らします。

      プロジェクト#11

      • ネットワークが不安定な場合のレプリケーションの中断
      • 一部のTiKV/PD/TiCDCノードがダウンした場合のレプリケーションの中断
  • TiFlashストレージメモリ制御

    リージョンスナップショット生成の速度とメモリ使用量を最適化し、OOMの可能性を減らします

  • TiKVバックグラウンドタスクの書き込みレートリミッターを追加します(TiKV書き込みレートリミッター)

    読み取りおよび書き込み要求の継続時間の安定性を確保するために、TiKV書き込みレートリミッターは、GCや圧縮などのTiKVバックグラウンドタスクの書き込みトラフィックをスムーズにします。 TiKVバックグラウンドタスク書き込みレートリミッターのデフォルト値は「0MB」です。この値は、クラウドディスクの製造元が指定した最大I / O帯域幅など、ディスクの最適なI/O帯域幅に設定することをお勧めします。

    ユーザードキュメント #9156

  • 複数のスケーリングタスクが同時に実行される場合のスケジューリングの安定性の問題を解決します

テレメトリー

TiDBは、実行ステータス、障害ステータスなどを含む、テレメトリでのTiDBクラスタ要求の実行ステータスを追加します。

情報とこの動作を無効にする方法の詳細については、 テレメトリーを参照してください。

改善点

  • TiDB

    • 組み込み機能をサポートするVITESS_HASH() #23915
    • WHERE#23619で列挙型を使用する場合のパフォーマンスを向上させるために、列挙型のデータをTiKVにプッシュダウンすることをサポートします。
    • ROW_NUMBER() #23807を使用してデータをページングするときに、TiDBOOMの問題を解決するためにウィンドウ関数の計算を最適化します。
    • UNION ALLの計算を最適化して、 UNION ALLを使用して多数のSELECTのステートメントを結合する場合のTiDBOOMの問題を解決します#21441
    • パーティションテーブルの動的プルーニングモードを最適化して、パフォーマンスと安定性を向上させます#24150
    • 複数のシナリオで発生するRegion is Unavailableの問題を修正しますプロジェクト#62
    • 頻繁なスケジューリング状況で発生する可能性のある複数のRegion is Unavailableの問題を修正します
    • 一部の高ストレス書き込み状況で発生する可能性があるRegion is Unavailableの問題を修正
    • キャッシュされた統計が最新の場合は、CPU使用率が高くなるのを避けるために、 mysql.stats_histogramsテーブルを頻繁に#24317ことは避けてください。
  • TiKV

    • zstdを使用してリージョンスナップショットを圧縮し、大量のスケジューリングまたはスケーリングの場合にノード間の大きなスペースの違いを防ぎます#10005

    • 複数のケースでOOMの問題を解決する#10183

      • 各モジュールのメモリ使用量追跡を追加します
      • 特大のRaftエントリキャッシュによって引き起こされるOOMの問題を解決します
      • スタックされたGCタスクによって引き起こされるOOMの問題を解決します
      • 一度にRaftログからメモリにフェッチするRaftエントリが多すぎるために発生するOOMの問題を解決します
    • ホットスポット書き込みがある場合にリージョンサイズの増加がスプリット速度を超えるという問題を軽減するために、リージョンをより均等に分割する#9785

  • TiFlash

    • Union All 、およびTopNの関数をLimit
    • MPPモードでの左外部結合とセミアンチ結合を含むデカルト積をサポートします
    • ロック操作を最適化して、実行中のDDLステートメントと読み取り操作が相互にブロックされないようにします
    • TiFlashによる期限切れデータのクリーンアップを最適化する
    • TiFlashストレージレベルでtimestamp列のクエリフィルターのさらなるフィルタリングをサポート
    • 多数のテーブルがクラスタにある場合のTiFlashの起動速度とスケーラビリティー速度の向上
    • 不明なCPUで実行する場合のTiFlashの互換性を改善
  • PD

    • scatter regionスケジューラーを追加した後の予期しない統計を回避する#3602

    • スケーリングプロセスにおける複数のスケジューリングの問題を解決する

      • レプリカスナップショットの生成プロセスを最適化して、スケーリング中の遅いスケジューリングの問題を解決します#3563 #10059 #10001
      • トラフィックの変化による#3751のプレッシャーによって引き起こされる遅いスケジューリングの問題を解決し#3693 #3739 #3728
      • スケジューリングによる大きなクラスターのスペースの不一致を減らし、スケジューリング式を最適化して、大きな圧縮率の不一致によって引き起こされるバーストの問題(異種スペースクラスターと同様)を防止します#3592 #10005
  • ツール

    • バックアップと復元(BR)

      • mysql #1078 #1143でのシステムテーブルのバックアップと復元のサポート
      • 仮想ホストアドレッシングモードに基づくS3互換ストレージをサポートする#10243
      • backupmetaのフォーマットを最適化して、メモリ使用量を削減します#1171
    • TiCDC

      • 一部のログメッセージの説明を改善して、問題の診断に役立つようにします#1759
      • 背圧機能をサポートして、TiCDCスキャン速度がダウンストリーム処理能力を検出できるようにします#10151
      • TiCDCが初期スキャンを実行するときのメモリ使用量を減らす#10133
      • 悲観的トランザクションにおけるTiCDC旧値のキャッシュヒット率を改善する#10089
    • Dumpling

      • TiDBがメモリ不足(OOM)になるのを防ぐために、TiDBv4.0からデータをエクスポートするロジックを改善します#273

      • バックアップ操作が失敗してもエラーが出力されない問題を修正します#280

    • TiDB Lightning

      • データのインポート速度を向上させます。最適化の結果は、TPC-Cデータのインポート速度が30%向上し、より多くのインデックス(5インデックス)を持つ大きなテーブル(2TB +)のインポート速度が50%以上向上することを示しています。 #753
      • インポートするデータとインポートする前のターゲットクラスタに事前チェックを追加し、インポート要件を満たしていない場合はインポートプロセスを拒否するエラーを報告します#999
      • ローカルバックエンドでのチェックポイント更新のタイミングを最適化して、ブレークポイントからの再起動のパフォーマンスを向上させます#1080

バグの修正

  • TiDB

    • 投影結果が空の場合、プロジェクト除去の実行結果が間違っている可能性がある問題を修正します#23887
    • 列にNULLの値が含まれている場合の誤ったクエリ結果の問題を修正します#23891
    • スキャンに仮想列が含まれている場合にMPPプランの生成を禁止する#23886
    • プラン#23144 #23187でのPointGetTableDual#23290た再利用を#23304
    • オプティマイザーがクラスター化インデックスのIndexMergeプランを作成するときに発生するエラーを修正します#23906
    • BITタイプエラーのタイプ推論を修正します#23832
    • PointGet演算子が存在する場合に一部のオプティマイザヒントが有効にならない問題を修正します#23570
    • エラー#23893が原因でロールバック時にDDL操作が失敗する可能性がある問題を修正します
    • バイナリリテラル定数のインデックス範囲が正しく構築されない問題を修正します#23672
    • 場合によってはIN句の潜在的な誤った結果を修正します#23889
    • 一部の文字列関数の誤った結果を修正する#23759
    • ユーザーは、 REPLACEの操作を実行するために、テーブルに対してINSERTDELETEの両方の特権が必要になります#23909
    • ユーザーは、 REPLACEの操作を実行するために、テーブルに対してINSERTDELETEの両方の特権が必要になります#24070
    • バイナリとバイト#23846を誤って比較することによって引き起こされた間違ったTableDualプランを修正します
    • 場合によっては#24717インデックスとインデックス結合を使用することによって引き起こされるpanicの問題を修正し#24547 #24716
    • 準備されたプランキャッシュpoint getがトランザクション#24741point getステートメントによって誤って使用される問題を修正します。
    • 照合順序がascii_binまたは#24569の場合に、間違ったプレフィックスインデックス値を書き込む問題を修正しlatin1_bin
    • 進行中のトランザクションがGCワーカーによって中断される可能性があるという問題を修正します#24591
    • new-collationが有効で、 new-row-formatが無効の場合、クラスター化インデックスでポイントクエリが間違ってしまう可能性があるバグを修正します#24541
    • シャッフルハッシュ結合#24490のパーティションキーの変換をリファクタリングする
    • HAVING#24045を含むクエリのプランを作成するときに発生するpanicの問題を修正します
    • 列プルーニングの改善により、 ApplyおよびJoinの演算子の結果が間違ってしまう問題を修正します#23887
    • 非同期コミットからフォールバックされたプライマリロックを解決できないバグを修正します#24384
    • fm-sketchレコードの重複を引き起こす可能性のある統計のGCの問題を修正します#24357
    • 悲観的ロックがErrKeyExistsエラー#23799を受け取ったときに、不必要な悲観的ロールバックを回避します。
    • sql_modeにANSI_QUOTESが含まれていると、数値リテラルが認識されない問題を修正し#24429
    • リストされていないパーティションからデータを読み取るためのINSERT INTO table PARTITION (<partitions>) ... ON DUPLICATE KEY UPDATEなどのステートメントの禁止#24746
    • SQLステートメントにGROUP BY#24281の両方が含まれている場合の潜在的なindex out of rangeエラーを修正しUNION
    • CONCAT関数が照合順序#24296を誤って処理する問題を修正します
    • collation_serverグローバル変数が新しいセッションで有効にならない問題を修正します#24156
  • TiKV

    • コプロセッサーがIN#9821の符号付きまたは符号なし整数型を適切に処理できない問題を修正します。
    • SSTファイルをバッチ取り込みした後の多くの空のリージョンの問題を修正します#964
    • ファイル辞書ファイルが破損した後、TiKVが起動できないバグを修正#9886
    • 古い値の読み取りによって引き起こされる#9981の問題を修正します#9996
    • 照合順序がlatin1_binの場合に、クラスター化された主キー列の2次インデックスの値が空になる問題を修正し#24548
    • panicが発生したときにTiKVがコアダンプファイルを生成できるようにするabort-on-panicの構成を追加します。ユーザーは、コアダンプ#10216を有効にするために環境を正しく構成する必要があります。
    • TiKVがビジーでないときに発生するpoint getクエリのパフォーマンス回帰の問題を修正します#10046
  • PD

    • 店舗数が多いとPDリーダーの再選が遅くなる問題を修正#3697

    • 存在しないストアからエビクトリーダースケジューラを削除するときに発生するpanicの問題を修正します#3660

    • オフラインピアがマージされた後に統計が更新されない問題を修正します#3611

  • TiFlash

    • 時間型を整数型にキャストするときの誤った結果の問題を修正します
    • receiverが10秒以内に対応するタスクを見つけることができないバグを修正します
    • cancelMPPQueryに無効なイテレータが存在する可能性があるという問題を修正します
    • bitwise演算子の動作がTiDBの動作と異なるバグを修正します
    • prefix keyを使用するときに範囲が重複することによって引き起こされるアラートの問題を修正します
    • 文字列型を整数型にキャストするときの誤った結果の問題を修正しました
    • 連続した高速書き込みによってTiFlashのメモリが不足する可能性がある問題を修正します
    • テーブルGC中にnullポインタの例外が発生する可能性があるという潜在的な問題を修正します
    • ドロップされたテーブルにデータを書き込むときに発生するTiFlashpanicの問題を修正します
    • BRの復元中にTiFlashがpanicになる可能性がある問題を修正します
    • 共有デルタインデックスを同時に複製するときの誤った結果の問題を修正します
    • 圧縮フィルター機能が有効になっているときに発生する可能性のあるpanicを修正します
    • TiFlashが非同期コミットからフォールバックしたロックを解決できない問題を修正します
    • TIMEZONEタイプのキャスト結果にTIMESTAMPタイプが含まれている場合に、誤った結果が返される問題を修正しました
    • セグメント分割中に発生するTiFlashpanicの問題を修正します
  • ツール

    • TiDB Lightning

      • KVデータの生成時に発生するTiDB Lightningpanicの問題を修正します#1127
      • データのインポート中にキーの合計サイズがラフトエントリの制限を超えたためにバッチ分割リージョンが失敗するバグを修正します#969
      • CSVファイルをインポートするときに、ファイルの最後の行に改行文字( \r\n )が含まれていない場合、エラーが報告される問題を修正します#1133
      • インポートするテーブルにdoubleタイプの自動インクリメント列が含まれている場合、auto_increment値が異常になる問題を修正します#1178
    • バックアップと復元(BR)

      • いくつかのTiKVノードの障害によって引き起こされるバックアップ中断の問題を修正します#980
    • TiCDC

      • Unified Sorterの同時実行の問題を修正し、役に立たないエラーメッセージをフィルタリングします#1678
      • 冗長ディレクトリの作成がMinIO1でのレプリケーションを中断する可能性があるバグを修正し#1463
      • explicit_defaults_for_timestampセッション変数のデフォルト値をONに設定して、 MySQL 5.7ダウンストリームがアップストリーム#1585と同じ動作を維持するようにします。
      • io.EOFの不適切な処理により、レプリケーションが中断される可能性があるという問題を修正します#1633
      • TiCDCダッシュボードのTiKVCDCエンドポイントCPUメトリックを修正します#1645
      • 場合によってはレプリケーションのブロックを回避するためにdefaultBufferChanSizeを増やします#1259
      • Avro出力#1712でタイムゾーン情報が失われる問題を修正します
      • Unified Sorterで古い一時ファイルのクリーンアップをサポートし、 sort-dirのディレクトリの共有を禁止します#1742
      • 多くの古いリージョンが存在する場合に発生するKVクライアントのデッドロックバグを修正します#1599
      • --cert-allowed-cnフラグ#1697の間違ったヘルプ情報を修正します
      • #1750にデータを複製するときにSUPER特権を必要とするexplicit_defaults_for_timestampの更新を元に戻します。
      • シンクフロー制御をサポートして、メモリオーバーフローのリスクを軽減します#1840
      • テーブルを移動するときにレプリケーションタスクが停止する可能性があるバグを修正します#1828
      • TiCDCチェンジフィードチェックポイント#1759の停滞により、TiKVGCセーフポイントがブロックされる問題を修正します。