TiDB 8.5.3 リリースノート
発売日:2025年8月14日
TiDBバージョン:8.5.3
互換性の変更
- KVDBとRaftDBが別々のディスクにデプロイされているシナリオで、KVDBディスクI/Oジッター検出の感度を向上させるため、TiKV構成項目
raftstore.inspect-kvdb-intervalのデフォルト値を2sから100msに変更します。 #18463 @LykxSassinator - コストモデルによる内部使用のために次のシステム変数を追加します。これらの変数を変更することは推奨されません:
tidb_opt_hash_agg_cost_factor、tidb_opt_hash_join_cost_factor、tidb_opt_index_join_cost_factor、tidb_opt_index_lookup_cost_factor、tidb_opt_index_merge_cost_factor、tidb_opt_index_reader_cost_factor、tidb_opt_index_scan_cost_factor、tidb_opt_limit_cost_factor、tidb_opt_merge_join_cost_factor、tidb_opt_sort_cost_factor、tidb_opt_stream_agg_cost_factor、tidb_opt_table_full_scan_cost_factor、tidb_opt_table_range_scan_cost_factor、tidb_opt_table_reader_cost_factor、tidb_opt_table_rowid_cost_factor、tidb_opt_table_tiflash_scan_cost_factor、およびtidb_opt_topn_cost_factor#60357 @terry1purcell - テレメトリー機能を再導入します。ただし、テレメトリ関連の情報をローカルに記録するだけであり、ネットワーク経由で PingCAP にデータを送信することはなくなりました #61766 @Defined2014
改善点
TiDB
- 統計情報が完全に TopN で構成され、対応するテーブル統計情報の変更された行数がゼロでない場合、TopN に到達しない等価条件の推定結果を 0 から 1 に調整します。 #47400 @terry1purcell
- グローバルソートを使用した一意インデックスの追加パフォーマンスを改善し、重複する一意インデックスを追加する際のエラーメッセージを改善します #61689 @CbcWestwolf
IMPORT INTOがグローバルソートを有効にしている場合、TiKV のインポートモードへの切り替えを無効にする #60361 @D3Hunter- インデックス追加中の TiKV への書き込み速度を監視するためのモニタリング メトリックを追加 #60925 @CbcWestwolf
merge sortサブタスクのスケジューリングロジックを最適化してソートパフォーマンスを向上させる #60375 @tangenta- 外部キーを持つ多数のテーブルを作成する際のテーブル作成を高速化し、メモリ使用効率を最適化する #61126 @GMHDBJD
information_schema.tablesテーブル #62020の読み取りパフォーマンスを改善します @tangenta- データインポート時のリージョン分割とデータ取り込みのためのフロー制御インターフェースを追加 #61553 @tangenta
- IndexScan のプラン構築プロセスを最適化し、
fmt.Sprintf()呼び出しを削減します #56649 @crazycs520 - インデックスを使用したグローバルソート時にマージソート段階の監視メトリクスを追加する #61025 @fzzf678
IndexLookupオペレーターがcontext canceledエラーに遭遇したときに、冗長なログエントリを削除します #61072 @yibin87tidb_replica_readをclosest-adaptiveに設定した場合のパフォーマンスを改善します #61745 @you06- 大規模クラスタにおける監視メトリクスデータの量を減らすことで運用コストを削減する #59990 @zimulala
ティクヴ
- フォアグラウンド書き込みをブロックせずにSSTファイルを取り込むことをサポートし、レイテンシーの影響を軽減します #18081 @hhwyt
- フローコントローラによって引き起こされるパフォーマンスのジッターを軽減します #18625 @hhwyt
- TiDB での
ADD INDEX操作中のテールレイテンシーを最適化 #18081 @overvenus - Raftstoreでの
CompactedEventの処理を最適化しsplit-checkワーカーに移動することで、メインのRaftstoreスレッドでのブロッキングを軽減します #18532 @LykxSassinator - SST の取り込みが遅すぎる場合のみ
SST ingest is experiencing slowdownsをログに記録し、パフォーマンスのジッターを回避するためにget_sst_key_rangesの呼び出しをスキップします #18549 @LykxSassinator - KvDBとRaftDBが別々のマウントパスを使用する場合のKvDBディスクのI/Oジッター検出メカニズムを最適化する #18463 @LykxSassinator
- Raft Engineの
fetch_entries_toのパフォーマンスを最適化して競合を減らし、混合ワークロード下でのパフォーマンスを向上させます #18605 @LykxSassinator - リクエストのレイテンシーへの影響を軽減するために、残留データのクリーンアップメカニズムを最適化します #18107 @LykxSassinator
PD
- GO ランタイム関連の監視メトリクスを Prometheus に追加 #8931 @bufferflies
- スローノードリーダーの強制退去後のリカバリ時間を600秒から900秒(15分)に延長 #9329 @rleungx
TiFlash
- storageスナップショット取得時の最大リトライ回数を増やし、大規模テーブルのクエリの安定性を向上 #10300 @JaySon-Huang
- ワイドテーブルシナリオにおけるTiFlash OOM リスクの可観測性を強化 #10272 @JaySon-Huang
ツール
バックアップと復元 (BR)
バグ修正
TiDB
ALTER RANGE meta SET PLACEMENT POLICYのキー範囲が間違っている問題を修正 #60888 @nolouch- インデックス作成中にワーカー数を減らすとタスクがハングアップする可能性がある問題を修正 #59267 @D3Hunter
ADMIN SHOW DDL JOBSステートメントで行数が正しく表示されない問題を修正 #59897 @tangenta- インデックス作成中にワーカー数を動的に調整するとデータ競合が発生する可能性がある問題を修正 #59016 @D3Hunter
- Grafana のStats Healthy Distributionパネルのデータが正しくない可能性がある問題を修正 #57176 @hawkingrei
IMPORT INTO ... FROM SELECTを使用してTiFlashにデータをインポートする際にエラーが発生する可能性がある問題を修正しました #58443 @D3Huntertidb_enable_dist_taskを有効にすると TiDB アップグレードが失敗する問題を修正 #54061 @tangenta- バックグラウンドタスクがタイムアウトした際に、統計情報の例外処理が不適切であるためにメモリ内の統計情報が誤って削除される問題を修正 #57901 @hawkingrei
- TiDB Distributed eXecution Framework (DXF) でインデックスを追加した際に、行数が正しく更新されない問題を修正しました #58573 @D3Hunter
- 非可逆 DDL ステートメントを実行した後にTiFlashクエリの結果が矛盾する問題を修正 #61455 @Lloyd-Pottiger
- TiDBがGCSでEOFエラーに遭遇した際に再試行に失敗する問題を修正 #59754 @D3Hunter
- グローバルソート使用時の無効なKV範囲の問題を修正 #59841 @GMHDBJD
CREATE INDEX IF NOT EXISTSステートメントの実行時に空のインデックス名が生成される問題を修正 #61265 @CbcWestwolf- メタデータロック(MDL)を無効にした後、スキーマバージョンの更新に失敗してDDL操作が停止する問題を修正しました #61210 @wjhuang2016
- 非公開インデックスが統計システムテーブルに表示される問題を修正 #60430 @tangenta
- HashAgg演算子におけるメモリ追跡の誤りにより、大量のエラーログが発生する問題を修正しました #58822 @xzhangxian1008
- HashAgg オペレーターでディスク スピル中に
nil内のbasePartialResult4GroupConcatバッファがpanicを引き起こす問題を修正しました #61749 @xzhangxian1008 - 集計式のエンコードロジックにおける誤った戻り値がクエリ実行中にpanicを引き起こす問題を修正 #61735 @YangKeao
- HashJoin演算子がメモリの過剰使用によりゴルーチンリークを引き起こす問題を修正 #60926 @xzhangxian1008
IndexMergeおよびIndexLookUpオペレーターで共有 KV リクエストがクエリのプッシュダウン時にデータ競合を引き起こす問題を修正しました #60175 @you06_charset(xxx), _charset(xxx2), ...を含む SQL ステートメントが異なるダイジェストを生成する問題を修正 #58447 @xhebox- 無効な UTF-8 文字を処理するときに TiDB がpanic可能性がある問題を修正 #47521 @Defined2014
- 無効な夏時間 (DST) タイムスタンプを挿入すると
0000-00-00になる問題を修正 #61334 @mjonss INSERT IGNOREを使用して厳密なSQLモードで無効な夏時間タイムスタンプを挿入すると、MySQLと矛盾するタイムスタンプが生成される問題を修正しました #61439 @mjonss- リージョンのマージが頻繁に行われるとTTLジョブの開始が妨げられる問題を修正 #61512 @YangKeao
- TiDB がネットワーク プロトコルで返す列の長さが
0になる可能性がある問題を修正します。もし0であれば、TiDB は各フィールド タイプのデフォルトの長さを返します。 #60503 @xhebox - ネットワークプロトコルにおける
blobの戻り値の型が MySQL と一致しない問題を修正しました #60195 @dveeden CAST()が返す長さが MySQL と互換性がない問題を修正 #61350 @YangKeaolatin1_binの比較動作がutf8mb4_binおよびutf8_binと異なる問題を修正 #60701 @hawkingrei- クエリが終了したときに悲観的ロックが残る可能性がある問題を修正 #61454 @zyguan
- TiDBがPDから単一のリクエストでリージョンを多数ロードしたために大規模なクエリを実行する際にエラーが発生する問題を修正しました #1704 @you06
ティクヴ
- TiKV が正常シャットダウン中に進行中の手動圧縮タスクを終了できない問題を修正 #18396 @LykxSassinator
- クラスターのアップグレード後にデフォルトのリージョンサイズが予期せず変更される問題を修正 #18503 @LykxSassinator
- TiKVがクライアントがデコードできない圧縮アルゴリズムを使用する可能性がある問題を修正 #18079 @ekexium
- Titanが無効化された後に、ブロブインデックスが原因でスナップショットの適用が失敗する可能性がある問題を修正しました #18434 @v01dstar
- スローログの
StoreMsgログエントリの誤解を招く説明を修正 #18561 @LykxSassinator - TiKVが高同時実行時に過剰なSST取り込みリクエストを許可してしまう問題を修正 #18452 @hbisheng
- ロックスキャン中に重複した結果が原因でTiKVがpanic可能性がある問題を修正 #16818 @cfzjywxk
PD
TiFlash
((NULL))の形式で式インデックスを作成するとTiFlash がpanicになる問題を修正 #9891 @JaySon-Huang- Join オペレーターのミューテックスの位置がずれていると、特定の環境でTiFlashがクラッシュする問題を修正 #10163 @windtalker
- リソース制御の低トークンシグナルが欠落するとクエリのスロットリングが発生する問題を修正 #10137 @guo-shaoge
ツール
バックアップと復元 (BR)
- ブレークポイントリカバリ中にstorageノードの空き容量が不必要に再チェックされる問題を修正 #54316 @Leavrth
- HTTP/2 GOAWAY エラーが発生した際に、外部storageからのデータインポートが自動的に再試行されない問題を修正 #60143 @joechenrh
- インポートモードの切り替えにより復元中に発生する
keepalive watchdog timedoutエラーを修正 #18541 @Leavrth - 大量のデータを転送する際に、ログバックアップのAzure Blob Storageへのアップロードが遅くなる問題を修正しました #18410 @YuJuncen
-fでテーブルをフィルタリングする際に、 BRが対応するテーブルがクラスタ内に存在するかどうかをチェックしない問題を修正 #61592 @RidRisR- PITR が 3072 バイトを超えるインデックスの復元に失敗する問題を修正 #58430 @YuJuncen
- RangeTree の結果が完全バックアップ中にメモリを非効率的に消費する問題を修正 #58587 @3pointer
TiCDC
- 仮想列を含むテーブルでイベントフィルタ式を評価するとpanicが発生する可能性がある問題を修正 #12206 @lidezhu
- 古いストア ID が原因で、同じ IP アドレス上の TiKV ノードをスケールインまたはスケールアウトした後、解決された ts ラグが増加し続ける問題を修正 #12162 @3AceShowHand
- ディスパッチャ構成における列名とインデックス名の大文字小文字を区別するマッチングの問題を修正 #12103 @wk989898
- Debeziumプロトコルで
column-selectorを設定するとpanicが発生する可能性がある問題を修正しました #12208 @wk989898
TiDB Lightning