TiDB 8.5.1 リリースノート
発売日:2025年1月17日
TiDBバージョン:8.5.1
オペレーティングシステムとプラットフォームの要件変更
バージョン8.5.1以降、TiDBはCentOS Linux 7のテストを再開し、互換性を確保しています。TiDB v8.5をデプロイする場合、またはクラスタをv8.5にアップグレードする場合は、TiDB v8.5.1以降のバージョンを使用してください。
TiDB v8.4.0 DMR および v8.5.0 リリースは2024年6月30日をもってサポート終了となります CentOS 7 上の TiDB クラスターを v8.4.0 または v8.5.0 にアップグレードすると、クラスターが使用できなくなるリスクが発生します。
現在も CentOS Linux 7 を使用しているユーザーを支援するために、TiDB は v8.5.1 から CentOS Linux 7 のテストを再開します。ただし、CentOS Linux の EOL ステータスのため、CentOS Linux 7 の公式発表およびセキュリティに関するガイダンスおよびセキュリティに関するガイダンスを確認し、Rocky Linux 9.1 以降などの本番使用用のTiDBがサポートするオペレーティングシステムする報酬システムに移行することを強くお勧めします。
CentOS Linux 7はサポート終了(EOL)を迎えたため、今後のTiDBリリースではこのディストリビューションのテストは中止されます。
互換性の変更
TiDB統計キャッシュによるメモリ使用量を削減するため、
tidb_stats_cache_mem_quotaシステム変数のデフォルト値0の意味が変更されました。- v8.5.1より前では、
0統計キャッシュのメモリクォータがTiDBインスタンスの総メモリの50%であることを意味します。 - v8.5.1以降、
0は、統計キャッシュのメモリ割り当てがTiDBインスタンスの総メモリの20%であることを意味します。
- v8.5.1より前では、
改善点
TiDB
- 読み取り専用のユーザー定義変数を定数に折り畳む機能のサポート #52742 @winoros
- カルテシアン積セミジョイン(nulleq条件)をセミジョイン(等価条件)に変換 #57583 @hawkingrei
- 統計メモリキャッシュのデフォルトしきい値を総メモリの20%に調整 #58014 @hawkingrei
- タイムスタンプの有効性チェックを強化 #57786 @MyonKeminta
TiKV
TiFlash
ツール
バグ修正
TiDB
- TiFlashシステムテーブルへのクエリのデフォルトのタイムアウトが短すぎる問題を修正 #57816 @JaySon-Huang
tidb_gogc_tuner_max_valueとtidb_gogc_tuner_min_valueを設定する際に、最大値がnullの場合に誤った警告メッセージが表示される問題を修正しました。 #57889 @hawkingrei- プランキャッシュがインデックスを追加する際に誤ったスキーマを使用するため、データインデックスに一貫性がない問題を修正します #56733 @wjhuang2016
- Grafana のStats Healthy Distributionパネルのデータが正しくない可能性がある問題を修正 #57176 @hawkingrei
- 収集された統計情報のないテーブルの最後の
ANALYZE時刻が NULL にならない可能性がある問題を修正 #57735 @winoros - バックグラウンドタスクがタイムアウトした際に、統計情報の例外処理が不適切であるためにメモリ内の統計情報が誤って削除される問題を修正 #57901 @hawkingrei
DROP DATABASEステートメントの実行後に統計情報がクリアされない問題を修正しました #57230 @Rustin170506IndexMergeを構築する際に一部の述語が失われる可能性がある問題を修正しました #58476 @hawkingrei- 3000次元を超える列にベクトル検索インデックスを作成すると
KeyTooLongエラーが発生する問題を修正 #58836 @breezewish REORGANIZE PARTITION操作が置換されたグローバル インデックスを正しくクリーンアップせず、非クラスター化テーブルの一意インデックスを処理する問題を修正しました #56822 @mjonss- パーティションテーブルの Range INTERVAL 構文糖衣が
MINUTE間隔として使用できない問題を修正 #57698 @mjonss - タイムゾーンを変更すると、スローログのクエリ時にクエリ結果が正しくなくなる問題を修正しました #58452 @lcwangchao
- スキャンタスクのTTLワーカーを縮小する際に、タスクキャンセルの失敗によってタスクがリークする可能性がある問題を修正しました #57708 @YangKeao
- ハートビートが失われ、TTLテーブルが削除または無効化された後もTTLジョブが実行され続ける問題を修正 #57702 @YangKeao
- TTLジョブがキャンセルされた後に
last_job_finish_timeが正しく表示されない問題を修正 #58109 @YangKeao - TiDBハートビートが失われた場合にTTLジョブをキャンセルできない問題を修正 #57784 @YangKeao
- ハートビートを失ったTTLジョブが他のジョブのハートビート受信をブロックする問題を修正 #57915 @YangKeao
- TTLワーカーを縮小した際に、期限切れの行の一部が削除されない問題を修正しました #57990 @lcwangchao
- TTL削除レートリミッターが中断されたときに残りの行が再試行されない問題を修正 #58205 @lcwangchao
- TTLが特定の場合に大量の警告ログを生成する可能性がある問題を修正 #58305 @lcwangchao
tidb_ttl_delete_rate_limitを変更する際に一部の TTL ジョブがハングアップする問題を修正しました #58484 @lcwangchaoREORGANIZE PARTITIONのデータバックフィル中に同時更新がロールバックされる可能性がある問題を修正 #58226 @mjonssORDER BYをクエリする際にcluster_slow_query tableを使用すると、結果が順不同になる可能性がある問題を修正しました #51723 @Defined2014
TiKV
- GBK/GB18030でエンコードされたデータを処理する際にエンコードが失敗する可能性がある問題を修正しました #17618 @CbcWestwolf
- TiKV MVCC In-Memory Engine (IME) がレプリカをプリロードするときに初期化されていないレプリカが原因で TiKV パニックが発生する問題を修正 #18046 @overvenus
- リージョン分割後にリーダーが迅速に選出されない問題を修正 #17602 @LykxSassinator
- ディスクがスタックしているときに TiKV が PD にハートビートを報告できない問題を修正 #17939 @LykxSassinator
PD
TiFlash
ツール
Backup & Restore (BR)
TiCDC
- 新しい TiKV ノードがクラスターに追加された後に変更フィードが停止する可能性がある問題を修正します #11766 @lidezhu
- イベントフィルターが
RENAME TABLEDDL ステートメントを処理する際に、フィルタリングに古いテーブル名ではなく新しいテーブル名を誤って使用する問題を修正しました #11946 @kennytm - 変更フィードが削除された後にゴルーチンがリークする問題を修正 #11954 @hicqu
- Sarama クライアントによって再送信される順序が崩れたメッセージによって Kafka メッセージの順序が正しくなくなる問題を修正 #11935 @3AceShowHand
- DebeziumプロトコルのNOT NULLタイムスタンプフィールドのデフォルト値が間違っている問題を修正 #11966 @wk989898