TiDB 7.5.7 リリースノート
発売日:2025年9月4日
TiDB バージョン: 7.5.7
クイックアクセス: クイックスタート | 本番環境へのデプロイ
互換性の変更
デフォルト値の
tidb_enable_historical_statsをONからOFFに変更します。これにより、潜在的な安定性の問題を回避するために履歴統計がオフになります#53048 @hawkingreiTiKV は以下の設定項目を廃止し、自動圧縮動作を制御する新しい
gc.auto-compaction設定グループに置き換えます。 #18727 @v01dstar- 非推奨の設定項目:
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
- インデックス追加中の TiKV への書き込み速度を観察するための監視メトリックを追加します。 #60925 @CbcWestwolf
- DDL実行中のDMLのロックロジックを最適化し、DMLとDDL間のロック競合を軽減することで、一部のシナリオでDDLのパフォーマンスが向上します。ただし、セカンダリインデックスのロック操作が追加されるため、DMLのパフォーマンスがわずかに低下する可能性があります#62337 @lcwangchao
- システム変数
tidb_opt_ordering_index_selectivity_threshold1に設定されている場合の動作を改善し、この変数の制御機能を強化します。 #60242 @time-and-fate ANALYZE文実行後にクラスタ全体の統計を更新することを回避し、ANALYZEの実行時間を短縮します。 #57631 @0xPoeNOT 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 が別々のマウント パスを使用する場合の KvDB ディスクの I/O ジッターの検出メカニズムを最適化します。 #18463 @LykxSassinator
- ピアのスローログを追加し、メッセージを保存します #16600 @Connor1996
PD
- Prometheus に GO ランタイム関連の監視メトリクスを追加 #8931 @bufferflies
- 不要なエラーログを削減 #9370 @bufferflies
TiFlash
- ワイドテーブルシナリオにおけるTiFlash OOM リスクの観測可能性を強化#10272 @JaySon-Huang
- ストレージスナップショットを取得する際の最大再試行回数を増やし、大規模なテーブルのクエリの安定性を向上させます#10300 @JaySon-Huang
ツール
Backup & Restore (BR)
バグ修正
TiDB
IndexMergeおよびIndexLookUpオペレーターの共有 KV リクエストがクエリをプッシュダウンするときにデータ競合を引き起こす問題を修正しました。 #60175 @you06- ハッシュ集計オペレーターにおける潜在的な goroutine リークの問題を修正しました。 #58004 @xzhangxian1008
- 生成列のインデックスが表示に設定されている場合、MPP プランが選択されない可能性がある問題を修正しました。 #47766 @AilinKid
_charset(xxx), _charset(xxx2), ...を含む SQL 文が異なるダイジェストを生成する問題を修正しました #58447 @xhebox- 頻繁なリージョンのマージにより TTL ジョブが開始できなくなる問題を修正しました #61512 @YangKeao
- 損失のあるDDL文を実行した後にTiFlashクエリ結果が矛盾する問題を修正しました #61455 @Lloyd-Pottiger
ALTER RANGE meta SET PLACEMENT POLICYのキー範囲が正しくない問題を修正しました #60888 @nolouch- GrafanaのStats Healthy Distributionパネルのデータが正しくない可能性がある問題を修正しました#57176 @hawkingrei
latin1_binの比較動作がutf8mb4_binおよびutf8_binと異なる問題を修正しました #60701 @hawkingrei- メタデータロック (MDL) を無効にした後、スキーマバージョン更新に失敗して DDL 操作が停止する問題を修正しました。 #61210 @wjhuang2016
- 特定のシナリオでログの秘匿化が有効にならない問題を修正#59279 @tangenta
- Fix Control #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 @YangKeaoBIT型列の統計がメモリにロードされない問題を修正しました #59759 @YangKeao- 極端なケースで
ANALYZE文のディスクスピル操作に時間がかかりすぎると、他の TiDB ノードが最新の統計を更新できない可能性がある問題を修正しました。 #54552 @0xPoe - 収集された列統計がすべて TopN にある場合、後続の書き込みの後でも行数の推定が 0 のままになる可能性がある問題を修正しました。 #47400 @terry1purcell
explain format="cost_trace"に表示される推定コストが正しくない可能性がある問題を修正#61155 @hawkingreiexplain format="cost_trace"に表示されるコストの計算式に空の括弧が含まれる可能性がある問題を修正しました #61127 @hawkingrei- 循環外部キー定義が無限ループを引き起こす問題を修正#60985 @hawkingrei
NULLを使用すると内部クエリがインデックス範囲クエリを正しく構築できない可能性がある問題を修正しました。 #62196 @hawkingrei- プランキャッシュが誤った実行計画を保存し、実行エラーが発生する問題を修正しました #56772 @dash12653
- 月または年にわたる行数の推定値が大幅に過大評価される可能性がある問題を修正#50080 @terry1purcell
ANALYZEサブタスクの同時実行数が設定された制限を大幅に超える問題を修正しました #61785 @hawkingrei- TopNプッシュダウン中に式ベースのTopNソート項目が誤って生成される問題を修正しました #60655 @hawkingrei
- 列またはインデックスの統計情報が欠落している場合に、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 が高同時実行で過剰な SST 取り込み要求を許可する問題を修正 #18452 @hbisheng
- Grafana の TiKV ダッシュボードで
Ingestion picked levelとCompaction Job Size(files)が誤って表示される問題を修正しました #15990 @Connor1996 - TiKV が再起動した後に予期しない
Server is busyエラーが発生する問題を修正しました #18233 @LykxSassinator - TiKVがブラジルとエジプトのタイムゾーンを誤って変換する問題を修正#16220 @overvenus
- スローログの
StoreMsgログエントリの誤解を招く説明を修正 #18561 @LykxSassinator - スレッドメモリメトリックの誤りを修正#18125 @Connor1996
- TiKV が正常なシャットダウン中に進行中の手動圧縮タスクを終了できない問題を修正#18396 @LykxSassinator
PD
split-merge-interval設定項目の値を繰り返し変更すると(1sから1hに変更して1sに戻すなど)、その設定項目が有効にならない可能性がある問題を修正しました#8404 @lhy1024leaseのデフォルト値が正しく設定されていない問題を修正#9156 @rleungx- TiDB DashboardのTCP接続を不適切に閉じるとPDゴルーチンリークが発生する可能性がある問題を修正#9402 @baurine
- 新しく追加された TiKV ノードがスケジュールされない可能性がある問題を修正しました #9145 @bufferflies
tidb_enable_tso_follower_proxyを有効にすると TSO サービスが利用できなくなる可能性がある問題を修正#9188 @Tema
TiFlash
IMPORT INTOまたはBR restoreの実行中に SST ファイルを誤って削除することによって発生するpanicの問題を修正しました #10141 @CalvinNeo((NULL))形式で式インデックスを作成するとTiFlash がpanicになる問題を修正しました #9891 @JaySon-Huang- 不規則なリージョンキー範囲を持つスナップショットを処理するときにTiFlash がpanicする可能性がある問題を修正しました #10147 @JaySon-Huang
- クラスター内のテーブルに多数の
ENUM型列が含まれている場合、 TiFlashが大量のメモリを消費する可能性がある問題を修正しました。 #9947 @JaySon-Huang - 16 MiB を超えるデータの単一行を挿入した後にTiFlash が再起動に失敗する可能性がある問題を修正しました #10052 @JaySon-Huang
- リソース制御の低トークン信号が欠落するとクエリスロットリングが発生する問題を修正しました #10137 @guo-shaoge
GROUP BY ... WITH ROLLUPを含むSQL文を実行するとTiFlashがException: Block schema mismatchエラーを返す可能性がある問題を修正しました。 #10110 @gengliqi
ツール
Backup & Restore (BR)
TiCDC
- 外部ストレージをダウンストリームとして使用すると、チェンジフィードが停止する可能性がある問題を修正しました。 #9162 @asddongmen
- レプリケーショントラフィックが下流の Kafka のトラフィックしきい値を超えた後に、変更フィードがスタックする可能性がある問題を修正しました。 #12110 @3AceShowHand
changefeed pauseコマンドで--overwrite-checkpoint-tsパラメータを使用すると、変更フィードが停止する可能性がある問題を修正しました。 #12055 @hongyunyan- 仮想列を含むテーブルでイベントフィルタ式を評価するとpanicが発生する可能性がある問題を修正#12206 @lidezhu
- ディスパッチャ構成における列名とインデックス名の大文字と小文字を区別するマッチングの問題を修正しました #12103 @wk989898
- 古いストア ID が原因で、同じ IP アドレス上の TiKV ノードをスケールインまたはスケールアウトした後に、解決された ts ラグが増加し続ける問題を修正しました。 #12162 @3AceShowHand
TiDB Lightning
- クラウドストレージから TiDB に Parquet ファイルをインポートするときに、 TiDB Lightning が数時間停止する可能性がある問題を修正しました。 #60224 @joechenrh
- TiKVへのRPCリクエストがタイムアウトするとTiDB Lightningが
context deadline exceededエラーを返す問題を修正しました #61326 @OliverS929
NG Monitoring