TiDB 7.5.5 リリースノート
発売日:2024年12月31日
TiDB バージョン: 7.5.5
互換性の変更
- インデックス#57156 @ CbcWestwolfを追加する際の取り込みフェーズの最大速度を制限する新しいシステム変数
tidb_ddl_reorg_max_write_speedを追加します。 - TiKV構成項目
raft-client-queue-sizeのデフォルト値を8192から16384#17101 @ Connor1996に変更します
改善点
TiDB
- 統計情報がすべて TopN で構成され、対応するテーブル統計の変更された行数が 0 以外である場合に、TopN にヒットしない等価条件の推定結果を 0 から 1 に調整します#47400 @ terry1purcell
TiKV
- Raftと RocksDB が異なるディスクにデプロイされている場合、RocksDB が配置されているディスクでは低速ディスク検出が機能しない問題を修正#17884 @ LykxSassinator
- ピアのスローログを追加し、メッセージ#16600 @ Connor1996を保存します。
- ログの適用を待つために TiKV を再起動するときに発生する不安定なアクセス遅延を最適化し、TiKV #15874 @ LykxSassinatorの安定性を向上しました。
TiFlash
- TLS を有効にした後に証明書を更新することでTiFlash がpanic可能性がある問題を軽減します#8535 @ windtalker
- クラスター化インデックス#9529 @ JaySon-Huangを持つテーブルで、バックグラウンドでの古いデータのガベージコレクションの速度が向上しました。
- 分散storageおよびコンピューティングアーキテクチャ内のTiFlashコンピューティングノードの再試行戦略を最適化して、Amazon S3 #9695 @ JinheLinからファイルをダウンロードする際の例外を処理します。
ツール
バグ修正
TiDB
- DDL 所有者ノードが#56506 @ tangentaに切り替えられた後、TiDB が以前の進行状況から再編成 DDL タスクを再開できない問題を修正しました。
- 非厳密モードで無効な
NULL値が挿入される問題を修正 (sql_mode = '') #56381 @ joechenrh - GrafanaのStats Healthy Distributionパネルのデータが正しくない可能性がある問題を修正しました#57176 @ hawkingrei
- 共通テーブル式 (CTE) に複数のデータ コンシューマーがあり、1 つのコンシューマーがデータを読み取らずに終了した場合に発生する可能性のある無効なメモリアクセスの問題を修正しました#55881 @ windtalker
- v6.5からv7.5以降にアップグレードされたクラスターで、既存のTTLタスクが予期せず頻繁に実行される問題を修正#56539 @ lcwangchao
tidb_ttl_job_enable変数が無効になった後、TTL タスクがキャンセルされない問題を修正#57404 @ YangKeao- 情報スキーマキャッシュミス#53428 @ crazycs520により、古い読み取りのクエリレイテンシーが増加する問題を修正しました。
- stale read が読み取り操作のタイムスタンプを厳密に検証しない問題を修正しました。その結果、TSO と実際の物理時間#56809 @ MyonKemintaの間にオフセットが存在する場合に、トランザクションの一貫性にわずかながら影響する可能性が生じます。
IMPORT INTOステートメント#56476 @ D3Hunterを使用してデータをインポートした後、AUTO_INCREMENTフィールドが正しく設定されない問題を修正しました。- 2人のDDL所有者が同時に存在する可能性がある問題を修正#54689 @ joccau
- storageエンジン#56402 @ YangKeaoとしてTiKVが選択されていない場合にTTLが失敗する可能性がある問題を修正
ADD INDEX#56930 @ fzzf678を実行するときに TiDB がインデックスの長さ制限をチェックしない問題を修正しました- TTLタスクをキャンセルした際に、対応するSQLが強制終了されない問題を修正#56511 @ lcwangchao
- エイリアス#56726 @ hawkingreiを持つマルチテーブル
DELETEステートメントに対して実行プラン バインディングを作成できない問題を修正しました。 ANALYZE使用してテーブルの統計情報を収集するときに、テーブルに仮想生成列の式インデックスが含まれていると、実行時にエラー#57079 @ hawkingreiが報告される問題を修正しました。- 配置ルール#54961 @ hawkingreiを含むテーブル構造をインポートするときに Plan Replayer がエラーを報告する可能性がある問題を修正しました。
- CTE でデータベース名を解析するときに間違ったデータベース名#54582 @ hawkingreiが返される問題を修正しました
INSERT ... ON DUPLICATE KEY文がmysql_insert_id#55965 @ tiancaiamaoと互換性がない問題を修正- 特定の状況下でプランキャッシュを使用する際に、メタデータロックの不適切な使用によって異常なデータが書き込まれる可能性がある問題を修正しました#53634 @ zimulala
- グローバルソート#54147 @ tangentaを使用してインデックスを追加するときにパフォーマンスが不安定になる問題を修正しました
- 外部キー#56456 @ hawkingreiを含むテーブル構造をインポートするときに Plan Replayer がエラーを報告する可能性がある問題を修正しました。
RANGE COLUMNSパーティション関数とutf8mb4_0900_ai_ci照合順序を同時に使用すると、クエリ結果#57261 @ Defined2014が正しくなくなる可能性がある問題を修正しました。NATURAL JOINまたはUSING節の後にサブクエリを使用するとエラー#53766 @ dash12653が発生する可能性がある問題を修正しました- 書き込み競合が発生したときにTTLタスクをキャンセルできない問題を修正#56422 @ YangKeao
- CTE に
ORDER BY、LIMIT、またはSELECT DISTINCT節が含まれており、別の CTE の再帰部分によって参照されている場合、誤ってインライン化され、実行エラー#56603 @ elsa0520が発生する可能性がある問題を修正しました。 UPDATE文がENUM型#56832 @ xheboxの値を誤って更新する問題を修正しましたRECOVER TABLE BY JOB JOB_ID;実行すると TiDB がpanicを起こす可能性がある問題を修正#55113 @ crazycs520- クエリに利用可能なインデックスマージ実行プラン#56217 @ AilinKidがある場合に
read_from_storageヒントが有効にならない可能性がある問題を修正しました - 異常終了時に
INDEX_HASH_JOINアップする可能性がある問題を修正#54055 @ wshwsh12 - 分散実行フレームワーク (DXF) に関連するシステム テーブルをクエリすると、アップグレードが失敗する可能性がある問題を修正しました#49263 @ D3Hunter
- DDL内部トランザクションエラー
GC life time is shorter than transaction durationによりインデックス追加が失敗する問題を修正#57043 @ tangenta EXCHANGE PARTITION実行して無効な行に遭遇すると、InfoSchema が完全にロードされ、エラーfailed to load schema diffが#56685 @ D3Hunterで報告される問題を修正しました。tidb_ddl_enable_fast_reorgとnew_collations_enabled_on_first_bootstrap有効になっているときに照合順序が正しく処理されず、データ インデックス#58036 @ djshow832が不一致になる問題を修正しました。- プランキャッシュがインデックス#56733 @ wjhuang2016を追加するときに間違ったスキーマを使用するため、データインデックスが不整合になる問題を修正しました。
- アップグレード中に
ALTER TABLE TIFLASH REPLICA実行するとTiDBノードがクラッシュする問題を修正#57863 @ tangenta - クエリ
INFORMATION_SCHEMA.columnsのパフォーマンスがランス6716で#58184低下する問題を修正 - TiFlashシステムテーブルを照会するためのデフォルトのタイムアウトが短すぎる問題を修正#57816 @ JaySon-Huang
default_collation_for_utf8mb4変数の値がSET NAMESステートメント#56439 @ Defined2014で機能しない問題を修正しましたmysql.tidb_timerテーブル#57112 @ lcwangchaoでタイマーを手動で削除すると、TTL 内部コルーチンがpanicになる可能性がある問題を修正しました。ALTER TABLEステートメントを使用して通常のテーブルをパーティションテーブルに変換するときに、チェックが不十分なために誤ったデータ#55721 @ mjonssが生成される可能性がある問題を修正しました。tidb_gogc_tuner_max_valueとtidb_gogc_tuner_min_valueを設定するときに最大値がnullの場合、誤った警告メッセージが表示される問題を修正しました#57889 @ hawkingrei- TiDBの内部コルーチン#57798 #56053 @ fishiu @ tiancaiamaoで発生する可能性のあるデータ競合問題を修正しました
- 潜在的なセキュリティリスクを防ぐためのアップデート
golang-jwtとjwt#57135 @ hawkingrei ALTER TABLE文#57510 @ mjonssを使用して、クラスタ化インデックスを持つテーブルをパーティションテーブルに変換するときに、同時書き込みによってデータが重複する可能性がある問題を修正しました。
TiKV
- 領域をマージすると稀に TiKV がpanicを起こす可能性がある問題を修正#17840 @ glorv
- Raftと RocksDB が異なるディスクにデプロイされている場合、RocksDB が配置されているディスクでは低速ディスク検出が機能しない問題を修正#17884 @ LykxSassinator
log-fileパラメータが指定されていない場合、jprof の出力が正しくキャプチャおよび処理されない問題を修正#17607 @ Hexilee- 休止状態のリージョンが起動しているときにレイテンシーが増加する可能性がある問題を修正#17101 @ Connor1996
RADIANS()またはDEGREES()関数を含むクエリを実行するとTiKVがpanic可能性がある問題を修正しました#17852 @ gengliqi- 読み取りスレッドがRaft Engine#17383 @ LykxSassinatorのMemTable内の古いインデックスにアクセスしたときに発生するpanic問題を修正しました。
- 多数のトランザクションが同じキーのロック解除待ち行列に入っていて、キーが頻繁に更新される場合、デッドロック検出への過度の圧力によって TiKV OOM 問題#17394 @ MyonKemintaが発生する可能性がある問題を修正しました
- すべての休止状態の領域が#17101 @ hhwytで起動すると書き込みジッターが発生する可能性がある問題を修正しました
- TiKVがブラジルとエジプトのタイムゾーンを誤って変換する問題を修正#16220 @ overvenus
- オンラインアンセーフリカバリがマージ中止#15580 @ v01dstarを処理できない問題を修正
- エラー発生時にCPUプロファイリングフラグが正しくリセットされない問題を修正#17234 @ Connor1996
raft-entry-max-size#17701 @ SpadeA-Tangと高く設定されすぎると、大規模なバッチ書き込みによってパフォーマンスジッターが発生する問題を修正しました。- インポートモジュールの競合検出インターフェースにおける不適切なエラー処理により、TiKV がpanicを起こす可能性がある問題を修正しました#17830 @ joccau
PD
evict-leader-schedulerまたはgrant-leader-scheduler作成時にエラーが発生しても、エラーメッセージが pd-ctl #8759 @ okJiangに返されない問題を修正しました。- etcdリーダー遷移#8823 @ rleungx中にPDがリーダーを素早く再選出できない問題を修正
- ラベル統計#8700 @ lhy1024のメモリリーク問題を修正
- 同じストアID #8756 @ okJiangで繰り返し作成された場合に
evict-leader-scheduler正常に動作しない問題を修正 - リソース グループ クライアントでスロットが完全に削除されず、割り当てられたトークンの数が指定された値#7346 @ guo-shaogeより少なくなる問題を修正しました。
evict-leader-schedulerで間違ったパラメータを使用すると、PD がエラーを正しく報告せず、一部のスケジューラが利用できなくなる問題を修正しました#8619 @ rleungx- ホットスポット キャッシュ#8698 @ lhy1024のメモリリーク問題を修正
- 乱数ジェネレータ#8674 @ rleungxの頻繁な作成によって発生するパフォーマンスジッターの問題を修正しました
TiFlash
- TiFlash が同時 DDL 実行中に競合に遭遇した場合のTiFlashpanic問題を修正#8578 @ JaySon-Huang
LPAD()とRPAD()関数が、場合によっては誤った結果を返す問題を修正しました#9465 @ guo-shaoge- 2番目のパラメータが負の#9604 @ guo-shaogeの場合に
SUBSTRING()関数が誤った結果を返す問題を修正しました - テーブルに無効な文字#9461 @ Lloyd-Pottigerを含むデフォルト値を持つビット型の列が含まれている場合、 TiFlash がテーブル スキーマを解析できない問題を修正しました。
- 分散storageおよびコンピューティングアーキテクチャ#9665 @ zimulalaで新しい列をクエリすると誤った結果が返される可能性がある問題を修正しました
ツール
バックアップと復元 (BR)
- データの復元に失敗した後、チェックポイントから再開するとエラー
the target cluster is not freshが発生する問題を修正しました#50232 @ Leavrth - ログバックアップが残留ロックをすぐに解決できず、チェックポイントが#57134 @ 3pointerに進まない問題を修正しました。
- ログに暗号化された情報#57585 @ kennytmが出力される問題を修正
TestStoreRemovedテストケースが不安定になる問題を修正#52791 @ YuJuncenk8s.io/apiライブラリバージョン#57790 @ BornChangerにアップグレードして潜在的なセキュリティ脆弱性を修正します- クラスター内に多数のテーブルがあるが、実際のデータサイズが小さい場合に PITR タスクが
Information schema is out of dateエラーを返す可能性がある問題を修正しました#57743 @ Tristan1900
- データの復元に失敗した後、チェックポイントから再開するとエラー
TiCDC
- 有効なインデックス#11765 @ asddongmenのないテーブルで
TRUNCATE TABLEDDL を複製するときに TiCDC がエラーを報告する可能性がある問題を修正しました。 - シンプルプロトコルメッセージ#11846 @ 3AceShowHandでパーティションテーブルの
tableID正しく設定されていない問題を修正しました。 - やり直しモジュールがエラー#11744 @ CharlesCheung96を正しく報告できない問題を修正しました
ignore-eventでadd table partitionイベントをフィルタリングするように設定した後、TiCDC が関連パーティションの他のタイプの DML 変更をダウンストリーム#10524 @ CharlesCheung96に複製しない問題を修正しました。- TiDB DDL 所有者の変更中に DDL タスクのスキーマ バージョンが非増分になったときに、TiCDC が誤って DDL タスクを破棄する問題を修正#11714 @ wlwilliamx
- 有効なインデックス#11765 @ asddongmenのないテーブルで
TiDB データ移行 (DM)
TiDB Lightning
- TiDB LightningがTiKV #56114 @ fishiuから送信されたサイズ超過のメッセージを受信できない問題を修正しました
- 物理インポートモード#56814 @ D3Hunterを使用してデータをインポートした後に
AUTO_INCREMENT値が高すぎる値に設定される問題を修正しました - メタデータ更新中に
Lock wait timeoutエラーが発生した場合にTiDB Lightning が自動的に再試行しない問題を修正しました#53042 @ guoshouyan - 高同時実行シナリオでクラウドstorageからデータをインポートするときにパフォーマンスが低下する問題を修正#57413 @ xuanyu66
- 多数の Parquet ファイル#56104 @ zeminzhouをインポートする際の準備フェーズでTiDB Lightning が長時間停止する可能性がある問題を修正しました
- TiDB Lightning #58085 @ lance6716を使用してデータをインポートするときにエラーレポートの出力が切り捨てられる問題を修正しました
Dumpling
- Google Cloud Storage (GCS) #56127 @ OliverS929から 503 エラーを受信したときにDumpling が適切に再試行できない問題を修正しました