TiDB 8.5.8 Release Notes
リリース日: 2026年8月27日
TiDB バージョン: 8.5.8
クイックアクセス: Quick start | Production deployment
改善点
TiDB
Tools
TiCDC
- 削除イベントが無視される場合の TiCDC changefeed スキャン性能を改善し、削除が多いワークロードの履歴追いつき処理中に不要な DML デコードを削減しました #5430 @asddongmen
- 適応型スキャンウィンドウアルゴリズムを導入することで、メモリプレッシャー下での TiCDC event service の安定性とスループットを改善し、DDL や sync point シナリオにおける dispatcher の starvation と reset イベントを減らしました #4172 @asddongmen
- 検証時に起動時専用の処理を回避し、既存トピックに対して Schema Registry などの encoder 依存関係を確認し、TiCDC がトピックを作成する必要がある場合にのみ
replication-factorを検証することで、TiCDC Kafka Sink の検証をより軽量かつ完全なものに改善しました #5618 #5720 @3AceShowHand - 同じ Sink 内のすべての Encoder で単一の
ClaimCheckインスタンスを共有することで、Claim-Check を有効にした TiCDC Kafka Sink における外部ストレージクライアントと接続の使用量を削減しました #5719 @3AceShowHand - 設定、Admin API、および producer エラーの分類とラップを標準化することで、TiCDC Kafka Sink のエラーハンドリングを簡素化および統一し、リトライ分類とトラブルシューティングを容易にしました #5790 @3AceShowHand
バグ修正
TiDB
MODIFY COLUMNを含むマルチスキーマ変更が、ingest または分散 backfill を使用せずにトランザクション backfill にフォールバックしてしまう問題を修正しました #70136 @joechenrh- パーティションテーブルでインデックスを追加する進捗が、再編成中に後退する可能性がある問題を修正しました #62496 @GMHDBJD
ADMIN ALTER DDL JOBSで、実行中のトランザクションモード backfill のスレッド数またはバッチサイズを動的に調整できない問題を修正しました #70138 @joechenrh- クエリがネストした
NOT IN式のオペランドとしてINサブクエリを使用した場合に、TiDB が panic を起こしてユーザーセッションを終了する可能性がある問題を修正しました #64854 @hawkingrei - 本来はキャッシュセーフなはずの
JSON_EXTRACT()を使用するクエリが、プリペアドプランキャッシュまたは非プリペアドプランキャッシュを使用できない問題を修正しました #69522 @winoros ALTER TABLE ADD COLUMNで追加された仮想生成カラムの統計が誤って初期化される可能性があり、その結果SHOW STATS_HISTOGRAMSの出力が不正確になり、プレースホルダー統計が不要に読み込まれる問題を修正しました #69160 @qw4990- 実行やリセットを行わないままプリペアドステートメントに対して
COM_STMT_SEND_LONG_DATAリクエストを繰り返し受信すると、TiDB が接続メモリを無制限に消費する可能性がある問題を修正しました #70349 @djshow832 - SQL 文またはオプティマイザヒントを、過度に深くネストした括弧を含む形で解析すると、TiDB がクラッシュする可能性がある問題を修正しました #70192 @Debra-He
- PD クライアントが無効なネスト runtime trace リージョンを出力するため、バッチ TSO リクエスト中に TiDB runtime trace の解析が失敗する可能性がある問題を修正しました #69743 @YangKeao
COM_CHANGE_USER認証失敗時に、接続が不整合なセッション状態のまま残る可能性がある問題を修正しました #69691 @bb7133COM_STMT_SEND_LONG_DATAが単一のプリペアドステートメントに対してパラメータデータを無制限に蓄積できてしまう問題を修正しました。TiDB は現在、セッションのmax_allowed_packet設定を使用して蓄積サイズを制限し、制限を超えた場合は packet-too-large エラーを返します #69693 @bb7133- 特別に細工された圧縮データを処理する際に、
UNCOMPRESS()が追跡されない過剰なメモリを消費し、クエリのメモリクォータを超える可能性がある問題を修正しました #70198 @Debra-He - 権限のないユーザーが
INFORMATION_SCHEMA.USER_ATTRIBUTESを通じて他ユーザーの属性を読み取れる問題を修正しました #70277 @djshow832 - メモリ使用量がアラーム比率を頻繁に超える場合に、OOM 診断用 goroutine プロファイルの記録によって stop-the-world の停止時間が長引き、クエリレイテンシーが増加する可能性がある問題を修正しました #62080 @YangKeao
- 悲観的トランザクション内の
LOAD DATA LOCAL INFILEが、リトライ可能なロック競合の後に内部リトライを行い、クライアント接続との同期がずれ、元のデッドロックエラーではなく無効なシーケンスエラーを返す問題を修正しました #69793 @lance6716 ALTER TABLE ... REORGANIZE PARTITIONにより、パーティション順序で再編成対象パーティションの後ろにある非再編成パーティション内の行に対するエントリを持たないままグローバルインデックスが再構築される可能性があり、その結果、それらのインデックスを使用するクエリで行が欠落し、重複したインデックス値の挿入が許される可能性がある問題を修正しました #70023 @mjonss- テーブル結合操作、
UPDATE文、およびDELETE文で、特に高並行時や幅広い行を処理する場合に、初期Chunkに過剰なメモリが割り当てられる可能性がある問題を修正しました #68545 @solotzg
TiKV
- 高速な Raftstore メッセージバッチに対して TiKV が不要な slow-log メッセージ整形を行い、追加の CPU オーバーヘッドが発生する問題を修正しました #19861 @pingyu
- 不正な UTF-8 入力またはパターン、
BIT値、あるいは特定の照合順序を含むプッシュダウンされたLIKE式をコプロセッサーが評価する際に、TiKV が panic を起こす可能性がある問題を修正しました #66597 #67082 #19811 @jebter - 外部 SST 取り込み時に、取り込みとフォアグラウンド書き込みが競合すると TiKV が不整合な MVCC 状態を生成し、トランザクション状態チェックで panic を引き起こす可能性がある問題を修正しました #19891 @gengliqi
- FIPS 環境で
ENABLE_FIPS=1を指定して TiKV をビルドできない問題を修正しました #19743 @LykxSassinator - バックグラウンドタスクのリソース制御のみを有効にした場合に、TiKV が不要にトランザクションスケジューラを優先度スケジューリングへ切り替えるため、書き込み負荷の高いワークロードで 5% から 10% の性能低下が発生する問題を修正しました #19858 @glorv
tidbモードでの TiDB Lightning データインポート中に TiKV がクラッシュする可能性がある問題を修正しました #18671 @Dog-Du- etcd compaction エラー後に TiKV In-Memory Engine がリージョンラベルの更新を停止し、label watch が無期限にリトライし続ける問題を修正しました #19792 @akashchakrabortymsc-cmd
- インメモリエンジンのキャッシュウォームアップが停止した状態で ACK の期限前に転送リクエストが繰り返し到着すると、リージョンの Leader 転送が無期限にブロックされる可能性がある問題を修正しました #19776 @overvenus
- 一時的な RocksDB compaction スパイク時に、TiKV が不要な書き込みフロー制御を適用する可能性がある問題を修正しました #19667 @hbisheng
- 対象ストアの登録完了前に PD が一時的に store-not-found エラーを返すと、TiKV が Raft 接続を恒久的にブロックする可能性がある問題を修正しました #19980 @LykxSassinator
- TiKV における外部 SST 取り込みでフォアグラウンド書き込みが許可されなくなり、取り込み中の書き込みレイテンシーが増加する問題を修正しました #19954 @gengliqi
PD
- PD
/metric/queryおよび/metric/query_rangeが SSRF に悪用されたり、上流レスポンスの詳細を露出したりする可能性がある問題を修正しました @rleungx - 同じリソースグループ内でリクエストレートが不均一な場合に、RU トークンが TiDB インスタンス間で不均等に割り当てられ、高負荷インスタンスで RU 待機時間の増加とレイテンシー上昇を引き起こす問題を修正しました #9605 @JmPotato
- クライアントが任意の
ConfigPathまたはパス形式の設定名を指定した場合に、PD GlobalConfig gRPC API が意図した名前空間外の etcd キーへアクセスする可能性がある問題を修正しました #11079 @rleungx pd-forwarded-hostで渡された呼び出し元指定のアドレスに対して、現在の PD leader の advertised client URLs に転送先を制限せず、PD が外向き gRPC 接続を確立してしまう可能性がある問題を修正しました #11070 @rleungx- 新しく作成されたリソースグループコントローラが定期的な状態更新と競合した場合に、resource group client が
NaNトークンリクエストを恒久的に送信し続ける可能性がある問題を修正しました #11022 @JmPotato - PD Resource Manager の leader ハンドオフ後、または新しい TiDB インスタンス参加時に、新しい Resource Control client が RU 割り当て 0 を受け取る可能性があり、一時的なレイテンシースパイクや
ERROR 8252 Exceeded resource group quota limitationを引き起こす問題を修正しました #11148 @JmPotato
- PD
TiFlash
Tools
Backup & Restore (BR)
- point-in-time recovery 中に BR のログリストアが設定されたレート制限を適用せず、ログ適用ダウンロード速度が制限を超える問題を修正しました #63505 @Leavrth
AUTO_ID_CACHE=1を持つテーブルに対する BR point-in-time restore で、リストア後最初のINSERT時に重複キーエラーが発生する可能性がある問題を修正しました #69485 @vldmit- ログバックアップタスク停止後に BR ログバックアップが古い GC safepoint を残し、クリーンアップや safepoint 管理に影響する可能性がある問題を修正しました #19832 @Leavrth
- 複数のリストアタスクが同時実行される場合に、BR が SST ダウンロードのレート制限を正しく更新できず、あるタスクの制限変更が反映されない可能性がある問題を修正しました #19454 @Leavrth
TiCDC
- maintainer フェイルオーバー中に TiCDC が重複した dispatcher を作成し、下流で書き込み競合を引き起こす可能性がある問題を修正しました #5083 @hongyunyan
- Kafka controller 障害後に、TiCDC が上流と下流の間で不整合なデータを生成する可能性がある問題を修正しました #5437 @3AceShowHand
- 既存の changefeed ID メタデータが JSON 内で
keyspaceではなく旧来のnamespaceフィールドを使用している場合、TiCDC アップグレード後に changefeed が消える可能性がある問題を修正しました #4079 @wlwilliamx CREATE TABLE ... LIKE ...をレプリケートする際に、参照元テーブルが changefeed によってフィルタリングされていると、TiCDC の checkpoint 進行が停止する問題を修正しました #5150 @lidezhu- changefeed の完了、停止、削除、または別 owner への移動後も、TiCDC owner の checkpoint timestamp および lag メトリクスが古いまま残る問題を修正しました #5490 @asddongmen
- TiCDC の新アーキテクチャで、TiCDC フェイルオーバーまたは dispatcher リセット後に changefeed が停止する可能性がある問題を修正しました #5553 @asddongmen
- TiCDC maintainer が削除されてシャットダウン引き継ぎが開始された後も、dispatcher の再スケジュールまたは再作成を続ける可能性がある問題を修正しました #4827 @wlwilliamx
ScanLockの対象 timestamp により TiKV ローカル MaxTS が最新の PD TSO を超えて進む可能性があるため、残存する async-commit ロックに対する TiCDC の stale-lock 解決が失敗する問題を修正しました #5418 @tenfyzhong- テーブル削除後に TiCDC event service が同じ raw event を繰り返しスキャンし、スキャン進行が停止する問題を修正しました #5040 @asddongmen
- maintainer フェイルオーバーにより進行中の scheduling または merge operator が不整合なまま残り、TiCDC のテーブルスケジューリングが自動的に収束しなくなる問題を修正しました #4763 @wlwilliamx
- フロー制御によってリージョンイベントのプッシュが一時停止している場合に、graceful shutdown 中の TiCDC がハングする可能性がある問題を修正しました #5608 @lidezhu
- maintainer の確認応答が到着する前に TiCDC の table-trigger checkpoint が add-table DDL を追い越して進み、新しく追加されたテーブル dispatcher が後続のテーブル DDL をスキップする問題を修正しました #5401 @hongyunyan
- 同じ maintainer heartbeat 内で checkpoint 進行が進んだ場合に、TiCDC がリトライ不能な changefeed エラーを無視し、failed 状態に入らず normal のままになる問題を修正しました #5246 @3AceShowHand
- Avro または Debezium-Avro を使用する TiCDC changefeed で、Schema Registry が HTTP 500 エラーを返しても正常状態を報告し続ける可能性がある問題を修正しました。影響を受ける changefeed は現在、
last_warningに registry エラーを含む warning 状態を報告します #5653 @wk989898 - coordinator が設定された scheduler concurrency 制限を尊重しないため、多数のアイドル changefeed を一括作成すると TiCDC のメモリおよび CPU 使用量が急増する可能性がある問題を修正しました #4831 @wlwilliamx
- 削除されたビューが物理テーブルとして誤ってスケジュールされ、孤立した dispatcher が残ることで、capture 置き換え後に TiCDC changefeed の checkpoint が停止する可能性がある問題を修正しました #5710 @asddongmen
- ハードコードされた最大互換バージョンのため、新アーキテクチャで TiCDC が新しい PD、TiKV、または TiCDC バージョンを誤って拒否する可能性がある問題を修正しました #4681 @wlwilliamx
- changefeed 作成直後に consumer が開始されると、TiCDC Kafka changefeed が broker のデフォルトパーティション設定でトピックを作成し、メッセージ配信失敗やレプリケーション遅延増加を引き起こす可能性がある問題を修正しました #5896 @3AceShowHand
- 古い TiCDC capture が etcd セッションを失った後も下流への書き込みを続け、フェイルオーバー中に重複または安全でない下流書き込みを引き起こす可能性がある問題を修正しました #5202 @asddongmen
- 共有下流接続プールが枯渇した後、DML セッションによって DDL およびメタデータ操作がブロックされると、TiCDC MySQL sink がハングする可能性がある問題を修正しました #5360 @hongyunyan
- すべての基盤リージョンが初期スキャンを完了する前に、TiCDC が subscription span を初期化済みとしてマークし、初期化依存の操作が早すぎるタイミングでトリガーされる可能性がある問題を修正しました #5658 @lidezhu
cdc cli changefeed resumeが実行中の changefeed に対して成功を報告し、無効な resume リクエストに対して不要な一時 resume GC guard を作成する問題を修正しました #4893 @wlwilliamx- sink URI 検証失敗時に、TiCDC が OpenAPI エラーメッセージおよびログ内で機密性の高い sink URI 情報を露出する可能性がある問題を修正しました #5094 @asddongmen
- checkpoint 進行後に、TiCDC の Kafka、Pulsar、および storage consumer が順序外に再生された DML イベントを無視し、下流データ不整合を引き起こす可能性がある問題を修正しました #5713 @wk989898
- フェイルオーバーまたはメッセージ順序入れ替わり時に、対応する DDL が処理される前に TiCDC 下流 consumer が DML イベントを適用し、
Unknown columnなどのエラーを引き起こす問題を修正しました #5587 @wk989898 - 初期スキーマスナップショットが上流 GC によって失われている場合に、TiCDC schema store の初期化が永遠にリトライされ、ネットワーク分断などの障害から回復した後も changefeed が停止したままになる問題を修正しました #3249 @asddongmen
- 不正な heartbeat または congestion-control メッセージを受信した際に、TiCDC が changefeed スキャンクォータをリークしたり panic を起こしたりする可能性がある問題を修正しました #5642 @lidezhu
- DR Auto-Sync シナリオで、古い tiflow 依存関係によりネットワーク分断中に TiCDC が TiKV panic を引き起こす可能性がある問題を修正しました #5774 @wk989898
- イベント数と総バイト数の両方に基づく event collector のバッチ処理をサポートし、changefeed 設定でバッチ上書きを可能にすることで、redo apply が複数回実行された際に TiCDC がメモリ不足になる問題を修正しました #5950 @3AceShowHand
- event-service のスキャンウィンドウが固定され、DDL barrier が進行できない場合に、パーティションテーブルでの
TRUNCATE TABLE後に TiCDC changefeed が停止する可能性がある問題を修正しました #4365 @asddongmen - グローバルスキャンウィンドウが固定され、dispatcher に保留中の syncpoint barrier がある場合に、TiCDC event service のスキャン進行が停止する可能性がある問題を修正しました #5546 @asddongmen
- 重複した dispatcher を作成し、下流データ不整合を引き起こす可能性がある TiCDC の race condition を修正しました #6069 @wk989898
TiDB Lightning
- 一時的な conflict-deletion commit エラー後に、
IMPORT INTOが不整合なインデックスを伴ったまま成功を報告する可能性がある問題を修正しました #69792 @D3Hunter - ローカルエンジンファイルが正しくクリーンアップされない場合に、インポートエラーまたはリトライ後の
IMPORT INTOがlock held by current processエラーで失敗する可能性がある問題を修正しました #65645 @D3Hunter - 繰り返し出現する辞書エンコードされた Parquet
DECIMAL値に対して、IMPORT INTOが誤った値を黙って書き込む問題を修正しました #70365 @joechenrh - ジョブ生成がキャンセルされた場合に、
IMPORT INTOまたは関連するローカルバックエンド取り込みタスクがハングする可能性がある問題を修正しました #69240 @D3Hunter
- 一時的な conflict-deletion commit エラー後に、