TiDB 6.5.4 リリースノート
発売日:2023年8月28日
TiDB バージョン: 6.5.4
クイックアクセス: クイックスタート | 本番展開 | インストールパッケージ
互換性の変更
Cursor Fetch
を使用して大きな結果セットをフェッチすると、TiDB がメモリを大量に消費する問題を修正するために、TiDB は自動的に結果セットをディスクに書き込み、メモリ#43233 @ ヤンケオを解放します。- RocksDB の定期的な圧縮をデフォルトで無効にし、TiKV RocksDB のデフォルトの動作が v6.5.0 より前のバージョンの動作と一致するようにしました。この変更により、アップグレード後の大量の圧縮によって引き起こされる潜在的なパフォーマンスへの影響が防止されます。さらに、TiKV では 2 つの新しい構成項目
rocksdb.[defaultcf|writecf|lockcf].periodic-compaction-seconds
およびrocksdb.[defaultcf|writecf|lockcf].ttl
が導入され、RocksDB #15355 @ リククスサシネーターの定期的な圧縮を手動で構成できるようになります。
改善点
TiDB
TiKV
check_leader
リクエストに gzip 圧縮を使用してトラフィック#14553 @ あなた06を削減しますMax gap of safe-ts
とMin safe ts region
メトリクスを追加し、tikv-ctl get-region-read-progress
コマンドを導入して、 resolved-tsとsafe-ts #15082 @ エキシウムのステータスをより適切に観察および診断します。- TiKV で一部の RocksDB 構成を公開し、ユーザーが TTL や定期的な圧縮などの機能を無効にできるようにします#14873 @ リククスサシネーター
- 他のスレッドへの影響を防ぐために、Titan マニフェスト ファイルを書き込むときにミューテックスを保持しないようにします#15351 @ コナー1996
PD
TiFlash
ツール
バックアップと復元 (BR)
TiCDC
- TiCDC が失敗後に再試行するときのステータス メッセージを調整します#9483 @ 東門
- ダウンストリーム#9574 @ 3エースショーハンドへの主キーの送信のみをサポートすることにより、Kafka と同期するときに制限を超えるメッセージを TiCDC が処理する方法を最適化します。
- Storage Sink は、HEX 形式のデータの 16 進エンコードをサポートするようになり、AWS DMS 形式仕様#9373 @ CharlesCheung96と互換性があります。
TiDB データ移行 (DM)
Dumpling
バグの修正
TiDB
STREAM_AGG()
演算子#40857 @ ドゥーシール9を押し下げるとindex out of range
エラーが報告されることがある問題を修正CREATE TABLE
ステートメントにサブパーティション定義#41198 #41200 @ むじょんが含まれている場合、TiDB がすべてのパーティション情報を無視し、非パーティションテーブルを作成する問題を修正します。stale_read_ts
設定が間違っているとPREPARE stmt
がデータを誤って読み取る可能性がある問題を修正します#43044 @ あなた06- ActivateTxn #42092 @ ホーキングレイで発生する可能性のあるデータ競合の問題を修正
- バッチ クライアントがタイムリーに再接続しない問題を修正#44431 @ クレイジークス520
- SQL コンパイル エラー ログが編集されない問題を修正#41831 @ ランス6716
- CTE と相関サブクエリを同時に使用すると、不正なクエリ結果またはpanicが発生する可能性がある問題を修正します#44649 #38170 #44774 @ ウィノロス @ グオシャオゲ
- TTL タスクが時間#40109 @ ヤンケオで統計更新をトリガーできない問題を修正
- GC Resolve Locks ステップで一部の悲観的ロック#45134 @ ミョンケミンタが見逃される可能性がある問題を修正します。
- バイナリ プロトコルを使用して TiDB に接続し、多数の
PREPARE
ステートメントとEXECUTE
ステートメントを実行すると、メモリリークと時間が増加し続ける問題を修正します#44612 @ wshwsh12 INFORMATION_SCHEMA.DDL_JOBS
テーブルのQUERY
列のデータ長が列定義#42440 @ ティエンチャイアマオを超える場合がある問題を修正- 多数のリージョンがあるにもかかわらず、
Prepare
またはExecute
#39605 @ djshow832を使用して一部の仮想テーブルをクエリするときにテーブル ID をプッシュダウンできない場合の PD OOM の問題を修正します。 - パーティションテーブル#41638 @ シュイファングリーンアイズに新しいインデックスを追加した後、パーティションテーブルテーブルで統計の自動収集が正しくトリガーされないことがある問題を修正します。
- 統計における SQL 実行の詳細の過剰なメモリ消費により、極端な場合に TiDB OOM が発生する問題を修正します#44047 @ wshwsh12
- バッチ コプロセッサの再試行により、クエリ失敗#44622 @ ウィンドトーカーの原因となる誤ったリージョン情報が生成される可能性がある問題を修正します。
indexMerge
のクエリが#45279 @ xzhangxian1008で強制終了されたときに発生するハングアップの問題を修正します。- システム テーブル
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 @ ゼボックスである場合、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 @ wshwsh12における潜在的なデータ競合の問題を修正
FormatSQL()
メソッドが入力#44542 @ ホーキングレイの非常に長い SQL ステートメントを適切に切り詰めることができない問題を修正します。- ユーザーが権限なしでも
INFORMATION_SCHEMA.TIFLASH_REPLICA
テーブルの情報を表示できる問題を修正#45320 @ ロイド・ポティガー DATETIME
またはTIMESTAMP
列を数値定数#38361 @ イービン87と比較するときに動作が MySQL と矛盾する問題を修正- インデックス結合のエラーによりクエリがスタックする可能性がある問題を修正します#45716 @ wshwsh12
- 接続を強制終了すると go コルーチン リーク#46034 @ ピンギュが発生する可能性がある問題を修正
tmp-storage-quota
設定が有効にならない問題を修正#45161 #26806 @ wshwsh12- クラスター#38484 @ へへへんでTiFlashノードがダウンしているときに、 TiFlashレプリカが利用できなくなる可能性がある問題を修正
Config.Lables
#45561 @ ゲンリキを同時に読み書きすると、データ競合の可能性が原因で TiDB がクラッシュする問題を修正- クラスターが大きい#46664 @ ヒューシャープの場合、client-go を定期的
min-resolved-ts
更新すると PD OOM が発生する可能性がある問題を修正
TiKV
- RawKV API V2 #15142 @ ピンギュで
ttl-check-poll-interval
設定項目が有効にならない問題を修正 - オンライン安全でないリカバリがタイムアウト#15346 @ コナー1996で中止されない問題を修正
FLASHBACK
#15258 @ オーバーヴィーナスを実行した後、 リージョン Merge がブロックされる場合がある問題を修正- 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_LABLES
使用する場合、SQL とルール チェッカーに互換性がないという問題を修正します#38605 @ ノールーシュ - PD が予期せず複数の学習者をリージョン#5786 @ フンドゥンDMに追加する可能性がある問題を修正
- ルールチェッカーがピア#6559 @ ノールーシュを選択すると、異常なピアを削除できない問題を修正
unsafe recovery
で失敗した学習者ピアがauto-detect
モード#6690 @ v01dstarで無視される問題を修正
TiFlash
DATETIME
、TIMESTAMP
、またはTIME
データ型#7809 @ ジェイ・ソン・ファンのfsp
が変更された後にクエリが失敗する問題を修正します。- リージョン#7762 @ リデズの無効な範囲キーによりTiFlashデータが不整合になる問題を修正
- 同じ MPP タスク内に複数の HashAgg 演算子がある場合、MPP タスクのコンパイルに過度に時間がかかり、クエリのパフォーマンス#7810 @ シーライズに深刻な影響を与える可能性がある問題を修正します。
- Online Unsafe Recovery #7671 @ ホンユニャンを使用した後のTiFlash の再起動に時間がかかりすぎる問題を修正
- 除算#6462 @ リトルフォールを実行するときにTiFlash が
DECIMAL
結果を誤って丸める問題を修正
ツール
バックアップと復元 (BR)
- BRで使用されるグローバル パラメータ
TableColumnCountLimit
およびIndexLimit
のデフォルト値を最大値#45793 @ レヴルスに増やすことで、復元の失敗の問題を修正します。 - PITR #43184 @ レヴルスで DDL メタ情報を処理するときに書き換えが失敗する問題を修正
- PITR 実行中に関数の戻り値をチェックしないことによって発生するpanicの問題を修正#45853 @ レヴルス
- Amazon S3 #41916 #42033 @ 3ポインター以外の S3 互換storageを使用する場合に無効なリージョン ID を取得する問題を修正
- RawKV モード#37085 @ ピンギュの詳細なバックアップ フェーズで発生する可能性のあるエラーを修正しました。
- TiDB クラスター#40759 @ ジョッカウに PITR バックアップ タスクがない場合、
resolve lock
の頻度が高すぎる問題を修正 - リージョンリーダーの移行が発生したときに PITR ログ バックアップの進行状況のレイテンシーが増加する問題を緩和します#13638 @ ユジュンセン
- BRで使用されるグローバル パラメータ
TiCDC
- ダウンストリームでエラーが発生し、 #9450 @ ひっくり返るを再試行すると、レプリケーション タスクが停止する可能性がある問題を修正します。
- Kafka #9504 @ 3エースショーハンドと同期するときに、再試行間隔が短いためにレプリケーション タスクが失敗する問題を修正します。
- アップストリーム#9430 @ スドジの 1 つのトランザクションで複数の一意のキー行を変更するときに、TiCDC が同期書き込みの競合を引き起こす可能性がある問題を修正します。
- TiCDC が名前変更 DDL 操作を誤って同期する可能性がある問題を修正します#9488 #9378 #9531 @ 東門
- ダウンストリームで短期間の障害が発生したときにレプリケーション タスクが停止する可能性がある問題を修正します#9542 #9272 #9582 #9592 @ ひっくり返る
- TiCDC ノードのステータスが#9354 @ スドジに変化したときに発生する可能性があるpanicの問題を修正しました。
- Kafka シンクでエラーが発生すると、変更フィードの進行が無期限にブロックされる可能性がある問題を修正します#9309 @ ひっくり返る
- ダウンストリームが Kafka の場合、TiCDC がダウンストリームのメタデータを頻繁にクエリし、ダウンストリームで過度のワークロードが発生する問題を修正します#8957 #8959 @ こんにちはラスティン
- 一部の TiCDC ノードがネットワーク#9344 @ CharlesCheung96から分離されている場合に発生する可能性があるデータの不整合の問題を修正します。
- REDO ログが有効で、ダウンストリーム#9172 @ CharlesCheung96で例外が発生した場合にレプリケーション タスクが停止する可能性がある問題を修正します。
- PD #9294 @ 東門が一時的に利用できないために変更フィードが失敗する問題を修正
- TiDB または MySQL #9180 @ 東門にデータをレプリケートするときに、ダウンストリーム双方向レプリケーション関連の変数を頻繁に設定することによって発生するダウンストリーム ログが多すぎる問題を修正します。
- Avro プロトコルが
Enum
type 値#9259 @ 3エースショーハンドを誤って識別する問題を修正
TiDB データ移行 (DM)
TiDB Lightning
- エンジンがデータ#44867 @ D3ハンターをインポートしているときにディスク クォータ チェックがブロックされる可能性がある問題を修正します。
- ターゲット クラスタ#45462 @ D3ハンターで SSL が有効になっている場合、チェックサムがエラー
Region is unavailable
を報告する問題を修正します。 - エンコードエラーが正しくログに記録されない問題を修正#44321 @ lyzx2001
- CSVデータ#43284 @ lyzx2001のインポート時にルートがpanicになる問題を修正
- 論理インポート モードでテーブル A をインポートすると、テーブル B が存在しないと誤って報告される可能性がある問題を修正します#44614 @ dsダシュン
NEXT_GLOBAL_ROW_ID
#45427 @ lyzx2001を保存する際にデータ型が間違っている問題を修正checksum = "optional"
#45382 @ lyzx2001の場合でもチェックサムがエラーを報告する問題を修正- PDクラスタアドレスが#43436 @ リチュンジュに変更されるとデータインポートが失敗する問題を修正
- 一部の PD ノードが失敗した場合にデータのインポートが失敗する問題を修正#43400 @ リチュンジュ
- 自動インクリメンタル列を持つテーブルが
AUTO_ID_CACHE=1
設定されている場合、ID アロケーターの基本値が正しくない#46100 @ D3ハンターという問題を修正します。
Dumpling
TiDBBinlog