TiDB 7.5.7 リリースノート
発売日:2025年9月4日
TiDB バージョン: 7.5.7
互換性の変更
デフォルト値の
tidb_enable_historical_statsをONからOFFに変更します。これにより、潜在的な安定性の問題を回避するために履歴統計がオフになります#53048 @ hawkingreiTiKV は以下の設定項目を廃止し、自動圧縮動作#18727 @ v01dstarを制御する新しい
gc.auto-compaction設定グループに置き換えます。- 非推奨の構成項目:
region-compact-check-interval、region-compact-check-step、region-compact-min-tombstones、region-compact-tombstones-percent、region-compact-min-redundant-rows、およびregion-compact-redundant-rows-percent。 - 新しい
gc.auto-compaction.tombstone-percent-thresholdgc.auto-compaction.redundant-rows-threshold:gc.auto-compaction.check-intervalgc.auto-compaction.redundant-rows-percent-thresholdおよびgc.auto-compaction.bottommost-level-forcegc.auto-compaction.tombstone-num-threshold
- 非推奨の構成項目:
改善点
TiDB
- データインポート#61553 @ tangenta中のリージョン分割とデータ取り込みのためのフロー制御インターフェースを追加します
- 大容量データを持つテーブルに対して単純なクエリを実行する際に、データ分布情報を取得するパフォーマンスを最適化します#53850 @ you06
- インデックス追加#60925 @ CbcWestwolf中の TiKV への書き込み速度を観察するための監視メトリックを追加します。
- DDL実行中のDMLのロックロジックを最適化し、DMLとDDL間のロック競合を軽減することで、一部のシナリオでDDLのパフォーマンスが向上します。ただし、セカンダリインデックスのロック操作が追加されるため、DMLのパフォーマンスがわずかに低下する可能性があります#62337 @ lcwangchao
- システム変数
tidb_opt_ordering_index_selectivity_threshold1に設定されている場合の動作を改善し、この変数#60242 @ time-and-fateの制御機能を強化します。 ANALYZE文実行後にクラスタ全体の統計を更新することを回避し、実行時間をANALYZE#57631 @ 0xPoeに短縮します。NOT NULL制約を持つ列の定数畳み込みをサポートし、IS NULL評価をFALSE#62050 @ hawkingreiに畳み込みます。- オプティマイザは、より多くの種類の
JOIN操作#51700 @ hawkingreiで定数伝播をサポートします。 - DML 操作と DDL 操作の間に大規模なロック競合が存在する場合の一時インデックスのマージのパフォーマンスを向上#61433 @ tangenta
TiKV
- TiKV圧縮のトリガーロジックを最適化して、すべてのデータセグメントを再利用効率の順に処理し、MVCC冗長データ#18571 @ v01dstarのパフォーマンスへの影響を軽減します。
- 多数の SST ファイルが存在する環境での非同期スナップショットおよび書き込み操作のテールレイテンシーを最適化します#18743 @ Connor1996
- 空のテーブルと小さなリージョン#17376 @ LykxSassinatorシナリオでのリージョン結合の速度を改善
- Raftstoreの
CompactedEvent処理をsplit-checkワーカーに移動して最適化し、メインのRaftstoreスレッド#18532 @ LykxSassinatorのブロッキングを削減します。 - スレッド#15927 @ Connor1996ごとのメモリ使用量のメトリックを追加します。
- SST の取り込みが遅すぎる場合は
SST ingest is experiencing slowdownsのみをログに記録し、パフォーマンスのジッターを回避するためにget_sst_key_ranges呼び出しをスキップします#18549 @ LykxSassinator - ログの適用を待つために TiKV を再起動するときに発生する不安定なアクセス遅延を最適化し、TiKV #15874 @ LykxSassinatorの安定性を向上しました。
- 残留データのクリーンアップメカニズムを最適化して、リクエストのレイテンシー#18107 @ LykxSassinatorへの影響を軽減します。
- Raft Engineの
fetch_entries_toのパフォーマンスを最適化して競合を減らし、混合ワークロード#18605 @ LykxSassinatorでのパフォーマンスを向上します。 - 書き込み操作のフロー制御構成の動的な変更をサポート#17395 @ glorv
- フォアグラウンド書き込みをブロックせずにSSTファイルの取り込みをサポートし、レイテンシー#18081 @ hhwytの影響を軽減します。
- KvDB と RaftDB が別々のマウント パス#18463 @ LykxSassinatorを使用する場合の KvDB ディスクの I/O ジッターの検出メカニズムを最適化します。
- ピアのスローログを追加し、メッセージ#16600 @ Connor1996を保存します
PD
- Prometheus #8931 @ bufferfliesに GO ランタイム関連の監視メトリクスを追加
- 不要なエラーログを#9370つバッファフライ削減
TiFlash
- ワイドテーブルシナリオにおけるTiFlash OOM リスクの観測可能性を強化#10272 @ JaySon-Huang
- storageスナップショットを取得する際の最大再試行回数を増やし、大規模なテーブルのクエリの安定性を向上させます#10300 @ JaySon-Huang
ツール
バックアップと復元 (BR)
バグ修正
TiDB
IndexMergeおよびIndexLookUp演算子の共有 KV リクエストがクエリ#60175 @ you06をプッシュダウンするときにデータ競合を引き起こす問題を修正しました。- ハッシュ集計演算子#58004 @ xzhangxian1008における潜在的な goroutine リークの問題を修正しました。
- 生成された列のインデックスが表示#47766 @ AilinKidに設定されている場合、MPP プランが選択されない可能性がある問題を修正しました。
_charset(xxx), _charset(xxx2), ...を含む SQL 文が#58447 @ xheboxで異なるダイジェストを生成する問題を修正しました- 頻繁なリージョンのマージにより TTL ジョブが#61512 @ YangKeaoで開始できなくなる問題を修正しました
- 損失のあるDDL文#61455 @ Lloyd-Pottigerを実行した後にTiFlashクエリ結果が矛盾する問題を修正しました
ALTER RANGE meta SET PLACEMENT POLICY#60888 @ nolouchのキー範囲が正しくない問題を修正しました- GrafanaのStats Healthy Distributionパネルのデータが正しくない可能性がある問題を修正しました#57176 @ hawkingrei
latin1_binの比較動作がutf8mb4_binおよびutf8_bin#60701 @ hawkingreiと異なる問題を修正しました- メタデータ ロック (MDL) を無効にした後、スキーマ バージョン#61210 @ wjhuang2016更新に失敗して DDL 操作が停止する問題を修正しました。
- 特定のシナリオでログ編集が有効にならない問題を修正#59279 @ tangenta
- 修正コントロール#44855が有効になっている場合にTiDBセッションがクラッシュする可能性がある問題を修正#59762 @ winoros
IndexLookupオペレータがcontext canceledエラー#61072 @ yibin87に遭遇したときに冗長なログエントリを削除します- 統計の不適切な例外処理により、バックグラウンドタスクがタイムアウトしたときにメモリ内の統計が誤って削除される問題を修正しました#57901 @ hawkingrei
ADD UNIQUE INDEX実行するとデータの不整合が発生する可能性がある問題を修正#60339 @ tangenta- 統計システムテーブル#60430 @ tangentaに非公開インデックスが表示される問題を修正しました
- ハッシュ結合v1演算子の
Close()メソッドがpanic#60926 @ xzhangxian1008から回復できない問題を修正しました PhysicalExchangeSender.HashColの浅いコピーによりTiFlash がクラッシュしたり、誤った結果が生成される問題を修正#60517 @ windtalkerBITタイプのテーブルの統計情報を#62289 @ YangKeaoにロードできない問題を修正しましたBIT型列の統計がメモリ#59759 @ YangKeaoにロードされない問題を修正しました- 極端なケースで
ANALYZEステートメントのディスクスピル操作に時間がかかりすぎると、他の TiDB ノードが最新の統計#54552 @ 0xPoeを更新できない可能性がある問題を修正しました。 - 収集された列統計がすべて TopN にある場合、後続の書き込み#47400 @ terry1purcellの後でも行数の推定が 0 のままになる可能性がある問題を修正しました。
explain format="cost_trace"に表示される推定コストが正しくない可能性がある問題を修正#61155 @ hawkingreiexplain format="cost_trace"に表示されるコストの計算式に空の括弧#61127 @ hawkingreiが含まれる可能性がある問題を修正しました- 循環外部キー定義が無限ループを引き起こす問題を修正#60985 @ hawkingrei
NULL#62196 @ hawkingreiを使用すると内部クエリがインデックス範囲クエリを正しく構築できない可能性がある問題を修正しました。- プランキャッシュが誤った実行プランを保存し、実行エラー#56772 @ dash12653が発生する問題を修正しました
- 月または年にわたる行数の推定値が大幅に過大評価される可能性がある問題を修正#50080 @ terry1purcell
ANALYZEサブタスクの同時実行数が設定された制限#61785 @ hawkingreiを大幅に超える問題を修正しました- TopNプッシュダウン#60655 @ hawkingrei中に式ベースのTopNソート項目が誤って生成される問題を修正しました
- 列またはインデックスの統計情報が欠落している場合に、TiDB がバックグラウンドでpanicログを出力する可能性がある問題を修正しました#61733 @ winoros
- 列またはインデックスの統計情報が欠落している場合、
JOIN行数推定が非常に不正確になる可能性がある問題を修正しました#61602 @ qw4990 - システム変数
tidb_cost_model_versionのデフォルト値が誤って設定されている問題を修正#61565 @ hawkingrei - テーブルの最初の列が仮想生成列#61606 @ winorosの場合に統計が正しくない可能性がある問題を修正しました
- 述語の簡素化#61513 @ hawkingreiでプラン キャッシュが誤ってスキップされる問題を修正しました
- インデックスの追加中に
ADMIN CANCEL DDL JOBS実行すると、インデックスの追加プロセスが#61087 @ tangentaでハングする問題を修正しました。 - 一部の内部 SQL 実行が失敗した後でも
ADMIN CHECKが成功を返す問題を修正#61612 @ joechenrh - マルチスキーマ変更#61255 @ tangentaで複数のインデックスを追加した後にデータとインデックスが不整合になる問題を修正
TiKV
- CPUプロファイリング#18474 @ YangKeao中にデッドロックが発生する可能性がある問題を修正
- 特定のTiFlashレプリカによってオンライン アンセーフ リカバリがブロックされ、コミット インデックスが#18197 @ v01dstarに進まなくなる問題を修正しました。
- TiKVがクライアントが#18079 @ ekexiumをデコードできない圧縮アルゴリズムを使用する可能性がある問題を修正しました
- TiKV が高同時実行#18452 @ hbishengで過剰な SST 取り込み要求を許可する問題を修正
- Grafana #15990 @ Connor1996の TiKV ダッシュボードで
Ingestion picked levelとCompaction Job Size(files)誤って表示される問題を修正しました - TiKV が#18233 @ LykxSassinatorで再起動した後に予期しない
Server is busyエラーが発生する問題を修正しました - TiKVがブラジルとエジプトのタイムゾーンを誤って変換する問題を修正#16220 @ overvenus
- スローログ#18561 @ LykxSassinatorの
StoreMsgログエントリの誤解を招く説明を修正 - スレッドメモリメトリックの誤りを修正#18125 @ Connor1996
- TiKV が正常なシャットダウン中に進行中の手動圧縮タスクを終了できない問題を修正#18396 @ LykxSassinator
PD
split-merge-interval構成項目の値を繰り返し変更すると(1sから1hに変更して1sに戻すなど)、その設定項目が有効にならない可能性がある問題を修正しました#8404 @ lhy1024- デフォルト値
leaseが正しく設定されていない問題を修正#9156 @ rleungx - TiDBダッシュボードTCP接続を不適切に閉じるとPDゴルーチンリークが発生する可能性がある問題を修正#9402 @ baurine
- 新しく追加された TiKV ノードが#9145 @ bufferfliesにスケジュールされない可能性がある問題を修正しました
tidb_enable_tso_follower_proxy有効にすると TSO サービスが利用できなくなる可能性がある問題を修正#9188 @ Tema
TiFlash
IMPORT INTOまたはBR restore#10141 @ CalvinNeoの実行中に SST ファイルを誤って削除することによって発生するpanicの問題を修正しました((NULL))形式で式インデックスを作成するとTiFlash が#9891 @ JaySon-Huangでpanicになる問題を修正しました- 不規則なリージョンキー範囲#10147 @ JaySon-Huangを持つスナップショットを処理するときにTiFlash がpanic可能性がある問題を修正しました
- クラスター内のテーブルに多数の
ENUM型列#9947 @ JaySon-Huangが含まれている場合、 TiFlashが大量のメモリを消費する可能性がある問題を修正しました。 - 16 MiB #10052 @ JaySon-Huangを超えるデータの単一行を挿入した後にTiFlash が再起動に失敗する可能性がある問題を修正しました
- リソース制御の低トークン信号が欠落するとクエリスロットリング#10137 @ guo-shaogeが発生する問題を修正しました
GROUP BY ... WITH ROLLUP#10110 @ gengliqiを含むSQL文を実行するとTiFlashがException: Block schema mismatchエラーを返す可能性がある問題を修正しました。
ツール
バックアップと復元 (BR)
TiCDC
- 外部storageをダウンストリーム#9162 @ asddongmenとして使用すると、チェンジフィードが停止する可能性がある問題を修正しました。
- レプリケーショントラフィックが下流の Kafka #12110 @ 3AceShowHandのトラフィックしきい値を超えた後に、変更フィードがスタックする可能性がある問題を修正しました。
changefeed pauseコマンドで--overwrite-checkpoint-tsパラメータを使用すると、変更フィードが#12055 @ hongyunyanで停止する可能性がある問題を修正しました。- 仮想列を含むテーブルでイベントフィルタ式を評価するとpanicが発生する可能性がある問題を修正#12206 @ lidezhu
- ディスパッチャ構成#12103 @ wk989898における列名とインデックス名の大文字と小文字を区別するマッチングの問題を修正しました
- 古いストア ID #12162 @ 3AceShowHandが原因で、同じ IP アドレス上の TiKV ノードをスケールインまたはスケールアウトした後に、解決された ts ラグが増加し続ける問題を修正しました。
TiDB Lightning
- クラウドstorageから TiDB #60224 @ joechenrhに Parquet ファイルをインポートするときに、 TiDB Lightning が数時間停止する可能性がある問題を修正しました。
- TiKVへのRPCリクエストが#61326 @ OliverS929でタイムアウトするとTiDB Lightningが
context deadline exceededエラーを返す問題を修正しました
NGモニタリング