TiDB 7.1.2 リリースノート
発売日: 2023年10月25日
TiDB バージョン: 7.1.2
クイックアクセス: クイックスタート | 実稼働環境への導入
互換性の変更
- Security強化モード (SEM) で
require_secure_transport
~ON
設定を禁止して、ユーザー#47665 @ 天菜まおの潜在的な接続問題を防ぎます。 - スムーズなアップグレード機能はデフォルトで無効になっています。3と
/upgrade/start
upgrade/finish
HTTPリクエスト#47172 @ ジムララを送信することで有効にすることができます。 - オプティマイザがテーブル#46695 @ コーダープレイに対してハッシュ結合を選択するかどうかを制御する
tidb_opt_enable_hash_join
システム変数を導入します。 - RocksDB の定期的な圧縮をデフォルトで無効にし、TiKV RocksDB のデフォルトの動作がバージョン 6.5.0 より前のバージョンと一致するようになりました。この変更により、アップグレード後に大量の圧縮によって発生するパフォーマンスへの影響を回避できます。さらに、TiKV では 2 つの新しい構成項目
rocksdb.[defaultcf|writecf|lockcf].periodic-compaction-seconds
とrocksdb.[defaultcf|writecf|lockcf].ttl
が導入され、RocksDB #15355 @ リクササシネーターの定期的な圧縮を手動で構成できるようになりました。 - TiCDCは、CSVプロトコルにおけるバイナリデータのエンコード方法を制御するための
sink.csv.binary-encoding-method
設定項目を導入しています。デフォルト値は'base64'
#9373 @ チャールズ・チュン96です。 - TiCDC は
large-message-handle-option
構成項目を導入します。デフォルトでは空で、メッセージ サイズが Kafka トピックの制限を超えると、変更フィードが失敗します。この構成が"handle-key-only"
に設定されている場合、メッセージがサイズ制限を超えると、メッセージ サイズを縮小するためにハンドル キーのみが送信されます。縮小されたメッセージでも制限を超える場合は、変更フィードが失敗します#9680 @ 3エースショーハンド
行動の変化
- 複数の変更を含むトランザクションの場合、更新イベントで主キーまたは null 以外の一意のインデックス値が変更されると、TiCDC はイベントを削除イベントと挿入イベントに分割し、すべてのイベントが挿入イベントに先行する削除イベントのシーケンスに従うようにします。詳細については、 ドキュメント参照してください。
改善点
ティビ
NO_MERGE_JOIN()
NO_HASH_JOIN()
NO_INDEX_MERGE_JOIN()
NO_INDEX_HASH_JOIN()
qw4990含む新しいオプティマイザヒントを追加し#45520NO_INDEX_JOIN()
- コプロセッサ#46514 @ あなた06に関連するリクエストソース情報を追加します
- TiDBノード#47172 @ ジムララのアップグレードステータスの開始と終了をマークするために
/upgrade/start
とupgrade/finish
APIを追加します。
ティクヴ
- 圧縮メカニズムを最適化します。リージョンが分割されるときに、分割するキーがない場合、圧縮がトリガーされ、過剰な MVCC バージョン#15282 @ スペードA-タンが排除されます。
- ルータオブジェクトのLRUCacheを排除してメモリ使用量を削減し、OOM #15430 @ コナー1996を防止します。
Max gap of safe-ts
とMin safe ts region
メトリックを追加し、tikv-ctl get-region-read-progress
コマンドを導入して、resolved-tsと安全な ts の状態をより適切に観察および診断します#15082 @ エキシウム- TiKV で RocksDB の設定を公開し、ユーザーが TTL や定期的な圧縮などの機能を無効にできるようにします#14873 @ リクササシネーター
- 接続再試行のプロセスで PD クライアントのバックオフ メカニズムを追加します。これにより、エラー再試行中に再試行間隔が徐々に長くなり、PD の負荷が軽減されます#15428 @ ノルーシュ
- 他のスレッドに影響を与えないように、Titan マニフェスト ファイルを書き込むときにミューテックスを保持しないようにします#15351 @ コナー1996
- OOM #15458 @ 金星の上防ぐためにリゾルバのメモリ使用量を最適化します
PD
TiFlash
ツール
バックアップと復元 (BR)
ティCDC
- 複数の TiCDC 監視メトリックとアラーム ルールを最適化#9047 @ アズドンメン
- Kafka Sink は、メッセージが大きすぎる場合にハンドルキーデータのみ送信サポートし、過剰なメッセージ サイズ#9680 @ 3エースショーハンドによる変更フィードの失敗を回避します。
ADD INDEX
DDL操作を複製する実行ロジックを最適化して、後続のDMLステートメント#9644 @ スドジをブロックしないようにします。- TiCDC が失敗後に再試行するときのステータス メッセージを改善する#9483 @ アズドンメン
TiDB データ移行 (DM)
TiDB Lightning
バグ修正
ティビ
GROUP_CONCAT
ORDER BY
列#41986 @ アイリンキッドを解析できない問題を修正- システムテーブル
INFORMATION_SCHEMA.TIKV_REGION_STATUS
をクエリすると、場合によっては誤った結果が返される問題を修正しました#45531 @ 定義2014 - メタデータの読み取りに 1 つの DDL リース#45176 @ ジムララよりも長い時間がかかる場合に TiDB のアップグレードが停止する問題を修正しました。
- CTE で DML ステートメントを実行するとpanicが発生する可能性がある問題を修正#46083 @ ウィノロス
- パーティション交換#46492 @ ミョンス中にパーティション定義に準拠していないデータを検出できない問題を修正
MERGE_JOIN
の結果が間違っている問題を修正#46580 @ qw4990- 符号なし型を
Duration
型定数#45410 @ うわーと比較したときに発生する誤った結果を修正 AUTO_ID_CACHE=1
が#46444 @ 天菜まおに設定されている場合にDuplicate entry
発生する可能性がある問題を修正しました- TTLが#45510 @ lcwangchaoで実行されているときのメモリリークの問題を修正
- 接続を切断すると go コルーチン リークが発生する可能性がある問題を修正#46034 @ ピンギュ
- インデックス結合のエラーによりクエリが停止する可能性がある問題を修正#45716 @ うわー
- ハッシュパーティションテーブル#46779 @ ジフハウスに対して
BatchPointGet
演算子が誤った結果を返す問題を修正しました。 EXCHANGE PARTITION
が失敗またはキャンセルされた場合に、パーティション化されたテーブルの制限が元のテーブルに残る問題を修正#45920 #45791 @ ミョンス- 2つのサブクエリ#46160 @ qw4990を結合するときに
TIDB_INLJ
ヒントが有効にならない問題を修正 DATETIME
またはTIMESTAMP
列を数値定数#38361 @ いびん87と比較するときに動作が MySQL と一致しない問題を修正しました。- 深くネストされた式に対してハッシュコードが繰り返し計算され、メモリ使用量が増加し、OOM #42788 @ アイリンキッド発生する問題を修正しました。
- アクセスパスのプルーニングロジックが
READ_FROM_STORAGE(TIFLASH[...])
ヒントを無視し、Can't find a proper physical plan
エラー#40146 @ アイリンキッドが発生する問題を修正しました。 - CAST に精度損失がない場合に
cast(col)=range
条件で FullScan が発生する問題を修正#45199 @ アイリンキッド plan replayer dump explain
エラー#46197 @ 時間と運命を報告する問題を修正tmp-storage-quota
設定が有効にならない問題を修正#45161 #26806 @ うわー- TiDBパーサーが状態のままになり、解析エラーが発生する問題を修正#45898 @ qw4990
- MPP 実行プランで集計がユニオンを介してプッシュダウンされると、結果が正しくなくなる問題を修正しました#45850 @ アイリンキッド
AUTO_ID_CACHE=1
が#46454 @ 天菜まおに設定されている場合に、panic後に TiDB がゆっくりと回復する問題を修正しました。- ソート演算子によりスピル処理中に TiDB がクラッシュする可能性がある問題を修正#47538 @ 風の話し手
- BR を使用して
AUTO_ID_CACHE=1
#46093 @ 天菜まおの非クラスター化インデックス テーブルを復元するときに主キーが重複する問題を修正しました。 - 静的プルーニングモードでパーティションテーブルをクエリし、実行プランに
IndexLookUp
#45757 @ 定義2014が含まれている場合にクエリがエラーを報告する可能性がある問題を修正しました。 - パーティション テーブルと配置ポリシー#45791 @ ミョンステーブル間でパーティションを交換した後に、パーティションテーブルへのデータの挿入が失敗する可能性がある問題を修正しました。
- タイムゾーン情報が正しくない時間フィールドをエンコードする問題を修正#46033 @ タンジェンタ
tmp
ディレクトリが存在しない場合に、インデックスを高速に追加する DDL ステートメントが停止する問題を修正しました#45456 @ タンジェンタ- 複数の TiDB インスタンスを同時にアップグレードするとアップグレード プロセスがブロックされる可能性がある問題を修正#46228 @ ジムララ
- 領域#46135 @ ジムララを分割する際に誤ったパラメータが使用されることで発生する、リージョンが不均一に分散される問題を修正しました。
- TiDB の再起動後に DDL 操作が停止する可能性がある問題を修正#46751 @ 翻訳:
- 非整数クラスター化インデックス#47350 @ タンジェンタでのテーブル分割操作を禁止する
- 不正な MDL 処理により DDL 操作が永久にブロックされる可能性がある問題を修正#46920 @ 翻訳:
- テーブル#47064 @ ジフハウス名前変更によって発生する
information_schema.columns
の重複行の問題を修正 batch-client
inclient-go
#47691 @ クレイジーcs520のpanic問題を修正- パーティション化されたテーブルの統計収集が、メモリ使用量がメモリ制限を超えた場合に時間内に終了されない問題を修正#45706 @ ホーキングレイ
- クエリに
UNHEX
条件#45378 @ qw4990が含まれている場合にクエリ結果が不正確になる問題を修正しました - TiDBが
GROUP_CONCAT
#41957 @ アイリンキッドのクエリに対してCan't find column
を返す問題を修正
ティクヴ
- RawKV API V2 #15142 @ ピンギュで
ttl-check-poll-interval
設定項目が有効にならない問題を修正 - raftstore-applys #15371 @ コナー1996が継続的に増加するデータエラーを修正
- データレプリケーション自動同期モード#14975 @ ノルーシュでの同期回復フェーズで QPS がゼロに低下する問題を修正しました。
- 1 つの TiKV ノードが分離され、別のノードが再起動されたときに発生する可能性のあるデータの不整合の問題を修正#15035 @ 金星の上
- オンラインの安全でないリカバリがマージ中止#15580 @ v01dスター処理できない問題を修正
- PDとTiKV間のネットワーク中断によりPITRが#15279 @ ユジュンセンで停止する可能性がある問題を修正
FLASHBACK
#15258 @ 金星の上を実行した後にリージョンマージがブロックされる可能性がある問題を修正しました- ストアハートビートの再試行回数を#15184 @ ノルーシュに減らすことで、ハートビートストームの問題を修正しました。
- オンライン安全でないリカバリがタイムアウト#15346 @ コナー1996で中止されない問題を修正
- 暗号化により部分書き込み中にデータが破損する可能性がある問題を修正#15080 @ タボキ
- リージョン#13311 @ 翻訳のメタデータが正しくないことが原因で発生する TiKVpanicの問題を修正しました。
- オンラインワークロード#15565 @ ランス6716がある場合にTiDB Lightningチェックサム コプロセッサの要求がタイムアウトする問題を修正しました
- ピアを移動するとFollower Readのパフォーマンスが低下する可能性がある問題を修正#15468 @ ユジュンセン
- RawKV API V2 #15142 @ ピンギュで
PD
- v2 スケジューラ アルゴリズム#6645 @ 翻訳者でホット リージョンがスケジュールされない可能性がある問題を修正しました。
- TLS ハンドシェイクにより空のクラスター#6913 @ ノルーシュで CPU 使用率が上昇する可能性がある問題を修正しました
- PDノード間の注入エラーによりPDpanic#6858 @ ヒューシャープが発生する可能性がある問題を修正
- ストア情報の同期によりPDリーダーが終了し、 #6918 @ rleungxで停止する可能性がある問題を修正しました。
- フラッシュバック#6912 @ 金星の上後にリージョン情報が更新されない問題を修正
- #7053 @ ヒューシャープ終了時に PD がpanicになる可能性がある問題を修正しました
- コンテキストタイムアウトにより
lease timeout
エラー#6926 @ rleungxが発生する可能性がある問題を修正 - ピアがグループごとに適切に分散されていないため、リーダー#6962 @ rleungxの分布が不均等になる可能性がある問題を修正しました。
- pd-ctl #7121 @ rleungxを使用して更新するときに分離レベル ラベルが同期されない問題を修正しました。
evict-leader-scheduler
構成#6897 @ ヒューシャープ失う可能性がある問題を修正- プラグインディレクトリとファイルの潜在的なセキュリティリスクを修正#7094 @ ヒューシャープ
- リソース制御#45050 @ 栄光を有効にした後に DDL がアトミック性を保証しない可能性がある問題を修正しました
- ルール チェッカーがピア#6559 @ ノルーシュを選択した場合に、不健全なピアを削除できない問題を修正しました。
- etcd がすでに起動しているがクライアントがまだ接続していない場合、クライアントを呼び出すと PD がpanicになる可能性がある問題を修正しました#6860 @ ヒューシャープ
- RU消費量が0未満の場合にPDがクラッシュする問題を修正#6973 @ キャビンフィーバーB
- クラスターが大きい場合、クライアントが定期的に更新すると
min-resolved-ts
PD OOM が発生する可能性がある問題を修正#46664 @ ヒューシャープ
TiFlash
ツール
バックアップと復元 (BR)
- PITR を使用して暗黙の主キーを回復すると競合が発生する可能性がある問題を修正#46520 @ 3ポインター
- PITRがGCS #47022 @ リーヴルスからデータを回復できない問題を修正
- RawKV モード#37085 @ ピンギュのきめ細かいバックアップ フェーズで発生する可能性のあるエラーを修正しました。
- PITR を使用してメタ kv を回復するとエラーが発生する可能性がある問題を修正#46578 @ リーヴルス
- BR統合テストケース#46561 @ ピュアリンドのエラーを修正
- BRが使用するグローバル パラメータ
TableColumnCountLimit
とIndexLimit
のデフォルト値を最大値#45793 @ リーヴルスに増やすことで、復元失敗の問題を修正しました。 - 復元されたデータ#45476 @ 3ポインタースキャンするときに br CLI クライアントが停止する問題を修正しました
- PITRが
CREATE INDEX
DDL文#47482 @ リーヴルスの復元をスキップする可能性がある問題を修正 - 1分以内にPITRを複数回実行するとデータが失われる可能性がある問題を修正#15483 @ ユジュンセン
ティCDC
- 異常な状態のレプリケーションタスクが上流のGC #9543 @ チャールズ・チュン96をブロックする問題を修正
- オブジェクトstorageにデータを複製するとデータの不整合が発生する可能性がある問題を修正#9592 @ チャールズ・チュン96
redo-resolved-ts
有効にすると changefeed が失敗する可能性がある問題を修正#9769 @ チャールズ・チュン96- 間違ったメモリ情報を取得すると、一部のオペレーティング システムで OOM 問題が発生する可能性がある問題を修正しました#9762 @ スドジ
scale-out
が有効になっている場合にノード間で書き込みキーが不均等に分散される問題を修正#9665 @ スドジ- ログに機密ユーザー情報が記録される問題を修正#9690 @ スドジ
- TiCDC が名前変更 DDL 操作を誤って同期する可能性がある問題を修正#9488 #9378 #9531 @ アズドンメン
- すべての変更フィードが削除された後に上流の TiDB GC がブロックされる問題を修正#9633 @ スドジ
- 一部の特殊なケースで TiCDC レプリケーション タスクが失敗する可能性がある問題を修正#9685 #9697 #9695 #9736 @ ヒック @ チャールズ・チュン96
- PDノード#9565 @ アズドンメンのネットワーク分離によって発生するTiCDCレプリケーションレイテンシーの問題を修正
- PD のスケールアップとスケールダウン中に TiCDC が無効な古いアドレスにアクセスする問題を修正#9584 @ ふびんず @ アズドンメン
- 上流にリージョン#9741 @ スドジが多数ある場合に TiCDC が TiKV ノード障害から迅速に回復できない問題を修正しました。
- CSV形式#9658 @ 3エースショーハンド使用するとTiCDCが
UPDATE
演算を誤ってINSERT
に変更する問題を修正 - アップストリームの同じDDL文で複数のテーブルの名前を変更するとレプリケーションエラーが発生する問題を修正#9476 #9488 @ チャールズ・チュン96 @ アズドンメン
- Kafka #9504 @ 3エースショーハンドに同期するときに再試行間隔が短いためにレプリケーション タスクが失敗する問題を修正しました。
- アップストリーム#9430 @ スドジで 1 つのトランザクションで複数の行の一意のキーが変更されると、レプリケーション書き込み競合が発生する可能性がある問題を修正しました。
- ダウンストリームで短期的な障害が発生したときにレプリケーションタスクが停止する可能性がある問題を修正#9542 #9272 #9582 #9592 @ ヒック
- ダウンストリームでエラーが発生し、 #9450 @ ヒックで再試行すると、レプリケーション タスクが停止する可能性がある問題を修正しました。
TiDB データ移行 (DM)
- 失敗した DDL がスキップされ、後続の DDL が実行されない場合に、DM によって返されるレプリケーション ラグが増大し続ける問題を修正#9605 @ D3ハンター
- DM が大文字と小文字を区別しない照合#9489 @ ヒヒフフで競合を正しく処理できない問題を修正
- DM バリデーターのデッドロック問題を修正し、再試行を#9257 @ D3ハンターに強化しました。
- 楽観的モード#9588 @ GMHDBJDでタスクを再開するときに DM がすべての DML をスキップする問題を修正
- オンライン DDL #9587 @ GMHDBJDをスキップするときに DM が上流のテーブル スキーマを適切に追跡できない問題を修正しました。
- DM が楽観的モード#9788 @ GMHDBJDでパーティション DDL をスキップする問題を修正
TiDB Lightning
AUTO_ID_CACHE=1
を含むテーブルをインポートすると、間違ったrow_id
#46100 @ D3ハンターに割り当てられる問題を修正しました。NEXT_GLOBAL_ROW_ID
#45427 @ 翻訳者保存するときにデータ型が間違っている問題を修正checksum = "optional"
#45382 @ 翻訳者のときにチェックサムがエラーを報告する問題を修正しました- PD クラスタ アドレスが#43436 @ リチュンジュに変更されるとデータのインポートが失敗する問題を修正しました
- PDトポロジが変更されるとTiDB Lightningが起動に失敗する問題を修正#46688 @ ランス6716
- CSVデータ#43284 @ 翻訳者をインポートする際にルートがpanicになる可能性がある問題を修正
TiDBBinlog