TiDB 8.5.0 リリースノート
発売日:2024年12月19日
TiDB バージョン: 8.5.0
TiDB 8.5.0は長期サポートリリース(LTS)です。
以前の LTS 8.1.0 と比較して、8.5.0 には8.2.0-DMR 、 8.3.0-DMR 、および8.4.0-DMRでリリースされた新機能、改善点、およびバグ修正が含まれています。8.1.x から 8.5.0 にアップグレードすると、 TiDB リリースノート PDFをダウンロードして、2 つの LTS バージョン間のすべてのリリースノートを確認できます。次の表は、8.1.0 から 8.5.0 までのハイライトの一部を示しています。
機能の詳細
拡張性
スキーマキャッシュのメモリ制限設定が一般提供開始(GA)となりました。テーブル数が数十万、あるいは数百万に達すると、この機能はスキーマメタデータのメモリ使用量を大幅に削減します。 #50959 @tiancaiamao@wjhuang2016 @gmhdbjd @tangenta
SaaS環境によっては、テーブル数が数十万、あるいは数百万に達する場合、スキーマメタデータが相当量のメモリを消費することがあります。この機能を有効にすると、TiDBはLRU(Least Recently Used:最小使用頻度)アルゴリズムを使用して、対応するスキーマメタデータをキャッシュおよび削除することで、メモリ使用量を効果的に削減します。
バージョン8.4.0以降、この機能はデフォルトで有効になっており、デフォルト値は
536870912(つまり512 MiB)です。必要に応じて、変数tidb_schema_cache_sizeを使用して調整できます。詳細については、ドキュメントを参照してください。
PDのリージョン情報クエリサービスの拡張性を向上させるため、アクティブPDFollower機能を提供する(GA) #7431 okJiang
リージョン数の多いTiDBクラスタでは、ハートビート処理やタスクスケジューリングに伴うオーバーヘッドが増加するため、PDリーダーのCPU負荷が高くなる可能性があります。クラスタにTiDBインスタンスが多数存在し、リージョン情報へのリクエストが同時に多数発生すると、PDリーダーのCPU負荷はさらに高まり、PDサービスが利用できなくなる恐れがあります。
高可用性を確保するため、TiDB v7.6.0 では、PD のリージョン情報クエリ サービスの拡張性を向上させる実験的機能として Active PD Followerが導入されました。v8.5.0 では、この機能が一般提供 (GA) になります。Active PD Follower機能を有効にするには、システム変数
pd_enable_follower_handle_regionONに設定します。この機能が有効になると、TiDB はリージョン情報要求をすべての PD サーバーに均等に分散し、PD フォロワーもリージョン要求を処理できるようになるため、PD リーダーの CPU 負荷が軽減されます。詳細については、 ドキュメントを参照してください。
パフォーマンス
TiDBの高速テーブル作成機能が一般提供開始(GA)となり、データ移行とクラスタ初期化時間を大幅に短縮 #50052 @D3Hunter@gmhdbjd
TiDB v7.6.0 では、システム変数
tidb_ddl_versionによって制御される、高速テーブル作成機能が実験的機能として導入されました。v8.0.0 以降、このシステム変数はtidb_enable_fast_create_tableに名称変更されました。バージョン8.5.0では、TiDBの高速テーブル作成機能が一般提供(GA)となり、デフォルトで有効になっています。データ移行やクラスタ初期化の際に、この機能は数百万ものテーブルを迅速に作成できるため、操作時間を大幅に短縮できます。
詳細については、ドキュメントを参照してください。
TiKV は MVCC インメモリ エンジン (IME) をサポートしており、広範な MVCC 履歴バージョンのスキャンを伴うクエリを高速化します #16141 @SpadeA-Tang@glorv@overvenus
レコードが頻繁に更新される場合、または TiDB が履歴バージョンを長期間 (例えば 24 時間) 保持する必要がある場合、MVCC バージョンの蓄積によりスキャン パフォーマンスが低下する可能性があります。TiKV の MVCC インメモリ エンジンは、最新の MVCC バージョンをメモリにキャッシュし、高速な GC メカニズムを使用して履歴バージョンをメモリから削除することで、スキャン パフォーマンスを向上させます。
バージョン8.5.0以降、TiKVはMVCCインメモリエンジンを導入しました。TiKVクラスタ内でMVCCバージョンが蓄積され、スキャンパフォーマンスが低下する場合は、TiKV構成パラメータ
in-memory-engine.enableを設定することで、TiKV MVCCインメモリエンジンを有効にしてスキャンパフォーマンスを向上させることができます。詳細については、ドキュメントを参照してください。
信頼性
PD #5739 @rleungxによるリクエスト処理の最大レートと同時実行数の制限をサポート
PDにリクエストが急増すると、ワークロードが増大し、PDのパフォーマンスに影響を与える可能性があります。バージョン8.5.0以降では、
pd-ctlを使用してPDが処理するリクエストの最大レートと同時実行数を制限し、安定性を向上させることができます。詳細については、ドキュメントを参照してください。
SQL
外部キーのサポート (GA) #36982 @YangKeao@crazycs520
外部キー機能はバージョン8.5.0で一般提供開始(GA)となります。外部キー制約は、データの一貫性と整合性を確保するのに役立ちます。テーブル間の外部キー関係を容易に確立でき、カスケード更新とカスケード削除をサポートすることで、データ管理を簡素化します。この機能により、複雑なデータ関係を持つアプリケーションのサポートが強化されます。
詳細については、ドキュメントを参照してください。
オンラインで DDL ジョブを変更することをサポートする
ADMIN ALTER DDL JOBSステートメントを導入 #57229 @fzzf678 @tangentaバージョン8.3.0以降では、
tidb_ddl_reorg_batch_sizeとtidb_ddl_reorg_worker_cnt変数をセッションレベルで設定できるようになりました。そのため、これらの2つの変数をグローバルに設定しても、実行中のすべてのDDLジョブには影響しなくなりました。これらの変数の値を変更するには、まずDDLジョブをキャンセルし、変数を調整してから、ジョブを再実行する必要があります。TiDB v8.5.0 では
ADMIN ALTER DDL JOBSステートメントが導入され、特定の DDL ジョブの変数値をオンラインで調整できるようになりました。これにより、リソース消費とパフォーマンスのバランスを柔軟に調整できます。変更は個々のジョブに限定されるため、影響をより制御しやすくなります。例:ADMIN ALTER DDL JOBS job_id THREAD = 8;: 指定された DDL ジョブのtidb_ddl_reorg_worker_cntをオンラインで調整します。ADMIN ALTER DDL JOBS job_id BATCH_SIZE = 256;: 指定されたジョブのtidb_ddl_reorg_batch_sizeをオンラインで調整します。ADMIN ALTER DDL JOBS job_id MAX_WRITE_SPEED = '200MiB';: オンラインの各 TiKV ノードへのインデックス データの書き込みトラフィックを調整します。
詳細については、 ドキュメントを参照してください。
Security
BR は、フル バックアップ データとログ バックアップ データの両方のクライアント側暗号化をサポートします (GA) #28640 #56433 @joccau@Tristan1900
TiDB v5.3.0で実験的的に導入された、クライアント側でのフルバックアップデータの暗号化機能を使用すると、カスタムの固定キーを使用してクライアント側でバックアップデータを暗号化できます。
ログバックアップデータのクライアント側暗号化(TiDB v8.4.0で実験的に導入)を使用すると、以下のいずれかの方法を使用してクライアント側でログバックアップデータを暗号化できます。
- カスタム固定キーを使用して暗号化する
- ローカルディスクに保存されているマスターキーを使用して暗号化します。
- キー管理サービス(KMS)によって管理されるマスターキーを使用して暗号化します。
バージョン8.5.0以降、両方の暗号化機能が一般提供(GA)となり、クライアント側のデータセキュリティが強化されます。
詳細については、 バックアップデータを暗号化するおよびログバックアップデータを暗号化する参照してください。
TiKVの保存時暗号化はGoogle Cloud Key Management Service (Google Cloud KMS) (GA) をサポートします。 #8906 @glorv
TiKVは、保存データの暗号化に「保存時暗号化」技術を用いることで、データのセキュリティを確保します。この技術の中核となるのは、適切な鍵管理です。バージョン8.0.0では、TiKVの保存時暗号化において、マスターキー管理にGoogle Cloud KMSを試験的にサポートするようになりました。
バージョン8.5.0以降、Google Cloud KMSを使用した保存データの暗号化が一般提供(GA)されます。この機能を使用するには、まずGoogle Cloudでキーを作成し、次にTiKV設定ファイルの
[security.encryption.master-key]セクションを設定してください。詳細については、 ドキュメントを参照してください。
互換性の変更
注記:
このセクションでは、バージョン8.4.0から最新バージョン(8.5.0)にアップグレードする際に知っておくべき互換性の変更点について説明します。バージョン8.3.0以前のバージョンから最新バージョンにアップグレードする場合は、中間バージョンで導入された互換性の変更点も確認する必要があるかもしれません。
行動の変化
- 非厳格モード (
sql_mode = '') では、NULLの値をNULL以外の列に挿入すると、MySQL との互換性のためにエラーが返されるようになりました。 #55457 @joechenrh ALTER TABLE ... DROP FOREIGN KEY IF EXISTS ...ステートメントはサポートされなくなりました。 #56703 @YangKeao
システム変数
コンフィグレーションパラメータ
オペレーティングシステムとプラットフォームの要件変更
TiDB をアップグレードする前に、オペレーティング システムのバージョンがOSおよびプラットフォームの要件を満たしていることを確認してください。
- CentOS Linux サポート終了CentOS Linux 7 のアップストリームサポートは 2024 年 6 月 30 日に終了しました。そのため、TiDB は v8.4.0 および v8.5.0 で CentOS 7 のサポートを終了します。Rocky Linux 9.1 以降のバージョンを使用することをお勧めします。CentOS 7 上の TiDB クラスタを v8.4.0 または v8.5.0 にアップグレードすると、クラスタが利用できなくなるリスクがあります。CentOS Linux 7 を引き続き使用しているユーザーを支援するため、TiDB v8.5.1 では CentOS Linux 7 のテストを再開し、互換性を持たせています。詳細については、 TiDB v8.5.1 リリースノートを参照してください。
- Red Hat Enterprise Linux ライフサイクルによると、Red Hat Enterprise Linux 7 のメンテナンスサポートは 2024 年 6 月 30 日に終了しました。TiDB はバージョン 8.4.0 以降、Red Hat Enterprise Linux 7 のサポートを終了します。Rocky Linux 9.1 以降のバージョンを使用することをお勧めします。Red Hat Enterprise Linux 7 上の TiDB クラスタをバージョン 8.4.0 以降にアップグレードすると、クラスタが利用できなくなります。
削除された機能
以下の機能が削除されました。
- バージョン 8.4.0 では、 TiDBBinlogは削除されました。バージョン 8.3.0 以降、TiDB Binlog は完全に非推奨となっています。増分データレプリケーションには、代わりにTiCDCを使用してください。ポイントインタイムリカバリ(PITR) には、 PITRを使用してください。TiDB クラスタをバージョン 8.4.0 以降にアップグレードする前に、必ず TiCDC と PITR に切り替えてください。
今後のバージョンでは、以下の機能が削除される予定です。
- バージョン8.0.0以降、 TiDB Lightningは旧バージョンの競合検出戦略を非推奨とし、
conflict.strategyパラメータを使用して論理インポートモードと物理インポートモードの両方の競合検出戦略を制御できるようにします。旧バージョンの競合検出のduplicate-resolutionパラメータは、今後のリリースで削除されます。
- バージョン8.0.0以降、 TiDB Lightningは旧バージョンの競合検出戦略を非推奨とし、
非推奨機能
以下の機能は、将来のバージョンで廃止される予定です。
- バージョン8.0.0では、TiDBは、統計情報を自動的に収集するタスクの順序を最適化するために優先度キューを有効にするかどうかを制御するシステム変数
tidb_enable_auto_analyze_priority_queueを導入しました。今後のリリースでは、統計情報を自動的に収集するタスクの順序付けは優先度キューのみとなるため、このシステム変数は非推奨となります。 - バージョン7.5.0では、TiDBに
tidb_enable_async_merge_global_statsシステム変数が導入されました。この変数を使用すると、TiDBがパーティション統計の非同期マージを使用するように設定し、メモリ不足の問題を回避できます。今後のリリースでは、パーティション統計は非同期でマージされるため、このシステム変数は非推奨となります。 - 今後のリリースでは 実行プランバインディングの自動進化が再設計される予定であり、関連する変数や動作が変更される予定です。
- バージョン8.0.0では、TiDBが並列ハッシュ集計アルゴリズムのディスクスピルをサポートするかどうかを制御するシステム変数
tidb_enable_parallel_hashagg_spillが導入されました。このシステム変数は、今後のバージョンで非推奨となります。 - バージョン5.1では、TiDBはパーティションテーブルの動的プルーニングモードを有効にするかどうかを制御するシステム変数
tidb_partition_prune_modeを導入しました。バージョン8.5.0以降では、この変数をstaticまたはstatic-onlyに設定すると警告が表示されます。今後のバージョンでは、このシステム変数は非推奨となります。 - TiDB Lightning のパラメータ
conflict.max-record-rows、今後のリリースで非推奨となり、その後削除されます。このパラメータはconflict.thresholdに置き換えられます。これは、競合するレコードの最大数が、単一のインポートタスクで許容できる競合レコードの最大数と一致することを意味します。 - バージョン6.3.0以降、パーティションテーブルはデフォルトで 動的剪定モードを使用します。静的剪定モードと比較して、動的剪定モードはIndexJoinやプランキャッシュなどの機能をサポートし、パフォーマンスが向上しています。そのため、静的剪定モードは非推奨となります。
改善点
TiDB
- 分散実行フレームワーク (DXF) を無効にした場合の
ADD INDEXアクセラレーション機能のジョブキャンセル応答速度を改善します #56017 @lance6716 - 小さなテーブルへのインデックス追加速度の改善 #54230 @tangenta
- インデックス追加時の取り込みフェーズの最大速度を制限する新しいシステム変数
tidb_ddl_reorg_max_write_speedを追加 #57156 @CbcWestwolf information_schema.tablesのクエリのパフォーマンスを場合によっては改善する #57295 @tangenta- DDLジョブパラメータの動的調整をサポートする #57526 @fzzf678
- パーティション式のすべての列を含むグローバル インデックスをサポート #56230 @Defined2014
- 範囲クエリのシナリオでリスト パーティション テーブルのパーティション プルーニングをサポート #56673 @Defined2014
- FixControl#46177 をデフォルトで有効にして、場合によってはインデックス範囲スキャンではなくフルテーブルスキャンが誤って選択される問題を修正します #46177 @terry1purcell
- 複数列および複数値インデックスの統計情報をより有効に活用するための内部推定ロジックを改善し、複数値インデックスを含む特定のクエリの推定精度を向上させます #56915 @time-and-fate
- 特定のシナリオにおけるフルテーブルスキャンのコスト見積もりを改善し、フルテーブルスキャンを誤って選択する可能性を低減します #57085 @terry1purcell
- 統計情報の同期読み込みに必要なデータ量を最適化して読み込みパフォーマンスを向上させる #56812 @winoros
OUTER JOINに一意インデックスとORDER BY ... LIMIT句が含まれる特定のケースで実行プランを最適化し、実行効率を向上させます #56321 @winoros
- 分散実行フレームワーク (DXF) を無効にした場合の
ティクヴ
- レプリカのクリーンアップには別のスレッドを使用し、 Raft の読み取りと書き込みの重要なパスのレイテンシーを安定させる #16001 @hbisheng
- SIMD #17290 @EricZequanをサポートすることで、ベクトル距離関数のパフォーマンスを向上させます。
PD
TiFlash
- クラスター化インデックスを使用したテーブルのバックグラウンドでの古いデータのガベージコレクション速度を向上 #9529 @JaySon-Huang
- データ更新シナリオにおけるベクトル検索のクエリ パフォーマンスを向上 #9599 @Lloyd-Pottiger
- ベクターインデックス構築中の CPU 使用率の監視メトリクスを追加 #9032 @JaySon-Huang
- 論理演算子の実行効率を向上 #9146 @windtalker
ツール
バックアップと復元 (BR)
- バックアップ中の不要なログ出力を削減 #55902 @Leavrth
- 暗号化キー
--crypter.keyのエラー メッセージを最適化 #56388 @Tristan1900 - データベース作成時のBRの同時実行数を増やしてデータ復元パフォーマンスを向上させる #56866 @Leavrth
- フルバックアップ中にテーブルレベルのチェックサム計算をデフォルトで無効にする(
--checksum=false)バックアップパフォーマンスを向上させる #56373 @Tristan1900 - 各storageノードの接続タイムアウトを個別に追跡およびリセットするメカニズムを追加して、低速ノードの処理を強化し、バックアップ操作のハングを防止します #57666 @3pointerシュート
TiDBデータ移行(DM)
バグ修正
TiDB
- TiDBがPDから返されるリージョンメタデータにLeader情報がない場合にリクエストを自動的に再試行しない問題を修正し、実行エラーが発生する可能性があった #56757 @cfzjywxk
- 書き込み競合が発生した場合にTTLタスクをキャンセルできない問題を修正 #56422 @YangKeao
- TTLタスクをキャンセルした際に、対応するSQLが強制終了されない問題を修正しました #56511 @lcwangchao
- v6.5からv7.5以降にアップグレードしたクラスターで、既存のTTLタスクが予期せず頻繁に実行される問題を修正します #56539 @lcwangchao
INSERT ... ON DUPLICATE KEYステートメントがmysql_insert_idと互換性がない問題を修正 #55965 @tiancaiamao- TiKVをstorageエンジンとして選択しない場合、TTLが失敗する可能性がある問題を修正 #56402 @YangKeao
AUTO_INCREMENTステートメントを使用してデータをインポートした後、IMPORT INTOフィールドが正しく設定されない問題を修正します #56476 @D3Hunter- TiDBが
ADD INDEXを実行する際にインデックス長の制限をチェックしない問題を修正しました。 #56930 @fzzf678 RECOVER TABLE BY JOB JOB_ID;を実行すると TiDB がpanicを起こす可能性がある問題を修正しました #55113 @crazycs520- 古い読み取りが読み取り操作のタイムスタンプを厳密に検証しないため、TSOと実際の物理時間の間にオフセットが存在する場合にトランザクションの一貫性に影響を与える可能性がわずかにある問題を修正しました #56809 @MyonKeminta
- DDL オーナーノードが切り替わった後、TiDB が以前の進行状況から Reorg DDL タスクを再開できない問題を修正 #56506 @tangenta
- 分散実行フレームワーク (DXF) の監視パネルの一部のメトリックが不正確である問題を修正します#57172 @fzzf678 #56942 @fzzf678
REORGANIZE PARTITIONが特定の場合にエラー理由を返さない問題を修正 #56634 @mjonssINFORMATION_SCHEMA.TABLESのクエリで大文字小文字の区別により誤った結果が返される問題を修正しました #56987 @joechenrh- 共通テーブル式(CTE)に複数のデータコンシューマーがあり、そのうちの1つのコンシューマーがデータを読み取らずに終了した場合に発生する可能性のある無効なメモリアクセスの問題を修正します #55881 @windtalker
INDEX_HASH_JOIN異常終了時にハングアップする可能性がある問題を修正しました #54055 @wshwsh12TRUNCATEステートメントがNULL値を処理する場合に誤った結果を返す問題を修正 #53546 @tuziemonCAST AS CHAR関数が型推論エラーにより誤った結果を返す問題を修正しました #56640 @zimulala- 型推論エラーにより一部の関数の出力で文字列が切り詰められる問題を修正 #56587 @joechenrh
ADDTIME()およびSUBTIME()関数が、最初の引数が日付型の場合に誤った結果を返す問題を修正します #57569 @xzhangxian1008- 非厳格モード(
NULLsql_mode = ''値が挿入される問題を修正 #56381 @joechenrh UPDATEステートメントがENUM型の値を誤って更新する問題を修正しました #56832 @xheboxtidb_low_resolution_tso変数を有効にするとSELECT FOR UPDATEステートメントの実行中にリソースリークが発生する問題を修正しました #55468 @tiancaiamaoJSON_TYPE()関数がパラメータの型を検証せず、JSON 以外のデータ型が渡された場合にエラーが返されない問題を修正しました #54029 @YangKeaoPREPAREステートメントで JSON関数を使用すると実行エラーが発生する可能性がある問題を修正しました #54044 @YangKeaoBIT型からCHAR型へのデータ変換時にTiKVパニックが発生する可能性がある問題を修正しました #56494 @lcwangchaoCREATE VIEWステートメントで変数またはパラメーターを使用してもエラーが報告されない問題を修正 #53176 @mjonssJSON_VALID()関数が誤った結果を返す問題を修正 #56293 @YangKeaotidb_ttl_job_enable変数が無効になった後もTTLタスクがキャンセルされない問題を修正 #57404 @YangKeaoRANGE COLUMNSパーティション関数とutf8mb4_0900_ai_ci照合順序を同時に使用すると、クエリ結果が正しくない可能性がある問題を修正しました #57261 @Defined2014- 改行プリペアドステートメントで始まるプリペアドステートメントの実行によって発生するランタイムエラーを修正します。これにより、配列の範囲外エラーが発生します。 #54283 @Defined2014
UTC_TIMESTAMP()関数の精度に関する問題を修正しました。例えば、精度が高すぎるように設定されていました。 #56451 @chageloUPDATE、INSERT、およびDELETE IGNOREステートメントで外部キーエラーが省略されない問題を修正 #56678 @YangKeaoinformation_schema.cluster_slow_queryテーブルをクエリする際に、時間フィルタが追加されていない場合、最新のスローログファイルのみがクエリされる問題を修正しました #56100 @crazycs520- TTLテーブルのメモリリークの問題を修正 #56934 lcwangchao
write_onlyステータスのテーブルで外部キー制約が有効にならず、non-publicステータスのテーブルが使用できなくなる問題を修正しました #55813 @YangKeaoNATURAL JOINまたはUSING句の後にサブクエリを使用するとエラーが発生する可能性がある問題を修正しました #53766 @dash12653- CTE に
ORDER BY、LIMIT、またはSELECT DISTINCT句が含まれており、別の CTE の再帰部分から参照されている場合、インライン化が正しく行われず、実行エラーが発生する可能性がある問題を修正します。 #56603 @elsa0520 VIEWで定義されたCTEが正しくインライン化されていない問題を修正します #56582 @elsa0520- Plan Replayerが外部キーを含むテーブル構造をインポートする際にエラーを報告する可能性がある問題を修正 #56456 @hawkingrei
- プランリプレイヤーが配置ルールを含むテーブル構造をインポートする際にエラーを報告する可能性がある問題を修正しました #54961 @hawkingrei
ANALYZEを使用してテーブルの統計情報を収集する際に、テーブルに仮想的に生成された列の式インデックスが含まれている場合、実行時にエラーが報告される問題を修正しました。 #57079 @hawkingreiDROP DATABASEステートメントが統計情報における対応する更新を正しくトリガーしない問題を修正しました #57227 @Rustin170506- CTEでデータベース名を解析する際に、誤ったデータベース名が返される問題を修正しました #54582 @hawkingrei
DUMP STATSが統計情報を JSON に変換する際に、ヒストグラムの上限と下限が破損する問題を修正しました #56083 @hawkingreiEXISTSサブクエリの結果が代数演算にさらに関与すると、MySQL の結果と異なる可能性がある問題を修正 #56641 @windtalker- 複数テーブルの
DELETEステートメントに対して、エイリアスを使用した実行プランバインディングを作成できない問題を修正 #56726 @hawkingrei - オプティマイザが複雑な述語を簡略化する際に文字セットと照合順序を考慮しないため、実行エラーが発生する可能性がある問題を修正しました #56479 @dash12653
- Grafana のStats Healthy Distributionパネルのデータが正しくない可能性がある問題を修正 #57176 @hawkingrei
- クラスタ化インデックスを持つテーブルをクエリする際に、ベクトル検索が誤った結果を返す可能性がある問題を修正 #57627 @winoros
ティクヴ
- Raft EngineのMemTable内の古いインデックスに読み取りスレッドがアクセスした際に発生するpanic問題を修正しました #17383 @LykxSassinator
- 多数のトランザクションが同じキーのロック解除をキューイングしており、キーが頻繁に更新される場合、デッドロック検出に過度の負荷がかかり、TiKV OOM の問題が発生する可能性がある問題を修正しました #17394 @MyonKeminta
- リソース制御のバックグラウンドタスクのCPU使用率が二重にカウントされる問題を修正 #17603 @glorv
- CDC内部タスクの蓄積によりTiKV OOMが発生する可能性がある問題を修正 #17696 @3AceShowHand
raft-entry-max-size設定が高すぎる場合に大規模なバッチ書き込みによってパフォーマンスのジッターが発生する問題を修正 #17701 @SpadeA-Tang- リージョン分割後にリーダーが迅速に選出されない問題を修正 #17602 @LykxSassinator
RADIANS()またはDEGREES()関数を含むクエリを実行関数際に TiKV がpanic可能性がある問題を修正 #17852 @gengliqi- 休止状態のすべてのリージョンが起動されたときに書き込みジッターが発生する可能性がある問題を修正 #17101 @hhwyt
PD
- ホットスポットキャッシュのメモリリーク問題を修正 #8698 @lhy1024
- リソースグループセレクターがどのパネルにも適用されない問題を修正 #56572 @glorv
- 削除したリソースグループが監視パネルに表示されたままになる問題を修正 #8716 @AndreMouche
- リージョン同期処理中のログの説明が不明瞭な問題を修正 #8717 @lhy1024
- ラベル統計におけるメモリリークの問題を修正 #8700 @lhy1024
tidb_enable_tso_follower_proxyを0またはOFFに設定しても TSOFollowerプロキシ機能が無効にならない問題を修正しました #8709 @JmPotato
TiFlash
SUBSTRING()関数が特定の整数型に対してposおよびlen引数をサポートしていないためクエリエラーが発生する問題を修正しました #9473 @gengliqi- 分散storageおよびコンピューティングアーキテクチャにおいて、 TiFlash書き込みノードをスケールアウトした後にベクトル検索のパフォーマンスが低下する可能性がある問題を修正します #9637 @kolafish
SUBSTRING()関数が、2 番目のパラメータが負の場合に誤った結果を返す問題を修正しました #9604 @guo-shaogeREPLACE()関数が最初のパラメータが定数の場合にエラーを返す問題を修正 #9522 @guo-shaogeLPAD()およびRPAD()関数が場合によっては誤った結果を返す問題を修正 #9465 @guo-shaoge- ベクトルインデックス作成後、ベクトルインデックス構築のための内部タスクが予期せず中断された場合、 TiFlashが破損したデータを書き込み、再起動できなくなる可能性がある問題を修正しました。 #9714 @JaySon-Huang
ツール
バックアップと復元 (BR)
- バックアップ中に未完了の範囲ギャップが多すぎる場合に発生するOOM問題を修正し、事前割り当てメモリの量を削減します #53529 @Leavrth
- グローバルインデックスをバックアップできない問題を修正 #57469 @Defined2014
- ログに暗号化された情報が出力される可能性がある問題を修正 #57585 @kennytm
- アドバンサーがロックの競合を処理できない問題を修正 #57134 @3pointer
k8s.io/apiライブラリ バージョン #57790 @BornChangerをアップグレードして、潜在的なセキュリティ脆弱性を修正します- クラスター内に多数のテーブルが存在するが実際のデータサイズが小さい場合に、PITRタスクが
Information schema is out of dateエラーを返す可能性がある問題を修正します。 #57743 @Tristan1900 - アドバンスダー所有者が切り替わるとログバックアップが予期せず一時停止状態になることがある問題を修正 #58031 @3pointer
tiup br restoreコマンドがデータベースまたはテーブルの復元時にターゲットクラスタテーブルが既に存在するかどうかのチェックを省略し、既存のテーブルを上書きする可能性がある問題を修正しました #58168 @RidRisR
TiCDC
- Debeziumプロトコル使用時にKafkaメッセージにキーフィールドが欠落する問題を修正 #1799 @wk989898
- 再実行モジュールがエラーを正しく報告できない問題を修正 #11744 @CharlesCheung96
- TiDB DDL の所有者変更中に DDL タスクのスキーマ バージョンが非増分になった場合に TiCDC が誤って DDL タスクを破棄してしまう問題を修正しました #11714 @wlwilliamx
TiDB Lightning
性能テスト
TiDB v8.5.0 のパフォーマンスについて知るには、 TiDB Cloud Dedicatedクラスターの性能テストレポートを参照してください。
寄稿者
TiDBコミュニティの以下の貢献者の皆様に感謝申し上げます。