TiDB 8.5.3 リリースノート
発売日:2025年8月14日
TiDB バージョン: 8.5.3
互換性の変更
- コストモデルの内部使用のために、以下のシステム変数を追加します。これらの変数を変更することは推奨されません:
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 @ テリー・パーセル - テレメトリー機能を再導入します。ただし、テレメトリ関連の情報はローカルにのみ記録され、ネットワーク経由で PingCAP にデータが送信されなくなります#61766 @ 定義2014
改善点
TiDB
- 統計情報がすべて TopN で構成され、対応するテーブル統計の変更された行数が 0 以外である場合に、TopN にヒットしない等価条件の推定結果を 0 から 1 に調整します#47400 @ テリー・パーセル
- グローバルソートを使用して一意のインデックスを追加する際のパフォーマンスを改善し、重複した一意のインデックスを追加する際のエラーメッセージを改良しました#61689 @ CbcWestwolf
IMPORT INTO
グローバルソート#60361が有効の場合、TiKV のインポートモードへの切り替えを無効にします ( D3ハンター場合)- インデックス追加#60925 @ CbcWestwolf中の TiKV への書き込み速度を観察するための監視メトリックを追加します。
merge sort
サブタスクのスケジュールロジックを最適化してソートパフォーマンスを向上させる#60375 @ 接線- 外部キーを持つテーブルを大量に作成する場合のテーブル作成を高速化し、メモリ使用効率を最適化します#61126 @ GMHDBJD
information_schema.tables
テーブル#62020 @ 接線の読み取りパフォーマンスを向上- データインポート#61553 @ 接線中のリージョン分割とデータ取り込みのためのフロー制御インターフェースを追加します
- IndexScanのプラン構築プロセスを最適化し、
fmt.Sprintf()
呼び出しを#56649 / crazycs520削減 - インデックス#61025 @ fzzf678でグローバルソートを使用する場合のマージソートステージの監視メトリックを追加します。
IndexLookup
オペレータがcontext canceled
エラー#61072 @ イービン87に遭遇したときに冗長なログエントリを削除しますtidb_replica_read
closest-adaptive
#61745 @ あなた06に設定するとパフォーマンスが向上します- 大規模クラスタの監視メトリクスデータの量を減らすことで運用コストを削減#59990 @ ジムララ
TiKV
- フォアグラウンド書き込みをブロックせずにSSTファイルの取り込みをサポートし、レイテンシー#18081 @ hhwytの影響を軽減します。
- フローコントローラ#18625 @ hhwytによるパフォーマンスジッタを軽減
- TiDB #18081 @ 金星の上での
ADD INDEX
操作中のテールレイテンシーを最適化 - Raftstoreの
CompactedEvent
処理をsplit-check
ワーカーに移動して最適化し、メインのRaftstoreスレッド#18532 @ LykxSassinatorのブロッキングを削減します。 - SST の取り込みが遅すぎる場合は
SST ingest is experiencing slowdowns
のみをログに記録し、パフォーマンスのジッターを回避するためにget_sst_key_ranges
呼び出しをスキップします#18549 @ LykxSassinator - KvDB と RaftDB が別々のマウント パス#18463 @ LykxSassinatorを使用する場合の KvDB ディスクの I/O ジッターの検出メカニズムを最適化します。
- Raft Engineの
fetch_entries_to
のパフォーマンスを最適化して競合を減らし、混合ワークロード#18605 @ LykxSassinatorでのパフォーマンスを向上します。 - 残留データのクリーンアップメカニズムを最適化して、リクエストのレイテンシー#18107 @ LykxSassinatorへの影響を軽減します。
PD
TiFlash
ツール
バックアップと復元 (BR)
バグ修正
TiDB
ALTER RANGE meta SET PLACEMENT POLICY
#60888 @ ノルーシュのキー範囲が正しくない問題を修正しました- インデックス作成中にワーカー数を減らすとタスクが#59267 @ D3ハンターでハングする可能性がある問題を修正しました
ADMIN SHOW DDL JOBS
文で行数が正しく表示されない問題を修正#59897 @ 接線- インデックス作成時にワーカー数を動的に調整するとデータ競合が発生する可能性がある問題を修正#59016 @ D3ハンター
- GrafanaのStats Healthy Distributionパネルのデータが正しくない可能性がある問題を修正しました#57176 @ ホーキングレイ
IMPORT INTO ... FROM SELECT
使用してTiFlash #58443 @ D3ハンターにデータをインポートするときにエラーが発生する可能性がある問題を修正しましたtidb_enable_dist_task
有効にすると TiDB のアップグレードが#54061 @ 接線で失敗する問題を修正- 統計の不適切な例外処理により、バックグラウンドタスクがタイムアウトしたときにメモリ内の統計が誤って削除される問題を修正しました#57901 @ ホーキングレイ
- TiDB分散実行フレームワーク(DXF) #58573 @ D3ハンターでインデックスを追加したときに行数が正しく更新されない問題を修正しました
- 損失のあるDDL文#61455 @ ロイド・ポティガーを実行した後にTiFlashクエリ結果が矛盾する問題を修正しました
- GCS #59754 @ D3ハンターで EOF エラーが発生したときに TiDB が再試行に失敗する問題を修正しました
- グローバルソート#59841 @ GMHDBJD使用時の無効なKV範囲の問題を修正
CREATE INDEX IF NOT EXISTS
文#61265 @ CbcWestwolfを実行すると空のインデックス名が生成される問題を修正しました- メタデータ ロック (MDL) を無効にした後、スキーマ バージョン#61210 @ wjhuang2016更新に失敗して DDL 操作が停止する問題を修正しました。
- 統計システムテーブル#60430 @ 接線に非公開インデックスが表示される問題を修正しました
- HashAgg 演算子のメモリ追跡が正しく行われず、多数のエラー ログ#58822 @ xzhangxian1008が発生する問題を修正しました。
- HashAgg 演算子#61749 @ xzhangxian1008で、
nil
バッファがbasePartialResult4GroupConcat
場合にディスクへの書き込み時にpanicが発生する問題を修正しました。 - 集計式のエンコードロジックで誤った戻り値がクエリ実行中にpanicを引き起こす問題を修正#61735 @ ヤンケオ
- HashJoin 演算子がメモリの過剰使用により Goroutine リークを引き起こす問題を修正#60926 @ xzhangxian1008
IndexMerge
およびIndexLookUp
演算子の共有 KV リクエストがクエリ#60175 @ あなた06をプッシュダウンするときにデータ競合を引き起こす問題を修正しました。_charset(xxx), _charset(xxx2), ...
を含む SQL 文が#58447 @ xheboxで異なるダイジェストを生成する問題を修正しました- 無効な UTF-8 文字を処理するときに TiDB がpanic可能性がある問題を修正#47521 @ 定義2014
- 無効な夏時間(DST)タイムスタンプを挿入すると
0000-00-00
#61334 @ ミョンスになる問題を修正しました - 厳密なSQLモードで
INSERT IGNORE
使用して無効な夏時間のタイムスタンプを挿入すると、MySQL #61439 @ ミョンスと一致しないタイムスタンプになる問題を修正しました。 - 頻繁なリージョンのマージにより TTL ジョブが#61512 @ ヤンケオで開始できなくなる問題を修正しました
- ネットワークプロトコルでTiDBが返す列の長さが
0
なる場合がある問題を修正しました0
の場合、TiDBは各フィールドタイプのデフォルトの長さである#60503 @ xheboxを返します。 - ネットワークプロトコルで返される型
blob
が MySQL #60195 @ ドヴェーデンと一致しない問題を修正しました CAST()
で返される長さが MySQL #61350 @ ヤンケオと互換性がない問題を修正しましたlatin1_bin
の比較動作がutf8mb4_bin
およびutf8_bin
#60701 @ ホーキングレイと異なる問題を修正しました- クエリが終了したときに悲観的ロックが残る可能性がある問題を修正#61454 @ ジグアン
- 1回のリクエストでPDからあまりにも多くのリージョンをロードするため、TiDBが大規模なクエリを実行するとエラーが発生する問題を修正#1704 @ あなた06
TiKV
- TiKV が正常なシャットダウン中に進行中の手動圧縮タスクを終了できない問題を修正#18396 @ LykxSassinator
- クラスタのアップグレード後にデフォルトのリージョンサイズが予期せず変更される問題を修正#18503 @ LykxSassinator
- TiKVがクライアントが#18079 @ エキシウムをデコードできない圧縮アルゴリズムを使用する可能性がある問題を修正しました
- Titan を無効にした後に BLOB インデックスがスナップショットの適用エラーを引き起こす可能性がある問題を修正#18434 @ v01dstar
- スローログ#18561 @ LykxSassinatorの
StoreMsg
ログエントリの誤解を招く説明を修正 - TiKV が高同時実行#18452 @ ヒビシェンで過剰な SST 取り込み要求を許可する問題を修正
- ロックスキャン#16818 @ cfzjywxk中に重複した結果によりTiKVがpanic可能性がある問題を修正
PD
TiFlash
ツール
バックアップと復元 (BR)
- ブレークポイントリカバリ#54316 @ リーヴルス中にstorageノードの使用可能スペースが不必要に再チェックされる問題を修正
- HTTP/2 GOAWAYエラーが発生したときに外部storageからのデータインポートが自動的に再試行されない問題を修正#60143 @ ヨッヘンrh
- インポートモードの切り替えにより復元中に発生する
keepalive watchdog timedout
エラーを修正#18541 @ リーヴルス - 大量のデータを転送するときに Azure Blob Storage へのログ バックアップのアップロードが遅くなる問題を修正#18410 @ ユジュンセン
-f
#61592 @ リドリスRでテーブルをフィルタリングするときに、 BR が対応するテーブルがクラスター内に存在するかどうかをチェックしない問題を修正しました。- PITRが3072バイトを超えるインデックスの復元に失敗する問題を修正#58430 @ ユジュンセン
- フルバックアップ#58587 @ 3ポイントシュート中に RangeTree 結果がメモリを非効率的に消費する問題を修正しました
TiCDC
- 仮想列を含むテーブルでイベントフィルタ式を評価するとpanicが発生する可能性がある問題を修正#12206 @ リデジュ
- 古いストア ID #12162 @ 3エースショーハンドが原因で、同じ IP アドレス上の TiKV ノードをスケールインまたはスケールアウトした後に、解決された ts ラグが増加し続ける問題を修正しました。
- ディスパッチャ構成#12103 @ wk989898における列名とインデックス名の大文字と小文字を区別するマッチングの問題を修正しました
- Debeziumプロトコルで
column-selector
設定するとpanic#12208 @ wk989898が発生する可能性がある問題を修正しました
TiDB Lightning