TiDB 6.5.1 リリースノート
発売日:2023年3月10日
TiDB バージョン: 6.5.1
互換性の変更
2023年2月20日以降、TiDBおよびTiDBダッシュボードの新しいバージョン(v6.5.1を含む)では、 テレメトリ機能デフォルトで無効化され、使用状況情報は収集されず、PingCAPと共有されません。これらのバージョンにアップグレードする前に、クラスターがデフォルトのテレメトリ設定を使用している場合、アップグレード後にテレメトリ機能が無効化されます。具体的なバージョンについては、 TiDB リリース タイムライン参照してください。
tidb_enable_telemetryシステム変数のデフォルト値がONからOFFに変更されます。- TiDB
enable-telemetry構成項目のデフォルト値がtrueからfalseに変更されます。 - PD
enable-telemetry構成項目のデフォルト値がtrueからfalseに変更されます。
v1.11.3 以降、新規に導入されたTiUPではテレメトリ機能がデフォルトで無効化され、使用状況情報は収集されません。v1.11.3 より前のバージョンのTiUPから v1.11.3 以降のバージョンにアップグレードした場合、テレメトリ機能はアップグレード前と同じ状態を維持します。
潜在的な正確性の問題のため、パーティション化されたテーブルでの列タイプの変更はサポートされなくなりました#40620 @ ミョンス
TiKV
advance-ts-interval設定項目のデフォルト値が1sから20sに変更されました。この設定項目を変更することで、レイテンシーを短縮し、 ステイル読み取りデータの適時性を向上させることができます。詳細はステイル読み取りのレイテンシーを削減ご覧ください。ネットワーク トラフィックを削減するために、TiKV
cdc.min-ts-interval構成項目の既定値が"200ms"から"1s"に変更されました。
改善点
TiDB
v6.5.1以降、 TiDB Operator v1.4.3以降でデプロイされたTiDBクラスタはIPv6アドレスをサポートします。これにより、TiDBはより広いアドレス空間をサポートし、セキュリティとネットワークパフォーマンスを向上させることができます。
- IPv6 アドレスの完全サポート: TiDB は、クライアント接続、ノード間の内部通信、外部システムとの通信など、すべてのネットワーク接続で IPv6 アドレスの使用をサポートします。
- デュアルスタックのサポート:まだIPv6への完全移行の準備が整っていない場合でも、TiDBはデュアルスタックネットワークをサポートしています。つまり、同じTiDBクラスタ内でIPv4とIPv6の両方のアドレスを使用し、設定によってIPv6を優先するネットワーク展開モードを選択できます。
IPv6 の導入の詳細については、 Kubernetes 上の TiDB ドキュメント参照してください。
TiDB クラスタの初期化時に実行される SQL スクリプトの指定をサポート#35624 @ モルゴ
TiDB v6.5.1 では、新しい設定項目
initialize-sql-fileが追加されました。TiDB クラスタを初めて起動する際に、コマンドラインパラメータ--initialize-sql-fileを設定することで、実行する SQL スクリプトを指定できます。この機能は、システム変数の値の変更、ユーザーの作成、権限の付与などの操作を行う際に使用できます。詳細については、 ドキュメント参照してください。メモリリークとパフォーマンスの低下を防ぐため、期限切れのリージョンキャッシュを定期的にクリアします#40461 @ スティクナーフ
PROXYプロトコルフォールバックモードを有効にするかどうかを制御する新しい設定項目
--proxy-protocol-fallbackableを追加します。このパラメータをtrueに設定すると、TiDBはPROXYクライアント接続とPROXYプロトコルヘッダー#41409 @ ブラックティア23のないクライアント接続を受け入れます。
TiKV
TiFlash
ツール
バックアップと復元 (BR)
TiCDC
- プルベースのシンクを有効にしてシステムスループットを最適化します#8232 @ ハイラスティン
- GCS 互換または Azure 互換のオブジェクトstorage#7987 @ チャールズ・チュン96への REDO ログの保存をサポート
- シンクのスループットを向上させるために、非同期モードでMQシンクとMySQLシンクを実装します#5928 @ アミャンフェイ @ チャールズ・チュン96
バグ修正
TiDB
pessimistic-auto-commit構成項目がポイント取得クエリ#39928 @ ジグアンで有効にならない問題を修正しました- 長いセッション接続#40351 @ ウィノロスで
INSERTまたはREPLACEステートメントがpanic可能性がある問題を修正しました auto analyze正常なシャットダウンに長い時間がかかる問題を修正#40038 @ xuyifangreeneyes- DDL取り込み#40970 @ 接線中にデータ競合が発生する可能性がある問題を修正
- インデックスを#40879 @ 接線で追加するとデータ競合が発生する可能性がある問題を修正しました
- テーブル#38436 @ 接線に多数のリージョンがある場合に無効なリージョンキャッシュが原因でインデックスの追加操作が非効率になる問題を修正しました。
- 初期化中にTiDBがデッドロックする可能性がある問題を修正#40408 @ 定義2014
- TiDB がキー範囲#40158 @ 天菜まおを構築するときに
NULL値を不適切に処理するため、予期しないデータが読み取られる問題を修正しました。 - メモリの再利用により、システム変数の値が誤って変更される可能性がある問題を修正#40979 @ lcwangchao
- テーブルの主キーに
ENUM列#40456 @ lcwangchaoが含まれている場合にTTLタスクが失敗する問題を修正しました - ユニークインデックス#40592 @ 接線を追加するときに TiDB がパニックを起こす問題を修正しました
- 同じテーブルを同時に切り捨てるときに、一部の切り捨て操作が MDL によってブロックされない問題を修正#40484 @ wjhuang2016
- 動的トリミングモード#40368 @ イーサールでパーティションテーブルにグローバルバインディングが作成された後にTiDBが再起動できない問題を修正しました
- 「カーソル読み取り」メソッドを使用してデータを読み取ると、GC #39447 @ ジグアンのためにエラーが返される可能性がある問題を修正しました。
SHOW PROCESSLIST#41156 @ ヤンケオの結果でEXECUTE情報が null になる問題を修正しましたglobalMemoryControlクエリを強制終了しているときに、KILL操作が#41057 @ wshwsh12で終了しない可能性がある問題を修正しましたindexMergeエラーに遭遇した後に TiDB がpanic可能性がある問題を修正#41047 #40877 @ グオシャオゲ @ ウィンドトーカーANALYZE文がKILL#41825 @ 徐淮嶼で終了する可能性がある問題を修正しましたindexMerge#41545 #41605 @ グオシャオゲで goroutine リークが発生する可能性がある問題を修正しました- 符号なしの
TINYINT/SMALLINT/INT値を0#41736 @ リトルフォールより小さいDECIMAL/FLOAT/DOUBLE値と比較するときに誤った結果になる可能性がある問題を修正しました。 tidb_enable_reuse_chunk有効にするとメモリリーク#40987 @ グオシャオゲが発生する可能性がある問題を修正- タイムゾーンでのデータ競合によりデータインデックスの不整合が発生する可能性がある問題を修正#40710 @ wjhuang2016
batch cop実行中のスキャン詳細情報が不正確になる可能性がある問題を修正#41582 @ あなた06copの上限同時実行数が#41134 @ あなた06に制限されない問題を修正cursor read分のstatement contextが誤って#39998 @ ジグアンキャッシュされる問題を修正- メモリリークとパフォーマンスの低下を防ぐため、古くなったリージョンキャッシュを定期的にクリーンアップします#40355 @ スティクナーフ
year <cmp> const含むクエリでプラン キャッシュを使用すると間違った結果#41626 @ qw4990が返される可能性がある問題を修正しました- 大きな範囲と大量のデータ変更を伴うクエリを実行するときに大きな推定エラーが発生する問題を修正#39593 @ 時間と運命
- Plan Cache #40093 #38205 @ qw4990の使用時に、一部の条件が Join 演算子を通じてプッシュダウンできない問題を修正しました。
- IndexMerge プランが SET 型の列#41273 #41293 @ 時間と運命に誤った範囲を生成する可能性がある問題を修正しました
- プランキャッシュが
int_col <cmp> decimal条件#40679 #41032 @ qw4990を処理するときにフルスキャン プランをキャッシュする可能性がある問題を修正しました - プランキャッシュが
int_col in (decimal...)条件#40224 @ qw4990を処理するときにフルスキャン プランをキャッシュする可能性がある問題を修正しました ignore_plan_cacheヒントがINSERTステートメント#40079 #39717 @ qw4990では機能しない可能性がある問題を修正しました- 自動分析により TiDB が#40038 @ xuyifangreeneyesで終了できなくなる問題を修正しました
- パーティションテーブル#40309 @ ウィノロスの符号なし主キーに不正なアクセス間隔が構築される可能性がある問題を修正しました。
- プランキャッシュがシャッフル演算子をキャッシュし、誤った結果を返す可能性がある問題を修正#38335 @ qw4990
- パーティションテーブルにグローバルバインディングを作成すると、TiDB が#40368 @ イーサールで起動に失敗する可能性がある問題を修正しました。
- スローログ#41458 @ 時間と運命でクエリプラン演算子が欠落する可能性がある問題を修正しました
- 仮想列を持つ TopN 演算子が誤って TiKV またはTiFlash #41355 @ ドゥーシル9にプッシュダウンすると、誤った結果が返される可能性がある問題を修正しました。
- インデックス#40698 #40730 #41459 #40464 #40217 @ 接線を追加するときにデータの不整合が発生する問題を修正しました
- インデックス#41515 @ 接線を追加するときに
Pessimistic lock not foundエラーが発生する問題を修正しました - ユニークインデックス#41630 @ 接線を追加するときに誤って報告される重複キーエラーの問題を修正しました
- TiDB #40741 @ ソロツグで
paging使用するとパフォーマンスが低下する問題を修正
TiKV
- 解決されたTSによりネットワークトラフィックが増加する問題を修正#14092 @ 金星の上
- 悲観的DML #14038 @ ミョンケミンタ失敗後のDML実行中にTiDBとTiKV間のネットワーク障害によって発生するデータの不整合の問題を修正しました。
const Enum型を他の型#14156 @ wshwsh12にキャストするときに発生するエラーを修正しました- 警官タスクのページングが不正確になる問題を修正#14254 @ あなた06
batch_copモード#14109 @ あなた06でscan_detailフィールドが不正確になる問題を修正- Raft Engineの潜在的なエラーを修正しました。このエラーにより、TiKV がRaftデータの破損を検出し、 #14338 @ トニー・シュッキの再起動に失敗する可能性があります。
PD
TiFlash
ツール
バックアップと復元 (BR)
- PDとtidb-server間の接続障害により、PITRバックアップの進行が#41082 @ ユジュンセンに進まない問題を修正しました。
- PDとTiKV #14159 @ ユジュンセン間の接続障害によりTiKVがPITRタスクをリッスンできない問題を修正しました
- PITRがPDクラスタ#14165 @ ユジュンセンの構成変更をサポートしない問題を修正
- PITR機能がCAバンドル#38775 @ 3ポイントシュートをサポートしない問題を修正
- PITRバックアップタスクを削除すると、残りのバックアップデータによって新しいタスク#40403 @ ジョッカウでデータの不整合が発生する問題を修正しました。
- BRが
backupmetaファイル#40878 @ モクイシュル28を解析するときにpanicを引き起こす問題を修正しました - リージョンサイズ#36053 @ ユジュンセン取得に失敗したために復元が中断される問題を修正しました
- TiDBクラスタ#40759 @ ジョッカウにPITRバックアップタスクがない場合に頻度
resolve lockが高すぎる問題を修正 - ログバックアップが実行中のクラスタにデータを復元すると、ログバックアップファイルが復元できなくなる問題を修正#40797 @ リーヴルス
- 完全バックアップの失敗後にチェックポイントからバックアップを再開しようとしたときに発生するpanicの問題を修正#40704 @ リーヴルス
- PITRエラーが#40576 @ リーヴルスで上書きされる問題を修正
- PITR バックアップ タスクで、先行所有者と GC 所有者が異なる場合にチェックポイントが進まない問題を修正しました#41806 @ ジョッカウ
TiCDC
- TiKV または TiCDC ノード#8174 @ ヒックスケールインまたはスケールアウトなどの特別なシナリオで、changefeed がスタックする可能性がある問題を修正しました。
- REDOログ#6335 @ チャールズ・チュン96のstorageパスで事前チェックが実行されない問題を修正
- S3storage障害#8089 @ チャールズ・チュン96に対して、REDO ログが許容できる期間が不十分である問題を修正しました
transaction-atomicityとprotocol構成ファイル#7935 @ チャールズ・チュン96経由で更新できない問題を修正- TiCDC が過度に多数のテーブル#8004 @ 金星の上を複製するとチェックポイントが進めなくなる問題を修正しました
- レプリケーション遅延が過度に高い場合に、REDOログを適用するとOOMが発生する可能性がある問題を修正#8085 @ チャールズ・チュン96
- REDOログがメタ#8074 @ チャールズ・チュン96への書き込みを有効にするとパフォーマンスが低下する問題を修正しました
- TiCDCが大きなトランザクション#7982をハイラスティンに分割せずにデータを複製するとコンテキスト期限が超過するバグを修正
- PDが異常なときにチェンジフィードを一時停止すると、誤ったステータス#8330 @ スドジになる問題を修正しました。
- TiDB または MySQL シンクにデータを複製するときに、主キー#8420 @ アズドンメンのない非 NULL ユニーク インデックスを持つ列に
CHARACTER SET指定した場合に発生するデータの不整合を修正しました。 - テーブルスケジューリングとブラックホールシンクのpanic問題を修正#8024 #8142 @ ヒック
TiDB データ移行 (DM)
TiDB Lightning
- TiDB Lightningの事前チェックで、以前に失敗したインポートによって残されたダーティデータを見つけられない問題を修正#39477 @ dsdashun
- TiDB Lightningが分割領域フェーズ#40934 @ ランス6716でパニックになる問題を修正
- 競合解決ロジック(
duplicate-resolution)によってチェックサム#40657 @ 眠そうなモグラの不一致が発生する可能性がある問題を修正しました。 - 並列インポート中に、最後のTiDB Lightningインスタンスを除くすべてのインスタンスがローカル重複レコードに遭遇した場合に、 TiDB Lightning が競合解決を誤ってスキップする可能性がある問題を修正しました#40923 @ リチュンジュ
- ローカルバックエンドモードでデータをインポートする際に、インポートされたターゲットテーブルの複合主キーに
auto_random列があり、ソースデータ#41454 @ D3ハンターでその列の値が指定されていない場合、ターゲット列が自動的にデータを生成しない問題を修正しました。