TiDB 6.5.4 リリースノート
発売日: 2023年8月28日
TiDB バージョン: 6.5.4
クイックアクセス: クイックスタート | 実稼働環境への導入
互換性の変更
Cursor Fetch
使用して大きな結果セットを取得するときにTiDBがメモリを大量に消費する問題を修正するために、TiDBは結果セットを自動的にディスクに書き込んでメモリを解放します#43233 @ ヤンケオ- RocksDB の定期的な圧縮をデフォルトで無効にし、TiKV RocksDB のデフォルトの動作がバージョン 6.5.0 より前のバージョンと一致するようになりました。この変更により、アップグレード後に大量の圧縮によって発生するパフォーマンスへの影響を回避できます。さらに、TiKV では 2 つの新しい構成項目
rocksdb.[defaultcf|writecf|lockcf].periodic-compaction-seconds
とrocksdb.[defaultcf|writecf|lockcf].ttl
が導入され、RocksDB #15355 @ リクササシネーターの定期的な圧縮を手動で構成できるようになりました。
行動の変化
- 複数の変更を含むトランザクションの場合、更新イベントで主キーまたは null 以外の一意のインデックス値が変更されると、TiCDC はイベントを削除イベントと挿入イベントに分割し、すべてのイベントが挿入イベントに先行する削除イベントのシーケンスに従うようにします。詳細については、 ドキュメント参照してください。
改善点
ティビ
ティクヴ
check_leader
リクエストに gzip 圧縮を使用してトラフィックを削減#14553 @ あなた06Max gap of safe-ts
とMin safe ts region
メトリックを追加し、tikv-ctl get-region-read-progress
コマンドを導入して、resolved-tsと安全な ts の状態をより適切に観察および診断します#15082 @ エキシウム- TiKV で RocksDB の設定を公開し、ユーザーが TTL や定期的な圧縮などの機能を無効にできるようにします#14873 @ リクササシネーター
- 他のスレッドに影響を与えないように、Titan マニフェスト ファイルを書き込むときにミューテックスを保持しないようにします#15351 @ コナー1996
- 圧縮メカニズムを最適化します。リージョンが分割されるときに、分割するキーがない場合、圧縮がトリガーされ、過剰な MVCC バージョン#15282 @ スペードA-タンが排除されます。
PD
TiFlash
ツール
バックアップと復元 (BR)
ティCDC
- TiCDC が失敗後に再試行するときのステータス メッセージを改善する#9483 @ アズドンメン
- TiCDC が Kafka に同期するときに制限を超えるメッセージを処理する方法を最適化し、主キーのみをダウンストリーム#9574 @ 3エースショーハンドに送信することをサポートしました。
- ストレージシンクは、HEX 形式のデータの 16 進エンコードをサポートするようになり、AWS DMS 形式仕様#9373 @ チャールズ・チュン96と互換性があります。
TiDB データ移行 (DM)
Dumpling
バグ修正
ティビ
STREAM_AGG()
演算子#40857 @ ドゥーシル9を押し下げるとindex out of range
エラーが報告される可能性がある問題を修正しましたCREATE TABLE
ステートメントにサブパーティション定義が含まれている場合、TiDB がすべてのパーティション情報を無視し、パーティションテーブルを作成する問題を修正しました#41198 #41200 @ ミョンスstale_read_ts
設定が間違っているとPREPARE stmt
データを誤って読み取る可能性がある問題を修正#43044 @ あなた06- ActivateTxn #42092 @ ホーキングレイで起こり得るデータ競合の問題を修正
- バッチクライアントがタイムリーに再接続しない問題を修正#44431 @ クレイジーcs520
- SQL コンパイル エラー ログが編集されない問題を修正#41831 @ ランス6716
- CTEと相関サブクエリを同時に使用すると、クエリ結果が不正確になったりpanicが発生する可能性がある問題を修正#44649 #38170 #44774 @ ウィノロス @ グオシャオゲ
- TTLタスクが時間#40109 @ ヤンケオで統計更新をトリガーできない問題を修正
- GC ロック解決ステップで一部の悲観的ロックが見逃される可能性がある問題を修正#45134 @ ミョンケミンタ
- バイナリプロトコルを使用して TiDB に接続し、多数の
PREPARE
およびEXECUTE
ステートメント#44612 @ うわーを実行すると、メモリリークと実行時間が増加し続ける問題を修正しました。 INFORMATION_SCHEMA.DDL_JOBS
テーブルのQUERY
列目のデータ長が列定義#42440 @ 天菜まおを超える可能性がある問題を修正しました。- 多数のリージョンがあるが、
Prepare
またはExecute
#39605 @ 翻訳者を使用して一部の仮想テーブルをクエリするときにテーブル ID をプッシュダウンできない PD OOM 問題を修正しました。 - パーティションテーブルに新しいインデックスを追加した後、パーティションテーブルで統計の自動収集が正しくトリガーされない可能性がある問題を修正しました#41638 @ 翻訳者
- 統計情報におけるSQL実行詳細のメモリ消費量が多すぎると、極端な場合にTiDB OOMが発生する問題を修正#44047 @ うわー
- バッチ コプロセッサの再試行によって誤ったリージョン情報が生成さ れ、クエリが失敗する可能性がある問題を修正#44622 @ 風の話し手
indexMerge
のクエリが#45279 @ 翻訳者で強制終了されたときに発生するハングアップの問題を修正しました- システムテーブル
INFORMATION_SCHEMA.TIKV_REGION_STATUS
をクエリすると、場合によっては誤った結果が返される問題を修正しました#45531 @ 定義2014 tidb_enable_parallel_apply
が有効になっている場合に MPP モードでクエリ結果が正しくない問題を修正#45299 @ 風の話し手tidb_opt_agg_push_down
が有効になっている場合にクエリが誤った結果を返す可能性がある問題を修正#44795 @ アイリンキッド- 仮想列#41014 @ アイリンキッドによって発生する適切な物理プランが見つからない問題を修正しました
- 空の
processInfo
#43829 @ ジムララによって発生するpanic問題を修正 - ステートメント内の
n
負の数#44786 @ xheboxの場合、ステートメントSELECT CAST(n AS CHAR)
のクエリ結果が正しくない問題を修正しました。 - MySQL カーソルフェッチプロトコルを使用すると、結果セットのメモリ消費が
tidb_mem_quota_query
制限を超え、TiDB OOM が発生する可能性がある問題を修正しました。修正後、TiDB は結果セットを自動的にディスクに書き込み、メモリを解放します#43233 @ ヤンケオ - BR #44716 @ 天菜まお使用して
AUTO_ID_CACHE=1
テーブルを復元するときに発生するduplicate entry
エラーを修正します。 - テーブルパーティション定義で
FLOOR()
関数を使用してパーティション列を#42323 @ ジフハウスに丸めた場合、SELECT
ステートメントがパーティションテーブルに対してエラーを返す問題を修正しました。 - 同時ビューによって DDL 操作がブロックされる可能性がある問題を修正#40352 @ 沢民州
datetime
値#39336 @ 翻訳者が正しくないために統計収集タスクが失敗する問題を修正しました- クラスターの PD ノードが置き換えられた後、一部の DDL ステートメントが一定期間停止する可能性がある問題を修正しました#33908
- PD時間#44822 @ ジグアンに突然の変化があった場合に
resolve lock
ハングする可能性がある問題を修正 - インデックススキャン#45126 @ うわーでの潜在的なデータ競合問題を修正
FormatSQL()
メソッドが入力#44542 @ ホーキングレイの非常に長い SQL 文を適切に切り捨てることができない問題を修正しました。- ユーザーが権限#45320 @ ロイド・ポティガーがなくても
INFORMATION_SCHEMA.TIFLASH_REPLICA
テーブルの情報を表示できる問題を修正 DATETIME
またはTIMESTAMP
列を数値定数#38361 @ いびん87と比較するときに動作が MySQL と一致しない問題を修正しました。- インデックス結合のエラーによりクエリが停止する可能性がある問題を修正#45716 @ うわー
- 接続を切断すると go コルーチン リークが発生する可能性がある問題を修正#46034 @ ピンギュ
tmp-storage-quota
設定が有効にならない問題を修正#45161 #26806 @ うわー- クラスター#38484 @ ヘヘチェンでTiFlashノードがダウンするとTiFlashレプリカが利用できなくなる問題を修正しました。
Config.Labels
同時に読み書きすると、データ競合が発生して TiDB がクラッシュする問題を修正#45561 @ ゲンリキ- クラスターが大きい場合、クライアントが定期的に更新すると
min-resolved-ts
PD OOM が発生する可能性がある問題を修正#46664 @ ヒューシャープ
ティクヴ
- RawKV API V2 #15142 @ ピンギュで
ttl-check-poll-interval
設定項目が有効にならない問題を修正 - オンライン安全でないリカバリがタイムアウト#15346 @ コナー1996で中止されない問題を修正
FLASHBACK
#15258 @ 金星の上を実行した後にリージョンマージがブロックされる可能性がある問題を修正しました- 1 つの TiKV ノードが分離され、別のノードが再起動されたときに発生する可能性のあるデータの不整合の問題を修正#15035 @ 金星の上
- データレプリケーション自動同期モード#14975 @ ノルーシュでの同期回復フェーズで QPS がゼロに低下する問題を修正しました。
- 暗号化により部分書き込み中にデータが破損する可能性がある問題を修正#15080 @ タボキ
- ストアハートビートの再試行回数を#15184 @ ノルーシュに減らすことで、ハートビートストームの問題を修正しました。
- 保留中の圧縮バイト#14392 @ コナー1996の量が多い場合にトラフィック制御が機能しない可能性がある問題を修正しました。
- PDとTiKV間のネットワーク中断によりPITRが#15279 @ ユジュンセンで停止する可能性がある問題を修正
- TiCDC の古い値機能が有効になっている場合に TiKV がより多くのメモリを消費する可能性がある問題を修正#14815 @ ユジュンセン
- RawKV API V2 #15142 @ ピンギュで
PD
- etcd がすでに起動しているがクライアントがまだ接続していない場合、クライアントを呼び出すと PD がpanicになる可能性がある問題を修正しました#6860 @ ヒューシャープ
- リーダーが長時間退出できない問題を修正#6918 @ バッファフライ
- 配置ルールが
LOCATION_LABELS
使用する場合、SQL とルールチェッカーが#38605 @ ノルーシュと互換性がない問題を修正しました - PD が予期せずリージョン#5786 @ ハンダンDMに複数の学習者を追加する可能性がある問題を修正しました。
- ルール チェッカーがピア#6559 @ ノルーシュを選択した場合に、不健全なピアを削除できない問題を修正しました。
unsafe recovery
で不合格になった学習者のピアがauto-detect
モード#6690 @ v01dスターで無視される問題を修正
TiFlash
fsp
DATETIME
、TIMESTAMP
、またはTIME
データ型#7809 @ ジェイソン・ファンに変更するとクエリが失敗する問題を修正しました。- 領域#7762 @ リデズの無効な範囲キーによりTiFlashデータが不整合になる問題を修正しました。
- 同じ MPP タスク内に複数の HashAgg 演算子がある場合、MPP タスクのコンパイルに非常に長い時間がかかり、クエリのパフォーマンスに重大な影響を与える可能性がある問題を修正しました#7810 @ シーライズ
- Online Unsafe Recovery #7671 @ ホンユンヤンを使用した後、 TiFlash の再起動に時間がかかりすぎる問題を修正しました。
- TiFlash が#6462 @ リトルフォールの割り算を行うときに
DECIMAL
結果を誤って丸める問題を修正しました。
ツール
バックアップと復元 (BR)
- BRが使用するグローバル パラメータ
TableColumnCountLimit
とIndexLimit
のデフォルト値を最大値#45793 @ リーヴルスに増やすことで、復元失敗の問題を修正しました。 - PITR #43184 @ リーヴルスで DDL メタ情報を処理するときに書き換えが失敗する問題を修正しました
- PITR 実行中に関数の戻り値をチェックしないことで発生するpanicの問題を修正#45853 @ リーヴルス
- Amazon S3以外のS3互換storage使用時に無効なリージョンIDが取得される問題を修正#41916 #42033 @ 3ポインター
- RawKV モード#37085 @ ピンギュのきめ細かいバックアップ フェーズで発生する可能性のあるエラーを修正しました。
- TiDB クラスター#40759 @ ジョッカウに PITR バックアップ タスクがない場合に
resolve lock
の頻度が高すぎる問題を修正 - リージョンリーダーシップの移行が発生すると、PITR ログバックアップの進行のレイテンシーが長くなるという問題を緩和します#13638 @ ユジュンセン
- BRが使用するグローバル パラメータ
ティCDC
- ダウンストリームでエラーが発生し、 #9450 @ ヒックで再試行すると、レプリケーション タスクが停止する可能性がある問題を修正しました。
- Kafka #9504 @ 3エースショーハンドに同期するときに再試行間隔が短いためにレプリケーション タスクが失敗する問題を修正しました。
- TiCDC がアップストリーム#9430 @ スドジで 1 つのトランザクションで複数の一意のキー行を変更するときに同期書き込み競合を引き起こす可能性がある問題を修正しました。
- TiCDC が名前変更 DDL 操作を誤って同期する可能性がある問題を修正#9488 #9378 #9531 @ アズドンメン
- ダウンストリームで短期的な障害が発生したときにレプリケーションタスクが停止する可能性がある問題を修正#9542 #9272 #9582 #9592 @ ヒック
- TiCDC ノードのステータスが#9354 @ スドジに変化したときに発生する可能性のあるpanic問題を修正しました。
- Kafka Sink がエラーに遭遇すると、changefeed の進行が無期限にブロックされる可能性がある問題を修正しました#9309 @ ヒック
- ダウンストリームが Kafka の場合、TiCDC がダウンストリームのメタデータを頻繁にクエリし、ダウンストリームに過度の負荷がかかる問題を修正しました#8957 #8959 @ ハイラスティン
- 一部の TiCDC ノードがネットワークから分離されている場合に発生する可能性のあるデータの不整合の問題を修正#9344 @ チャールズ・チュン96
- REDOログが有効で、下流に例外がある場合にレプリケーションタスクが停止する可能性がある問題を修正#9172 @ チャールズ・チュン96
- PD #9294 @ アズドンメンが一時的に利用できないために変更フィードが失敗する問題を修正しました
- TiDB または MySQL #9180 @ アズドンメンにデータを複製するときに、下流の双方向レプリケーション関連の変数を頻繁に設定することによって発生する下流ログが多すぎる問題を修正しました。
- Avroプロトコルが
Enum
型の値#9259 @ 3エースショーハンドを誤って識別する問題を修正
TiDB データ移行 (DM)
TiDB Lightning
- エンジンがデータをインポートしているときにディスククォータチェックがブロックされる可能性がある問題を修正#44867 @ D3ハンター
- ターゲット クラスタ#45462 @ D3ハンターで SSL が有効になっている場合にチェックサムがエラー
Region is unavailable
を報告する問題を修正しました - エンコードエラーが正しく記録されない問題を修正#44321 @ 翻訳者
- CSVデータ#43284 @ 翻訳者をインポートする際にルートがpanicになる可能性がある問題を修正
- 論理インポートモードでテーブル A をインポートすると、テーブル B が存在しないと誤って報告される可能性がある問題を修正#44614 @ ダシュン
NEXT_GLOBAL_ROW_ID
#45427 @ 翻訳者保存するときにデータ型が間違っている問題を修正checksum = "optional"
#45382 @ 翻訳者のときにチェックサムがエラーを報告する問題を修正しました- PD クラスタ アドレスが#43436 @ リチュンジュに変更されるとデータのインポートが失敗する問題を修正しました
- 一部のPDノードが#43400 @ リチュンジュで失敗した場合にデータのインポートが失敗する問題を修正
- 自動増分列を持つテーブルが
AUTO_ID_CACHE=1
設定すると、ID アロケータのベース値が正しくなくなる問題を修正しました#46100 @ D3ハンター
Dumpling
TiDBBinlog