TiDB 5.3 リリースノート
発売日:2021年11月30日
TiDB バージョン: 5.3.0
v5.3 の主な新機能または改善点は次のとおりです。
- 一時テーブルを導入してアプリケーションロジックを簡素化し、パフォーマンスを向上させる
- テーブルとパーティションの属性設定をサポート
- システムセキュリティを強化するために、TiDB Dashboardで最小限の権限を持つユーザーの作成をサポートします。
- TiDBのタイムスタンプ処理フローを最適化して全体的なパフォーマンスを向上させる
- TiDB Data Migration (DM)のパフォーマンスを強化し、MySQLからTiDBへのデータ移行のレイテンシーを低減します。
- 複数のTiDB Lightningインスタンスを使用した並列インポートをサポートし、完全なデータ移行の効率を向上します。
- 単一のSQL文でクラスタのオンサイト情報を保存・復元する機能をサポートし、実行計画に関する問題のトラブルシューティング効率を向上します。
- データベースパフォーマンスの観測性を向上させるために、継続的なプロファイリングの実験的機能をサポートします。
- システムのパフォーマンスと安定性を向上させるために、ストレージとコンピューティングエンジンの最適化を継続します。
- I/O 操作をRaftstoreスレッドプールから分離することで、TiKV の書き込みレイテンシーを削減します (デフォルトでは無効)
互換性の変更
システム変数
コンフィグレーションファイルのパラメータ
その他
一時テーブル:
TiDB クラスター v5.3.0 より前のバージョンでローカル一時テーブルを作成した場合、これらのテーブルは通常のテーブルであり、クラスターを v5.3.0 以降にアップグレードした後も通常のテーブルとして扱われます。v5.3.0 以降のバージョンの TiDB クラスターでグローバル一時テーブルを作成した場合、クラスターを v5.3.0 より前のバージョンにダウングレードすると、これらのテーブルは通常のテーブルとして扱われ、データエラーが発生します。
v5.3.0以降、TiCDCとBRはグローバル一時テーブルサポートします。v5.3.0より前のバージョンのTiCDCとBRを使用してグローバル一時テーブルをダウンストリームに複製すると、テーブル定義エラーが発生します。
次のクラスターは、v5.3.0 以降である必要があります。そうでない場合、グローバル一時テーブルを作成するときにデータ エラーが報告されます。
- TiDB移行ツールを使用してインポートするクラスター
- TiDB移行ツールを使用してクラスタを復元しました
- TiDB移行ツールを使用したレプリケーションタスクの下流クラスタ
一時テーブルの互換性情報については、 MySQL 一時テーブルとの互換性および他の TiDB 機能との互換性の制限を参照してください。
v5.3.0より前のリリースでは、システム変数が無効な値に設定された場合、TiDBはエラーを報告します。v5.3.0以降のリリースでは、システム変数が無効な値に設定された場合、TiDBは「|警告 | 1292 | 切り捨てられた不正なxxx: 'xx'」などの警告とともに成功を返します。
SHOW CREATE VIEWを実行するためにSHOW VIEW権限が必要ない問題を修正しました。これで、SHOW CREATE VIEW文を実行するにはSHOW VIEW権限が必要になります。システム変数
sql_auto_is_nullが noop関数に追加されます。tidb_enable_noop_functions = 0/OFFの場合、この変数値を変更するとエラーが発生します。GRANT ALL ON performance_schema.*構文は許可されなくなりました。この文を TiDB で実行するとエラーが発生します。バージョン5.3.0より前のバージョンでは、新しいインデックスが追加されると、指定期間外でも自動分析が予期せず実行される問題を修正しました。バージョン5.3.0では、変数
tidb_auto_analyze_start_timeとtidb_auto_analyze_end_timeで期間を設定すると、その期間のみ自動分析が実行されます。プラグインのデフォルトのストレージディレクトリが
""から/data/deploy/pluginに変更されます。DMコードはTiCDCコードリポジトリのフォルダ"dm"に移行されました。DMのバージョン番号はTiDBに準じます。v2.0.xの次に新しいDMバージョンはv5.3.0となり、v2.0.xからv5.3.0へのアップグレードはリスクなしで行えます。
Prometheusのデフォルトのデプロイバージョンは、v2.8.1から2021年5月にリリースされるバージョン2.27.1にアップグレードされました。このバージョンでは、より多くの機能が提供され、セキュリティ問題が修正されています。Prometheus v2.8.1と比較して、v2.27.1ではアラートの時刻表示がUnixタイムスタンプからUTCに変更されました。詳細はPrometheusコミットを参照してください。
新機能
SQL
SQL インターフェースを使用してデータの配置ルールを設定する(実験的機能)
データの配置ルールを設定するためのSQLインターフェースを提供する
[CREATE | ALTER] PLACEMENT POLICY構文をサポートします。この機能を使用すると、特定のリージョン、データセンター、ラック、ホスト、またはレプリカ数ルールにスケジュールするテーブルとパーティションを指定できます。これにより、コスト削減と柔軟性の向上というアプリケーションの要求を満たすことができます。一般的なユーザーシナリオは以下のとおりです。異なるアプリケーションの複数のデータベースを統合してデータベースのメンテナンスコストを削減し、ルール構成を通じてアプリケーションリソースの分離を実現します。
重要なデータのレプリカ数を増やして、アプリケーションの可用性とデータの信頼性を向上させます。
新しいデータを SSD に保存し、古いデータを HHD に保存することで、データのアーカイブとストレージのコストを削減します。
ホットスポットデータのリーダーを高性能TiKVインスタンスにスケジュールする
コスト効率を向上させるために、コールドデータを低コストのストレージメディアに分離する
一時テーブル
一時テーブルを作成するための
CREATE [GLOBAL] TEMPORARY TABLE文をサポートします。この機能を使用すると、アプリケーションの計算処理中に生成される一時データを簡単に管理できます。一時データはメモリに保存され、tidb_tmp_table_max_size変数を使用して一時テーブルのサイズを制限できます。TiDBは以下の種類の一時テーブルをサポートしています。グローバル一時テーブル
- クラスター内のすべてのセッションに表示され、テーブルスキーマは永続的です。
- トランザクションレベルのデータ分離を提供します。一時データはトランザクション内でのみ有効です。トランザクションが終了すると、データは自動的に削除されます。
ローカル一時テーブル
現在のセッションにのみ表示され、テーブルスキーマは永続的ではありません。
重複したテーブル名をサポートします。アプリケーションに複雑な命名規則を設計する必要はありません。
セッションレベルのデータ分離を提供し、よりシンプルなアプリケーションロジックの設計を可能にします。トランザクションが完了すると、一時テーブルは削除されます。
FOR UPDATE OF TABLES構文をサポートする複数のテーブルを結合する SQL 文の場合、 TiDB は、
OF TABLESに含まれるテーブルに関連付けられた行に対する悲観的ロックの取得をサポートします。表属性
テーブルまたはパーティションの属性を設定できる
ALTER TABLE [PARTITION] ATTRIBUTESステートメントをサポートします。現在、TiDB はmerge_option属性の設定のみをサポートしています。この属性を追加することで、リージョンのマージ動作を明示的に制御できます。ユーザーシナリオ:
SPLIT TABLE操作を実行すると、一定期間(PDパラメータsplit-merge-intervalで制御)経過してもデータが挿入されない場合、空のリージョンはデフォルトで自動的にマージされます。この場合、テーブル属性をmerge_option=denyに設定することで、リージョンの自動マージを回避できます。
セキュリティ
TiDB Dashboardで最小限の権限を持つユーザーの作成をサポート
TiDB Dashboardのアカウントシステムは、 TiDB SQLのアカウントシステムと一致しています。TiDB Dashboardにアクセスするユーザーは、TiDB SQLユーザーの権限に基づいて認証および認可されます。そのため、TiDB Dashboardでは限定的な権限、つまり読み取り専用権限のみが必要です。最小限の権限の原則に基づいてユーザーがTiDB Dashboardにアクセスできるように設定することで、高い権限を持つユーザーのアクセスを回避できます。
TiDB Dashboardにアクセスしてサインインするには、最小限の権限を持つSQLユーザーを作成することをお勧めします。これにより、高い権限を持つユーザーによるアクセスを回避し、セキュリティを向上できます。
パフォーマンス
PDのタイムスタンプ処理フローを最適化
TiDBは、PDFollowerプロキシを有効にし、PDクライアントがTSOをバッチで要求する際に必要なバッチ待機時間を変更することで、タイムスタンプ処理フローを最適化し、PDのタイムスタンプ処理負荷を軽減します。これにより、システム全体のスケーラビリティが向上します。
システム変数
tidb_enable_tso_follower_proxyを介して PDFollowerプロキシの有効化/無効化をサポートします。PD の TSO リクエスト負荷が高すぎる場合、PD フォロワープロキシを有効にすると、フォロワーのリクエストサイクル中に収集された TSO リクエストをリーダーノードに一括転送できます。このソリューションにより、クライアントとリーダー間の直接的なインタラクション数を効果的に削減し、リーダーへの負荷を軽減し、TiDB 全体のパフォーマンスを向上させることができます。システム変数
tidb_tso_client_batch_max_wait_timeを使用して、PDクライアントがTSOをバッチリクエストするために必要な最大待機時間を設定できます。この時間の単位はミリ秒です。PDのTSOリクエスト負荷が高い場合は、待機時間を増やしてバッチサイズを大きくすることで、負荷を軽減し、スループットを向上させることができます。
安定性
一部のストアが永久的に損傷した後のオンラインの安全でない回復をサポートします(実験的機能)
オンラインデータアンセーフリカバリを実行するコマンド
pd-ctl unsafe remove-failed-storesをサポートします。データレプリカの大部分が永続的な損傷(ディスク損傷など)などの問題に遭遇し、それらの問題によってアプリケーションのデータ範囲が読み取りまたは書き込み不能になったとします。このような場合、PDに実装されているオンラインアンセーフリカバリ機能を使用してデータをリカバリし、再び読み取りまたは書き込み可能になります。機能関連の操作は、TiDB チームのサポートを受けて実行することをお勧めします。
データ移行
DMレプリケーションパフォーマンスの強化
MySQL から TiDB への低レイテンシのデータレプリケーションを保証するために、次の機能をサポートしています。
- 1行の複数の更新を1つのステートメントにまとめる
- 複数行のバッチ更新を1つのステートメントにマージする
DM クラスターをより適切に管理するために DM OpenAPI を追加します (実験的機能)
DMは、DMクラスタのクエリと操作のためのOpenAPI機能を提供します。これはdmctlツールの機能に類似しています。
現在、DM OpenAPI は実験的機能であり、デフォルトで無効になっています。本番環境での使用は推奨されません。
TiDB Lightning並列インポート
TiDB Lightningは、従来の機能を拡張し、並列インポート機能を提供します。複数のLightningインスタンスを同時にデプロイすることで、単一または複数のテーブルを下流のTiDBに並列インポートできます。お客様の利用方法を変えることなく、データ移行能力を大幅に向上させ、よりリアルタイムなデータ移行を実現し、さらなる処理、統合、分析を可能にします。これにより、企業のデータ管理効率が向上します。
当社のテストでは、10個のTiDB Lightningインスタンスを使用して、合計20TiBのMySQLデータを8時間以内にTiDBにインポートできました。複数テーブルのインポートパフォーマンスも向上しました。1個のTiDB Lightningインスタンスで250GiB/hのインポートをサポートし、全体的な移行速度は従来の8倍に向上しました。
TiDB Lightning事前チェック
TiDB Lightningは、移行タスクを実行する前に設定を確認する機能を提供します。これはデフォルトで有効になっています。この機能は、ディスク容量と実行設定に関するいくつかの定期的なチェックを自動的に実行します。主な目的は、後続のインポートプロセス全体がスムーズに実行されるようにすることです。
TiDB LightningはGBK文字セットのファイルのインポートをサポートします
ソースデータファイルの文字セットを指定できます。TiDB Lightningは、インポートプロセス中に、指定された文字セットからUTF-8エンコードに変換します。
sync-diff-inspectorの改善
比較速度を375 MB/秒から700 MB/秒に向上
比較中にTiDBノードのメモリ消費量をほぼ半分に削減
ユーザーインターフェースを最適化し、比較中に進行状況バーを表示します
診断効率
クラスターのオンサイト情報を保存および復元する
TiDB クラスタの問題を特定してトラブルシューティングする際には、システム情報やクエリプランの情報が必要になることがよくあります。より便利かつ効率的に情報を取得し、クラスタの問題をトラブルシューティングできるよう、TiDB v5.3.0 では
PLAN REPLAYERコマンドが導入されました。このコマンドを使用すると、クラスタのオンサイト情報を簡単に保存・復元できるため、トラブルシューティングの効率が向上し、管理のために問題をアーカイブしやすくなります。PLAN REPLAYERの特徴は以下のとおりです。オンサイトトラブルシューティング時の TiDB クラスターの情報を ZIP 形式のファイルにエクスポートしてストレージ。
別のTiDBクラスタからエクスポートされたZIP形式のファイルをクラスタにインポートします。このファイルには、オンサイトトラブルシューティング時の後者のTiDBクラスタの情報が含まれています。
TiDBデータ共有サブスクリプション
TiCDC 結果的に一貫性のあるレプリケーション
TiCDCは、災害シナリオにおいて結果整合性のあるレプリケーション機能を提供します。プライマリTiDBクラスタで災害が発生し、短期間でサービスを再開できない場合、TiCDCはセカンダリクラスタのデータの整合性を確保する機能を提供する必要があります。同時に、TiCDCは、データベースが長時間利用できなくなり業務に支障をきたすことを回避するため、ビジネス部門がトラフィックをセカンダリクラスタに迅速に切り替えられるようにする必要があります。
この機能は、TiCDC が TiDB クラスターからセカンダリリレーショナルデータベース TiDB/ Aurora/MySQL/MariaDB に増分データをレプリケーションすることをサポートします。プライマリクラスターがクラッシュした場合、災害発生前の TiCDC のレプリケーション状態が正常で、レプリケーション遅延が小さいという条件付きで、TiCDC は 5分以内にセカンダリクラスターをプライマリクラスター内の特定のスナップショットに復旧できます。これにより、データ損失は 30分未満、つまり RTO <= 5分、RPO <= 30分を実現できます。
TiCDCは、TiCDCタスクを管理するためのHTTPプロトコルOpenAPIをサポートしています。
TiDB v5.3.0以降、TiCDC OpenAPIが一般提供(GA)されました。本番環境では、OpenAPIを使用してTiCDCクラスターのクエリと操作を行うことができます。
デプロイと保守
継続的なプロファイリング(実験的機能)
TiDB Dashboardは、TiDBクラスターの稼働中にインスタンスのパフォーマンス分析結果をリアルタイムで自動保存する継続的プロファイリング機能をサポートしています。パフォーマンス分析結果はフレームグラフで確認できるため、より詳細な観察が可能になり、トラブルシューティングにかかる時間を短縮できます。
この機能はデフォルトで無効になっており、TiDB Dashboardの継続プロファイルページで有効にする必要があります。
この機能は、 TiUP v1.7.0 以降を使用してアップグレードまたはインストールされたクラスターでのみ使用できます。
テレメトリー
TiDBは、TEMPORARY TABLE機能が使用されているかどうかに関する情報をテレメトリレポートに追加します。これにはテーブル名やテーブルデータは含まれません。
テレメトリの詳細とこの動作を無効にする方法については、 テレメトリーを参照してください。
削除された機能
TiCDC v5.3.0以降、TiDBクラスター間の循環レプリケーション機能(v5.0.0では実験的機能)は削除されました。TiCDCのアップグレード前にこの機能を使用してデータをレプリケーションしていた場合、アップグレード後も関連データは影響を受けません。
改善点
TiDB
- コプロセッサがロックに遭遇したときに影響を受けるSQL文をデバッグログに表示します。これは問題の診断に役立ちます#27718
- SQL論理レイヤーでデータをバックアップおよび復元するときに、バックアップおよび復元データのサイズを表示する機能をサポート #27247
tidb_analyze_versionが2の場合の ANALYZE のデフォルトのコレクション ロジックを改善し、コレクションを高速化し、リソースのオーバーヘッドを削減します。ANALYZE TABLE table_name COLUMNS col_1, col_2, ... , col_n構文を導入します。この構文を使用すると、幅の広いテーブル内の一部の列のみの統計情報を収集できるため、統計収集の速度が向上します。
TiKV
ディスクスペース保護を強化してストレージの安定性を向上
ディスク書き込みエラーが発生した場合にTiKVがpanicに陥る可能性がある問題を解決するため、TiKVは2段階のしきい値防御メカニズムを導入し、過剰なトラフィックによるディスク残容量の枯渇を防ぎます。さらに、このメカニズムは、しきい値に達した際に領域を回収する機能も提供します。残容量しきい値に達すると、一部の書き込み操作が失敗し、TiKVはディスクフルエラーとディスクフルノードのリストを返します。この場合、領域を回復してサービスを復旧するには、
Drop/Truncate Tableを実行するか、ノードをスケールアウトします。L0フロー制御のアルゴリズムを簡素化する #10879
ラフトクライアントモジュールのエラーログレポートを改善 #10944
パフォーマンスのボトルネックにならないようにログスレッドを改善する#10841
書き込みクエリの統計タイプを追加する#10507
I/O操作をRaftstoreスレッドプールから分離することで、書き込みレイテンシーを削減します(デフォルトでは無効)。チューニングの詳細については、 TiKV スレッドプールのパフォーマンスを調整する を参照してください。 #10540
PD
TiFlash
TableScanオペレーターの実行効率を大幅に向上
Exchangeオペレーターの実行効率を向上させる
ストレージエンジンの GC 中の書き込み増幅とメモリ使用量を削減します (実験的機能)
TiFlash の再起動時にTiFlashの安定性と可用性が向上し、再起動後に発生する可能性のあるクエリの失敗が減少します。
複数の新しい文字列および時間関数を MPP エンジンにプッシュダウンする機能をサポート
- 文字列関数: LIKE パターン、FORMAT()、LOWER()、LTRIM()、RTRIM()、SUBSTRING_INDEX()、TRIM()、UCASE()、UPPER()
- 数学関数:ROUND(小数点、整数)
- 日付と時刻関数: HOUR(), MICROSECOND(), MINUTE(), SECOND(), SYSDATE()
- 型変換関数: CAST(time, real)
- 集計関数: GROUP_CONCAT(), SUM(enum)
512ビットSIMDをサポート
古いデータのクリーンアップアルゴリズムを強化してディスク使用量を削減し、ファイルをより効率的に読み取ります
一部のLinux以外のシステムでダッシュボードにメモリやCPUの情報が表示されない問題を修正
TiFlashログファイルの命名スタイルを統一し (TiKV の命名スタイルと一貫性を保つ)、logger.count と logger.size の動的な変更をサポートします。
列ベースのファイルのデータ検証機能の改善(チェックサム、実験的機能)
ツール
バグ修正
TiDB
- 実行中に発生するエラーを修正しました。これは、パーティションテーブル で集計オペレーターをプッシュダウンする際に、スキーマ列の浅いコピーが行われることが原因で発生します。 #26554 #27797
plan cache符号なしフラグの変更を検出できない問題を修正#28254- パーティション関数が範囲外の場合の誤ったパーティションプルーニングを修正#28233
- プランナーが場合によっては無効なプランをキャッシュする可能性がある問題を修正
join#28087 - ハッシュ列の型が
enumの場合の誤ったIndexLookUpJoin修正 #27893 - アイドル接続をリサイクルすると、まれにリクエストの送信がブロックされる可能性があるバッチクライアントのバグを修正しました#27688
- ターゲットクラスタでチェックサムの実行に失敗した場合のTiDB Lightning panic問題を修正しました。 #27686
- いくつかのケースで
date_addとdate_sub関数の誤った結果を修正#27232 - ベクトル化された式の関数
hourの誤った結果を修正します #28643 - MySQL 5.1 またはそれ以前のクライアントバージョンに接続する際の認証の問題を修正しました #27855
- 新しいインデックスが追加されたときに、指定された時間外にauto analyzeがトリガーされる可能性がある問題を修正しました#28698
- セッション変数を設定すると
tidb_snapshotが無効になるバグを修正 #28683 - ピアが見つからないリージョンが多数あるクラスタでBRが機能しないバグを修正#27534
- サポートされていない
castTiFlash にプッシュダウンされたときに発生するtidb_cast to Int32 is not supportedのような予期しないエラーを修正しました #23907 %s value is out of range in '%s'エラーメッセージにDECIMAL overflowが欠落している問題を修正 #27964- MPPノードの可用性検出が一部のコーナーケースで機能しないバグを修正#3118
MPP task IDを割り当てる際のDATA RACE問題を修正 #27952- 空の
dual tableを削除した後のMPPクエリのINDEX OUT OF RANGEエラーを修正 #28250 - MPPクエリの誤検知エラーログ
invalid cop task execution summaries lengthの問題を修正 #1791 - MPPクエリのエラーログ
cannot found column in Schema columnの問題を修正 #28149 - TiFlashがシャットダウンするときに TiDB がpanicする可能性がある問題を修正#28096
- 安全でない3DES(トリプルデータ暗号化アルゴリズム)ベースのTLS暗号スイートのサポートを削除します。 #27859
- Lightning が事前チェック中にオフラインの TiKV ノードに接続し、インポートに失敗する問題を修正しました#27826
- 多数のファイルをテーブルにインポートするときに事前チェックに時間がかかりすぎる問題を修正しました #27605
- 式書き換えると間違った照合順序が推測される問題を修正
between#27146 group_concat関数が照合順序を考慮していなかった問題を修正#27429extract関数の引数が負の期間場合に発生する結果の誤りを修正 #27236NO_UNSIGNED_SUBTRACTIONに設定されている場合にパーティションの作成が失敗する問題を修正 #26765- 列プルーニングと集計プッシュダウンで副作用のある式を避ける #27106
- 不要なgRPCログを削除する#24190
- 有効な小数点以下の桁数を制限することで精度関連の問題を修正する#3091
plus式のオーバーフローのチェック方法が間違っている問題を修正 #26977new collationデータを持つテーブルから統計をダンプするときにdata too longエラーが発生する問題を修正しました#27024- 再試行されたトランザクションのステートメントが
TIDB_TRXに含まれない問題を修正 #28670 plugin_dir構成の誤ったデフォルト値を修正 #28084- 名前付きタイムゾーンとUTCオフセットが指定された場合、
CONVERT_TZ関数がNULL返す問題を修正しました。 #8311 CREATE SCHEMAステートメントの一部として何も提供されていない場合、新しいスキーマに対してcharacter_set_serverとcollation_serverで指定された文字セットを使用しない問題を修正しました。 #27214
TiKV
- リージョン移行時にRaftstoreのデッドロックによりTiKVが利用できなくなる問題を修正しました。回避策としては、スケジュールを無効にし、利用できないTiKV を再起動してください。 #10909
- 輻輳エラーによりCDCがスキャン再試行を頻繁に追加する問題を修正 #11082
- チャネルがいっぱいになるとRaft接続が切断される問題を修正#11047
- Raftクライアント実装でバッチメッセージが大きすぎる問題を修正 #9714
resolved_tsで一部のコルーチンがリークする問題を修正 #10965- 応答サイズが4 GiBを超えるとコプロセッサに発生するpanic問題を修正#9012
- スナップショットファイルがガベージコレクションできない場合に、スナップショット ガベージコレクション (GC) で GC スナップショットファイルが失われる問題を修正しました#10813
- コプロセッサー要求の処理中にタイムアウトによって発生するpanic問題を修正#10852
- 統計スレッドの監視データによって発生するメモリリークを修正しました #11195
- 一部のプラットフォームから cgroup 情報を取得する際に発生するpanic問題を修正#10980
- MVCC 削除バージョンが圧縮フィルタ GC によって削除されないため、スキャンパフォーマンスが低下する問題を修正しました。 #11248
PD
TiFlash
- TiFlashストアサイズ統計の不正確さの問題を修正
- ライブラリ
nslがないため、一部のプラットフォームでTiFlashが起動に失敗する問題を修正しました。 - 書き込み圧力が大きい場合、
wait indexの無限待機をブロックします (デフォルトの 5分のタイムアウトが追加されます)。これにより、 TiFlash がデータ複製を待機してサービスを提供するのに時間がかかりすぎるのを防ぎます。 - ログボリュームが大きい場合にログ検索が遅くなり、結果が表示されない問題を修正しました
- 古い履歴ログを検索するときに最新のログしか検索できない問題を修正しました
- 新しい照合順序が有効になっているときに間違った結果になる可能性を修正しました
- SQL 文に非常に長いネストされた式が含まれている場合に発生する可能性のある解析エラーを修正しました。
- Exchangeオペレーターの
Block schema mismatchエラーを修正 - Decimal型の比較時に発生する可能性のある
Can't compareエラーを修正 left/substring関数の3rd arguments of function substringUTF8 must be constantsエラーを修正する
ツール
TiCDC
- 上流の TiDB インスタンスが予期せず終了すると、TiCDC レプリケーションタスクが終了する可能性がある問題を修正しました#3061
- TiKV が同じリージョンに重複したリクエストを送信したときに TiCDC プロセスがpanicになる可能性がある問題を修正しました。 #2386
- 下流の TiDB/MySQL の可用性を検証する際の不要な CPU 消費を修正#3073
- TiCDCによって生成されるKafkaメッセージの量が
max-message-sizeに制限されない問題を修正 #2962 - Kafka メッセージの書き込み中にエラーが発生すると、TiCDC 同期タスクが一時停止する可能性がある問題を修正しました#2978
force-replicateが有効になっているときに、有効なインデックスのない一部のパーティションテーブルが無視される可能性がある問題を修正#2834- 株価データのスキャンに時間がかかりすぎると、TiKV が GC を実行するため株価データのスキャンが失敗する可能性がある問題を修正しました#2470
- 一部のタイプの列を Open Protocol 形式にエンコードするときに発生する可能性のあるpanic問題を修正しました。 #2758
- 一部のタイプの列をAvro形式にエンコードする際に発生する可能性のあるpanic問題を修正しました #2648
TiDB Binlog
- ほとんどのテーブルがフィルタリングされると、特定の負荷でチェックポイントを更新できない問題を修正しました。 #1075