TiDB 7.3.0 リリースノート
発売日:2023年8月14日
TiDB バージョン: 7.3.0
クイックアクセス: クイックスタート
7.3.0では、以下の主要な機能が導入されています。さらに、7.3.0には、TiDBサーバーとTiFlashにおけるクエリの安定性を向上させるための一連の機能強化(セクション機能の詳細で説明)も含まれています。これらの機能強化は、ユーザーに直接影響するものではなく、雑多な性質のものであるため、以下の表には含まれていません。
| カテゴリ | 特徴 | 説明 |
|---|---|---|
| スケーラビリティとパフォーマンス | TiDB Lightning はPartitioned Raft KVをサポートします (実験的) | TiDB Lightning は、アーキテクチャの近い将来の GA の一部として、新しい Partitioned Raft KVアーキテクチャをサポートするようになりました。 |
| 信頼性と可用性 | データのインポート時に自動競合検出と解決を追加する | TiDB Lightning物理インポートモードは、新しいバージョンの競合検出をサポートします。このモードでは、競合が発生した場合に、競合データを置換( replace )または無視( ignore )するセマンティクスが実装されています。競合データを自動的に処理するとともに、競合解決のパフォーマンスを向上させます。 |
| 暴走クエリの手動管理(実験的) | クエリの実行時間は予想以上に長くなる場合があります。リソースグループの新しいウォッチリストを使用すると、クエリをより効率的に管理し、優先順位を下げたり、強制終了したりすることができます。この機能により、オペレーターはSQLテキスト、SQLダイジェスト、またはプランダイジェストでターゲットクエリをマークし、リソースグループレベルでクエリを処理できるようになります。これにより、予期せぬ大規模なクエリがクラスターに及ぼす潜在的な影響をより詳細に制御できるようになります。 | |
| SQL | クエリプランナーにオプティマイザーヒントを追加することで、クエリの安定性に対するオペレータ制御を強化します。 | 追加されたヒント: NO_INDEX_JOIN() 、 NO_MERGE_JOIN() 、 NO_INDEX_MERGE_JOIN() 、 NO_HASH_JOIN() 、 NO_INDEX_HASH_JOIN() |
| DB操作と可観測性 | 統計収集タスクの進行状況を表示する | SHOW ANALYZE STATUSステートメントまたはmysql.analyze_jobsシステム テーブルを使用して、 ANALYZEタスクの進行状況を表示できるようになりました。 |
機能の詳細
パフォーマンス
TiFlashはレプリカ選択戦略#44106 @ 徐淮嶼をサポートします
v7.3.0より前のバージョンでは、 TiFlashはデータスキャンとMPP計算に全ノードのレプリカを使用してパフォーマンスを最大化していました。v7.3.0以降、 TiFlashはレプリカ選択戦略を導入し、
tiflash_replica_readシステム変数を使用して設定できるようになりました。この戦略は、ノードのゾーン属性に基づいて特定のレプリカを選択し、データスキャンとMPP計算を行う特定のノードをスケジュールすることをサポートします。複数のデータセンターに展開されたクラスターで、各データセンターに完全なTiFlashデータレプリカが存在する場合、この戦略を設定して、現在のデータセンターのTiFlashレプリカのみを選択できます。これにより、データスキャンとMPP計算は現在のデータセンター内のTiFlashノードでのみ実行されるため、データセンター間での過剰なネットワークデータ転送を回避できます。
詳細についてはドキュメント参照してください。
TiFlashはノード#40220 @ エルサ0520内でランタイムフィルターをサポートします。
ランタイムフィルターは、クエリプランニングフェーズで生成される動的述語です。テーブル結合プロセスにおいて、これらの動的述語は結合条件を満たさない行を効果的に除外することで、スキャン時間とネットワークオーバーヘッドを削減し、テーブル結合の効率を向上させます。TiFlashはv7.3.0以降、ノード内でランタイムフィルターをサポートし、分析クエリの全体的なパフォーマンスを向上させます。一部のTPC-DSワークロードでは、パフォーマンスが10%~50%向上する可能性があります。
この機能はバージョン7.3.0ではデフォルトで無効になっています。この機能を有効にするには、システム変数
tidb_runtime_filter_modeをLOCALに設定してください。詳細についてはドキュメント参照してください。
TiFlash は共通テーブル式 (CTE) の実行をサポートしています (実験的) #43333 @ ウィノロス
v7.3.0より前のバージョンでは、 TiFlashのMPPエンジンはデフォルトでCTEを含むクエリを実行できません。MPPフレームワーク内で最高の実行パフォーマンスを実現するには、システム変数
tidb_opt_force_inline_cte使用してCTEのインライン化を強制する必要があります。v7.3.0以降、TiFlashのMPPエンジンは、CTEを含むクエリをインライン化せずに実行することをサポートし、MPPフレームワーク内で最適なクエリ実行を実現します。TPC-DSベンチマークテストでは、この機能により、CTEをインライン化した場合と比較して、CTEを含むクエリの全体的なクエリ実行速度が20%向上することが示されました。
この機能は実験的であり、デフォルトでは無効になっています。システム変数
tidb_opt_enable_mpp_shared_cte_executionによって制御されます。
信頼性
新しいオプティマイザヒント#45520 @ qw4990を追加
v7.3.0 では、TiDB に、テーブル間の結合方法を制御するためのいくつかの新しいオプティマイザー ヒントが導入されています。
NO_MERGE_JOIN()マージ結合以外の結合方法を選択します。NO_INDEX_JOIN()インデックス ネスト ループ結合以外の結合方法を選択します。NO_INDEX_MERGE_JOIN()インデックス ネスト ループ マージ結合以外の結合方法を選択します。NO_HASH_JOIN()ハッシュ結合以外の結合方法を選択します。NO_INDEX_HASH_JOIN()インデックスネストループハッシュ結合以外の結合方法を選択します。
詳細についてはドキュメント参照してください。
予想以上にリソースを使用するクエリを手動でマークする(実験的) #43691 @ コナー1996 @ キャビンフィーバーB
v7.2.0では、TiDBは想定以上にリソースを使用するクエリ(ランナウェイクエリ)を自動的にダウングレードまたはキャンセルすることで、ランナウェイクエリを自動的に管理します。しかし、実際にはルールだけではすべてのケースに対応できません。そこで、TiDB v7.3.0では、ランナウェイクエリを手動でマークする機能が導入されました。新しいコマンド
QUERY WATCHを使用すると、SQLテキスト、SQLダイジェスト、または実行プランに基づいてランナウェイクエリをマークし、マークされたランナウェイクエリをダウングレードまたはキャンセルできます。この機能は、データベースで突発的なパフォーマンス問題が発生した場合に効果的な介入方法を提供します。クエリに起因するパフォーマンス問題の場合、根本原因を特定する前に、全体的なパフォーマンスへの影響を迅速に軽減し、システムのサービス品質を向上させることができます。
詳細についてはドキュメント参照してください。
SQL
リストとリスト列のパーティションテーブルは、デフォルトのパーティション#20679 @ ミョンス @ bb7133をサポートします。
バージョン7.3.0より前のバージョンでは、
INSERT文を使用してリストまたはリスト列パーティションテーブルにデータを挿入する場合、データは表に指定されたパーティション条件を満たしている必要があります。挿入するデータがこれらの条件のいずれかを満たしていない場合、文の実行は失敗するか、条件を満たしていないデータは無視されます。バージョン7.3.0以降、リストおよびリスト列パーティションテーブルはデフォルトパーティションをサポートします。デフォルトパーティションの作成後、挿入するデータがパーティション条件を満たさない場合、そのデータはデフォルトパーティションに書き込まれます。この機能により、リストおよびList COLUMNS パーティショニングのユーザビリティが向上し、パーティション条件を満たさないデータによって
INSERTのステートメントの実行が失敗したり、データが無視されたりするのを回避できます。この機能はMySQL構文に対するTiDBの拡張であることに注意してください。デフォルトパーティションを持つパーティションテーブルの場合、テーブル内のデータはMySQLに直接複製できません。
詳細についてはドキュメント参照してください。
可観測性
統計情報#44033 @ ホーキングレイ収集の進行状況を表示します
大規模なテーブルの統計収集には、多くの場合、長い時間がかかります。以前のバージョンでは、統計収集の進行状況を確認できず、完了時間を予測できませんでした。TiDB v7.3.0では、統計収集の進行状況を表示する機能が導入されました。システムテーブル
mysql.analyze_jobsまたはSHOW ANALYZE STATUS使用して、全体のワークロード、現在の進行状況、および各サブタスクの推定完了時間を表示できます。大規模データのインポートやSQLパフォーマンスの最適化などのシナリオにおいて、この機能はタスク全体の進行状況を把握し、ユーザーエクスペリエンスを向上させるのに役立ちます。詳細についてはドキュメント参照してください。
Plan Replayerは履歴統計#45038 @ 時間と運命エクスポートをサポートします
バージョン7.3.0以降、新たに追加された
dump with stats as of timestamp句を使用することで、Plan Replayerを使用して、特定のSQL関連オブジェクトの特定の時点における統計情報をエクスポートできます。実行プランの問題の診断において、履歴統計情報を正確に取得することで、問題が発生した時点で実行プランがどのように生成されたかをより正確に分析できます。これにより、問題の根本原因を特定し、実行プランの問題の診断効率を大幅に向上させることができます。詳細についてはドキュメント参照してください。
データ移行
TiDB Lightning は、競合データ検出および処理戦略#41629 @ ランス6716の新しいバージョンを導入します
以前のバージョンでは、 TiDB Lightning は論理インポートモードと物理インポートモードで異なる競合検出および処理方法を使用していましたが、設定が複雑で、ユーザーにとって理解しにくいものでした。また、物理インポートモードでは、
replaceまたはignore戦略を使用して競合を処理できませんでした。v7.3.0 以降、 TiDB Lightning は論理インポートモードと物理インポートモードの両方に統一された競合検出および処理戦略を導入します。競合が発生した場合、競合するデータをエラーとして報告する (error)、置き換える (replace)、または無視する (ignore) ことを選択できます。指定した数の競合レコードを処理した後にタスクが中断されて終了するなど、競合レコードの数を制限することもできます。さらに、システムはトラブルシューティングのために競合データを記録できます。競合の多いインポートデータの場合、パフォーマンス向上のため、新しいバージョンの競合検出および処理戦略を使用することをお勧めします。ラボ環境では、新しいバージョンの戦略により、競合検出および処理のパフォーマンスが旧バージョンと比較して最大3倍向上しました。このパフォーマンス値は参考値です。実際のパフォーマンスは、設定、テーブル構造、競合データの割合によって異なる場合があります。なお、新しいバージョンと旧バージョンの競合検出および処理戦略を同時に使用することはできません。旧バージョンの競合検出および処理戦略は、将来的に廃止される予定です。
詳細についてはドキュメント参照してください。
TiDB Lightning はPartitioned Raft KV (実験的) #14916 @ GMHDBJDをサポートします
TiDB Lightning は、Partitioned Raft KV をサポートするようになりました。この機能により、 TiDB Lightningのデータインポートパフォーマンスが向上します。
TiDB Lightningは、より多くの診断ログを印刷することでトラブルシューティングを強化するための新しいパラメータ
enable-diagnose-logを導入しました#45497 @ D3ハンターデフォルトではこの機能は無効になっており、 TiDB Lightning は
lightning/mainを含むログのみを出力。有効にすると、 TiDB Lightning はclient-goとtidbに関連する問題の診断に役立つように、すべてのパッケージ(client-goとtidbを含む)のログを出力。詳細についてはドキュメント参照してください。
互換性の変更
注記:
このセクションでは、v7.2.0から最新バージョン(v7.3.0)にアップグレードする際に知っておくべき互換性の変更点について説明します。v7.1.0以前のバージョンから最新バージョンにアップグレードする場合は、中間バージョンで導入された互換性の変更点も確認する必要があるかもしれません。
行動の変化
TiDB
- MPP は、 TiFlashエンジンが提供する分散コンピューティング フレームワークで、ノード間でのデータ交換を可能にし、高性能で高スループットの SQL アルゴリズムを提供します。他のプロトコルと比較して、 MPP プロトコルはより成熟しており、より優れたタスクおよびリソース管理を提供できます。 v7.3.0 以降、 TiDB が計算タスクをTiFlashにプッシュする場合、オプティマイザーはデフォルトで MPP プロトコルを使用する実行プランのみを生成します。
tidb_allow_mppOFFに設定すると、 TiDB をアップグレードした後にクエリーがエラーを返す可能性があります。アップグレード前にtidb_allow_mppの値を確認し、ONに設定することをお勧めします。 コスト見積もりに基づいて実行プランを生成するためにオプティマイザーが Cop、BatchCop、および MPP プロトコルのいずれかを選択する必要がある場合は、tidb_allow_tiflash_cop変数をONに設定できます。
- MPP は、 TiFlashエンジンが提供する分散コンピューティング フレームワークで、ノード間でのデータ交換を可能にし、高性能で高スループットの SQL アルゴリズムを提供します。他のプロトコルと比較して、 MPP プロトコルはより成熟しており、より優れたタスクおよびリソース管理を提供できます。 v7.3.0 以降、 TiDB が計算タスクをTiFlashにプッシュする場合、オプティマイザーはデフォルトで MPP プロトコルを使用する実行プランのみを生成します。
バックアップと復元 (BR)
- BRは、完全なデータ復元を実行する前に、空のクラスタのチェックを追加します。デフォルトでは、空でないクラスタへのデータの復元は許可されません。強制的に復元する場合は、
--filterオプションを使用して、復元先のテーブル名を指定できます。
- BRは、完全なデータ復元を実行する前に、空のクラスタのチェックを追加します。デフォルトでは、空でないクラスタへのデータの復元は許可されません。強制的に復元する場合は、
TiDB Lightning
tikv-importer.on-duplicateは非推奨となり、conflict.strategyに置き換えられました。max-errorパラメータは、 TiDB Lightningが移行タスクを停止するまでに許容できる致命的ではないエラーの最大数を制御しますが、インポートデータの競合を制限しなくなりました。3conflict.thresholdのパラメータは、許容できる競合レコードの最大数を制御するようになりました。
TiCDC
- Kafka シンクが Avro プロトコルを使用する場合、
force-replicateパラメータがtrueに設定されると、TiCDC は変更フィードを作成するときにエラーを報告します。 delete-only-output-handle-key-columnsとforce-replicateパラメータの間に互換性がないため、両方のパラメータを有効にすると、TiCDC は変更フィードを作成するときにエラーを報告します。- 出力プロトコルがオープン プロトコルの場合、
UPDATEイベントは変更された列のみを出力します。
- Kafka シンクが Avro プロトコルを使用する場合、
システム変数
| 変数名 | タイプを変更 | 説明 |
|---|---|---|
tidb_opt_enable_mpp_shared_cte_execution | 修正済み | このシステム変数はバージョン7.3.0以降で有効になります。TiFlash MPPで非再帰共通テーブル式(CTE)を実行できるかどうかを制御します。 |
tidb_allow_tiflash_cop | 新しく追加された | このシステム変数は、TiDB が計算タスクをTiFlashにプッシュダウンするときに実行プランを生成するためのプロトコルを選択するために使用されます。 |
tidb_lock_unchanged_keys | 新しく追加された | この変数は、特定のシナリオにおいて、トランザクションに関係しているが変更されていないキーをロックするかどうかを制御するために使用されます。 |
tidb_opt_enable_non_eval_scalar_subquery | 新しく追加された | EXPLAINステートメントが最適化段階で展開できる定数サブクエリの実行を無効にするかどうかを制御します。 |
tidb_skip_missing_partition_stats | 新しく追加された | この変数は、パーティション統計が欠落している場合のグローバル統計の生成を制御します。 |
tiflash_replica_read | 新しく追加された | クエリにTiFlashエンジンが必要な場合にTiFlashレプリカを選択する戦略を制御します。 |
コンフィグレーションファイルのパラメータ
| コンフィグレーションファイル | コンフィグレーションパラメータ | タイプを変更 | 説明 |
|---|---|---|---|
| TiDB | enable-32bits-connection-id | 新しく追加された | 32 ビット接続 ID 機能を有効にするかどうかを制御します。 |
| TiDB | in-mem-slow-query-recent-num | 新しく追加された | メモリにキャッシュされる最近使用された低速クエリの数を制御します。 |
| TiDB | in-mem-slow-query-topn-num | 新しく追加された | メモリにキャッシュされる最も遅いクエリの数を制御します。 |
| TiKV | coprocessor.region-bucket-size | 修正済み | デフォルト値を96MiBから50MiBに変更します。 |
| TiKV | raft-engine.format-version | 修正済み | Partitioned Raft KV ( storage.engine="partitioned-raft-kv" )を使用する場合、リボンフィルターが使用されます。そのため、TiKVはデフォルト値を2から5に変更します。 |
| TiKV | raftdb.max-total-wal-size | 修正済み | Partitioned Raft KV ( storage.engine="partitioned-raft-kv" ) を使用する場合、TiKVはWALの書き込みをスキップします。そのため、TiKVはデフォルト値を"4GB"から1に変更し、WALを無効にします。 |
| TiKV | [`rocksdb.[defaultcf | writecf | lockcf].compaction-guard-min-output-file-size`](/tikv-configuration-file.md#compaction-guard-min-output-file-size) |
| TiKV | [`rocksdb.[defaultcf | writecf | lockcf].format-version`](/tikv-configuration-file.md#format-version-new-in-v620) |
| TiKV | rocksdb.lockcf.write-buffer-size | 修正済み | Partitioned Raft KV( storage.engine="partitioned-raft-kv" )を使用する場合、lockcfでの圧縮を高速化するために、TiKVはデフォルト値を"32MB"から"4MB"に変更します。 |
| TiKV | rocksdb.max-total-wal-size | 修正済み | Partitioned Raft KV ( storage.engine="partitioned-raft-kv" ) を使用する場合、TiKVはWALの書き込みをスキップします。そのため、TiKVはデフォルト値を"4GB"から1に変更し、WALを無効にします。 |
| TiKV | rocksdb.stats-dump-period | 修正済み | Partitioned Raft KV( storage.engine="partitioned-raft-kv" )を使用する場合、冗長ログ出力を無効にするには、デフォルト値を"10m"から"0"に変更します。 |
| TiKV | rocksdb.write-buffer-limit | 修正済み | memtablesのメモリオーバーヘッドを削減するため、 storage.engine="raft-kv"場合、TiKVはデフォルト値をマシンのメモリの25%から0 (無制限を意味する)に変更します。Partitioned Raft KV( storage.engine="partitioned-raft-kv" )を使用する場合、TiKVはデフォルト値をマシンのメモリの25%から20%に変更します。 |
| TiKV | storage.block-cache.capacity | 修正済み | Partitioned Raft KV( storage.engine="partitioned-raft-kv" )を使用する場合、memtablesのメモリオーバーヘッドを補うために、TiKVはデフォルト値をシステムメモリ全体のサイズの45%から30%に変更します。 |
| TiFlash | storage.format_version | 修正済み | 小さなファイルを結合することで物理ファイル数を削減する新しいDTFileフォーマットformat_version = 5を導入します。このフォーマットは実験的であり、デフォルトでは有効になっていないことに注意してください。 |
| TiDB Lightning | tikv-importer.incremental-import | 削除済み | TiDB Lightning の並列インポートパラメータ。増分インポートパラメータと間違えられる可能性があったため、このパラメータの名前はtikv-importer.parallel-importに変更されました。ユーザーが古いパラメータ名を渡した場合、自動的に新しいパラメータ名に変換されます。 |
| TiDB Lightning | tikv-importer.on-duplicate | 非推奨 | 論理インポートモードで競合するレコードを挿入しようとした際に実行するアクションを制御します。v7.3.0以降、このパラメータはconflict.strategyに置き換えられます。 |
| TiDB Lightning | conflict.max-record-rows | 新しく追加された | 競合データを処理する戦略の新バージョン。1 conflict_recordsの最大行数を制御します。デフォルト値は100です。 |
| TiDB Lightning | conflict.strategy | 新しく追加された | 競合データの処理戦略の新バージョン。以下のオプションが含まれます:""(TiDB Lightning は競合データを検出・処理しません)、 error (インポートされたデータで主キーまたは一意キーの競合が検出された場合、インポートを終了しエラーを報告します)、 replace (主キーまたは一意キーの競合を含むデータが検出された場合、新しいデータは保持され、古いデータは上書きされます)、 ignore (主キーまたは一意キーの競合を含むデータが検出された場合、古いデータは保持され、新しいデータは無視されます)。デフォルト値は "" で、 TiDB Lightning は競合データを検出・処理しません。 |
| TiDB Lightning | conflict.threshold | 新しく追加された | 競合データの上限を制御します。1 conflict.strategy="error"場合、デフォルト値は0です。5 またはconflict.strategy="replace" conflict.strategy="ignore"場合、maxint として設定できます。 |
| TiDB Lightning | enable-diagnose-logs | 新しく追加された | 診断ログを有効にするかどうかを制御します。デフォルト値はfalseで、インポートに関連するログのみが出力され、他の依存コンポーネントのログは出力されません。 trueに設定すると、インポートプロセスと他の依存コンポーネントの両方のログが出力され、診断に使用できるGRPCデバッグが有効になります。 |
| TiDB Lightning | tikv-importer.parallel-import | 新しく追加された | TiDB Lightning の並列インポートパラメータ。増分インポートパラメータと誤認され、誤用される可能性のある既存のパラメータtikv-importer.incremental-import置き換えます。 |
| BR | azblob.encryption-scope | 新しく追加された | BR は、Azure Blob Storage の暗号化スコープ サポートを提供します。 |
| BR | azblob.encryption-key | 新しく追加された | BR は、Azure Blob Storage の暗号化キー サポートを提供します。 |
| TiCDC | large-message-handle-option | 新しく追加された | デフォルトでは空です。つまり、メッセージサイズがKafkaトピックの制限を超えると、変更フィードは失敗します。この設定を"handle-key-only"に設定すると、メッセージがサイズ制限を超えた場合、メッセージサイズを縮小するためにハンドルキーのみが送信されます。縮小されたメッセージでも制限を超える場合、変更フィードは失敗します。 |
| TiCDC | sink.csv.binary-encoding-method | 新しく追加された | バイナリデータのエンコード方式。1 または'base64' 'hex'指定できます。デフォルト値は'base64'です。 |
システムテーブル
- 内部タイマーのメタデータを保存するための新しいシステム テーブル
mysql.tidb_timersを追加します。
非推奨の機能
TiDB
- 統計の
Fast Analyze機能 (実験的) は、v7.5.0 で廃止される予定です。 - 統計の増分コレクション機能は、v7.5.0 で廃止されます。
- 統計の
改善点
TiDB
- 最適化フェーズ#22076 @ ウィノロスで
EXPLAIN文がサブクエリを事前に実行するかどうかを制御するための新しいシステム変数tidb_opt_enable_non_eval_scalar_subquery導入します。 - グローバルキル有効になっている場合、 Control+C #8854 @ ピンギュを押すことで現在のセッションを終了できます。
IS_FREE_LOCK()とIS_USED_LOCK()ロック関数#44493 @ ドヴェーデンをサポート- ディスク#45125からダンプされたチャンクを読み込む際のパフォーマンスを最適化しますヤンケオ
- オプティマイザ修正コントロール#44855 @ 時間と運命を使用して、インデックス結合の内部テーブルの過大評価の問題を最適化します。
- 最適化フェーズ#22076 @ ウィノロスで
TiKV
PD
TiFlash
- 物理ファイルの数を減らすために新しい DTFile 形式バージョン
storage.format_version = 5をサポートします (実験的) #7595 @ ホンユニャン
- 物理ファイルの数を減らすために新しい DTFile 形式バージョン
ツール
バックアップと復元 (BR)
TiCDC
- オープンプロトコル出力のメッセージサイズを最適化して、
UPDATEイベント#9336 @ 3エースショーハンドを送信するときに更新された列の値のみが含まれるようにします。 - ストレージシンクは、HEX形式のデータの16進エンコードをサポートするようになり、AWS DMS形式仕様#9373 @ チャールズ・チュン96と互換性があります。
- Kafka Sink は、メッセージが大きすぎる場合にハンドルキーデータのみを送信するサポートし、メッセージのサイズを#9382 @ 3エースショーハンドに縮小します。
- オープンプロトコル出力のメッセージサイズを最適化して、
バグ修正
TiDB
- MySQLカーソルフェッチプロトコル使用時に、結果セットのメモリ消費量が
tidb_mem_quota_query上限を超え、TiDBのメモリオーバーフローが発生する問題を修正しました。修正後、TiDBは結果セットを自動的にディスクに書き込み、メモリを解放します#43233 @ ヤンケオ - データ競合#45561 @ ゲンリキによって引き起こされる TiDBpanic問題を修正しました
indexMergeのクエリが#45279 @ xzhangxian1008で強制終了されたときに発生するハングアップの問題を修正しましたtidb_enable_parallel_apply有効になっている場合、MPP モードでのクエリ結果が正しくない問題を修正#45299 @ ウィンドトーカー- PD時間#44822 @ ジグアンに突然の変化があったときに
resolve lockハングする可能性がある問題を修正しました - GC ロック解決ステップで一部の悲観的ロック#45134 @ ミョンケミンタが見逃される可能性がある問題を修正しました
ORDER BYのクエリが動的プルーニングモード#45007 @ 定義2014で誤った結果を返す問題を修正しましたDEFAULT列目の値#45136 @ 定義2014と同じ列にAUTO_INCREMENT指定できる問題を修正しました- システムテーブル
INFORMATION_SCHEMA.TIKV_REGION_STATUSをクエリすると、場合によっては誤った結果が返される問題を修正しました#45531 @ 定義2014 - 一部のケースでパーティションテーブルのプルーニングが不正確になる問題を修正#42273 @ ジフハウス
- パーティションテーブル#42435 @ L-メープルのパーティションを切り捨てるときにグローバルインデックスがクリアされない問題を修正しました
- 1つのTiDBノード#45022 @ lcwangchaoで障害が発生した後、他のTiDBノードがTTLタスクを引き継がない問題を修正しました
- TTLが#45510 @ lcwangchaoで実行されているときのメモリリークの問題を修正しました
- パーティションテーブル#44966 @ リーリンハイにデータを挿入する際の不正確なエラーメッセージの問題を修正しました
INFORMATION_SCHEMA.TIFLASH_REPLICAテーブル#7795 @ ロイド・ポティガーの読み取り権限の問題を修正しました- 間違ったパーティションテーブル名#44967 @ リバー2000iを使用するとエラーが発生する問題を修正
tidb_enable_dist_taskが有効になっている場合にインデックスの作成が停止する問題を修正#44440 @ 接線- BR #44716 @ 天菜まおを使用して
AUTO_ID_CACHE=1テーブルを復元するときに発生するduplicate entryエラーを修正します TRUNCATE TABLE実行に費やされた時間がADMIN SHOW DDL JOBS#44785 @ 接線に表示されるタスク実行時間と一致しない問題を修正しました- メタデータの読み取りに 1 つの DDL リース#45176 @ ジムララよりも長い時間がかかる場合に TiDB のアップグレードが停止する問題を修正しました
- 文中の
n負の数#44786 @ xheboxの場合に文SELECT CAST(n AS CHAR)のクエリ結果が正しくない問題を修正しました tidb_opt_agg_push_down有効になっている場合にクエリが誤った結果を返す可能性がある問題を修正#44795 @ アイリンキッドcurrent_date()のクエリがプラン キャッシュ#45086 @ qw4990を使用した場合に誤った結果が発生する問題を修正しました
- MySQLカーソルフェッチプロトコル使用時に、結果セットのメモリ消費量が
TiKV
PD
- PDを再起動すると、
defaultリソースグループが#6787 @ 栄光で再初期化される可能性がある問題を修正しました。 - etcd がすでに起動しているがクライアントがまだ接続していない場合、クライアントを呼び出すと PD がpanic#6860 @ HuSharpになる可能性がある問題を修正しました。
- リージョンの
health-check出力が、リージョンID #6560 @ Jmポテトをクエリして返されるリージョン情報と一致しない問題を修正しました。 unsafe recoveryで不合格になった学習者のピアがauto-detectモード#6690 @ v01dスターで無視される問題を修正- 配置ルールがルール#6662 @ rleungxを満たさないTiFlash学習者を選択する問題を修正しました
- ルールチェッカーがピア#6559 @ ノルーシュを選択した場合に、不健全なピアを削除できない問題を修正しました
- PDを再起動すると、
TiFlash
ツール
TiCDC
- PD #9294 @ アズドンメンが一時的に利用できないために変更フィードが失敗する問題を修正しました
- 一部の TiCDC ノードがネットワークから分離されているときに発生する可能性のあるデータの不整合の問題を修正#9344 @ チャールズ・チュン96
- Kafka Sink がエラーに遭遇すると、changefeed の進行#9309 @ ヒックが無期限にブロックされる可能性がある問題を修正しました。
- TiCDC ノードのステータスが#9354 @ スドジに変化したときに発生する可能性のあるpanic問題を修正しました。
- デフォルトの
ENUM値#9259 @ 3エースショーハンドのエンコードエラーを修正しました
TiDB Lightning
寄稿者
TiDB コミュニティからの以下の貢献者に感謝いたします。