TiDB 6.5.1 リリースノート
発売日:2023年3月10日
TiDB バージョン: 6.5.1
クイックアクセス: クイックスタート | 本番展開 | インストールパッケージ
互換性の変更
2023 年 2 月 20 日以降、v6.5.1 を含む TiDB および TiDB ダッシュボードの新しいバージョンではテレメトリ機能がデフォルトで無効になり、使用状況情報は収集されず、PingCAP と共有されません。これらのバージョンにアップグレードする前に、クラスターでデフォルトのテレメトリ構成が使用されている場合、アップグレード後にテレメトリ機能は無効になります。特定のバージョンについてはTiDB リリース タイムライン参照してください。
tidb_enable_telemetry
システム変数のデフォルト値がON
からOFF
に変更されました。- TiDB
enable-telemetry
構成項目のデフォルト値がtrue
からfalse
に変更されました。 - PD
enable-telemetry
設定項目のデフォルト値がtrue
からfalse
に変更されます。
v1.11.3 以降、新しく展開されたTiUPではテレメトリ機能がデフォルトで無効になっており、使用状況情報は収集されません。 TiUP のv1.11.3 より前のバージョンから v1.11.3 以降のバージョンにアップグレードすると、テレメトリ機能はアップグレード前と同じステータスを維持します。
正確性の問題が発生する可能性があるため、パーティション テーブルの列タイプの変更はサポートされなくなりました。 #40620 @ むじょん
TiKV
advance-ts-interval
構成項目のデフォルト値が1s
から20s
に変更されます。この構成項目を変更して、レイテンシーを短縮し、 ステイル読み取りデータの適時性を向上させることができます。詳細はステイル読み取りレイテンシーを削減するを参照してください。
改善点
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-protocol-fallbackable
を追加して、PROXY プロトコル フォールバック モードを有効にするかどうかを制御します。このパラメータがtrue
に設定されている場合、TiDB は PROXY クライアント接続および PROXY プロトコル ヘッダーなしのクライアント接続を受け入れます#41409 @ ブラックティア23
TiKV
TiFlash
ツール
バックアップと復元 (BR)
TiCDC
- プルベースのシンクを有効にしてシステム スループットを最適化#8232 @ こんにちはラスティン
- GCS 互換または Azure 互換のオブジェクトstorage#7987 @ CharlesCheung96への REDO ログの保存のサポート
- MQ シンクと MySQL シンクを非同期モードで実装して、シンクのスループットを向上させます#5928 @ 咸陽飛 @ CharlesCheung96
バグの修正
TiDB
- ポイント取得クエリ#39928 @ ジグアンで設定項目
pessimistic-auto-commit
が有効にならない問題を修正 - 長いセッション接続#40351 @ ウィノロスで
INSERT
またはREPLACE
ステートメントがpanic可能性がある問題を修正 auto analyze
により正常なシャットダウンに時間がかかる問題を修正#40038 @ シュイファングリーンアイズ- DDL 取り込み#40970 @ タンジェンタ中にデータ競合が発生する可能性がある問題を修正
- インデックス#40879 @ タンジェンタを追加するとデータ競合が発生する可能性がある問題を修正
- テーブル#38436 @ タンジェンタに多数のリージョンがある場合、無効なリージョンキャッシュによりインデックスの追加操作が非効率になる問題を修正
- TiDB が初期化#40408 @ 定義2014中にデッドロックする可能性がある問題を修正
- キー範囲#40158 @ ティエンチャイアマオを構築するときに TiDB が
NULL
値を適切に処理しないため、予期しないデータが読み取られる問題を修正 - メモリの再利用によりシステム変数の値が誤って変更される場合がある問題を修正#40979 @ ルクワンチャオ
- テーブルの主キーに
ENUM
カラム#40456 @ ルクワンチャオが含まれる場合、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を使用する場合、結合演算子を使用して一部の条件をプッシュダウンできない問題を修正します。
- 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 @ シュイファングリーンアイズ
- パーティションテーブル#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
を使用するとパフォーマンスが低下する問題を修正
- ポイント取得クエリ#39928 @ ジグアンで設定項目
TiKV
- 解決された TS によりネットワーク トラフィックが増加する問題を修正#14092 @ オーバーヴィーナス
- 悲観的DML #14038 @ ミョンケミンタが失敗した後の DML の実行中に、TiDB と TiKV の間のネットワーク障害によって引き起こされるデータの不整合の問題を修正しました。
const Enum
型を他の型#14156 @ wshwsh12にキャストするときに発生するエラーを修正- cop タスクのページングが不正確である問題を修正#14254 @ あなた06
batch_cop
モード#14109 @ あなた06でscan_detail
フィールドが不正確になる問題を修正- TiKV がRaftデータの破損を検出し、 #14338 @ トニーシュクキの再起動に失敗する可能性があるRaft Engineの潜在的なエラーを修正しました。
PD
TiFlash
- デカルト積#6730 @ ゲンリキを計算するときにセミ結合が過剰なメモリを使用する問題を修正
- TiFlashログ検索が遅すぎる問題を修正#6829 @ へへへん
- 再起動を繰り返すと誤ってファイルが削除されてしまい、 TiFlashが起動できない問題を修正#6486 @ ジェイ・ソン・ファン
- 新しい列#6726 @ ジェイ・ソン・ファンを追加した後にクエリを実行すると、 TiFlash がエラーを報告する可能性がある問題を修正
- TiFlash がIPv6 構成#6734 @ ywqzzyをサポートしていない問題を修正
ツール
バックアップと復元 (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 @ レヴルス
- 事前所有者と gc 所有者が異なる場合、PITR バックアップ タスクでチェックポイントが進められない問題を修正#41806 @ ジョッカウ
TiCDC
- TiKV または TiCDC ノード#8174 @ ひっくり返るをスケールインまたはスケールアウトするときなど、特殊なシナリオで変更フィードが停止する可能性がある問題を修正します。
- REDOログ#6335 @ CharlesCheung96のstorageパスで事前チェックが行われない問題を修正
- S3storage障害#8089 @ CharlesCheung96に対して REDO ログが許容できる期間が不十分である問題を修正
- 設定ファイル#7935 @ CharlesCheung96から
transaction_atomicity
とprotocol
を更新できない問題を修正 - TiCDC が過度に多数のテーブル#8004 @ オーバーヴィーナスをレプリケートするとチェックポイントが進められない問題を修正
- レプリケーション ラグが過度に高い場合に REDO ログを適用すると OOM が発生する可能性がある問題を修正#8085 @ CharlesCheung96
- REDO ログがメタ#8074 @ CharlesCheung96への書き込みを有効にするとパフォーマンスが低下する問題を修正
- TiCDC が大規模なトランザクション#7982 @ こんにちはラスティンを分割せずにデータをレプリケートするとコンテキスト期限を超過するバグを修正
- PD が異常なときにチェンジフィードを一時停止すると、不正なステータス#8330 @ スドジが発生する問題を修正
- TiDB または MySQL シンクにデータをレプリケートするとき、および主キー#8420 @ 東門のない非 null の一意のインデックスを持つ列に
CHARACTER SET
が指定されているときに発生するデータの不整合を修正します。 - テーブルのスケジューリングとブラックホール シンク#8024 #8142 @ ひっくり返るのpanicの問題を修正しました。
TiDB データ移行 (DM)
TiDB Lightning
- TiDB Lightning事前チェックが、以前に失敗したインポート#39477 @ dsダシュンによって残されたダーティ データを見つけられない問題を修正
- TiDB Lightning が分割リージョン フェーズ#40934 @ ランス6716でパニックになる問題を修正
- 競合解決ロジック (
duplicate-resolution
) によってチェックサムの不一致が生じる可能性がある問題を修正します#40657 @ ゴズスキー - 並列インポート#40923 @ リチュンジュ中に、最後の TiDB Lightning インスタンスを除くすべてのTiDB Lightningインスタンスでローカルの重複レコードが検出された場合、 TiDB Lightning が誤って競合解決をスキップする可能性がある問題を修正します。
- ローカル バックエンド モードでデータをインポートするときに、インポートされたターゲット テーブルの複合主キーに
auto_random
列があり、その列の値がソース データ#41454 @ D3ハンターで指定されていない場合、ターゲット列でデータが自動的に生成されない問題を修正します。