TiDB 7.1.2 リリースノート
発売日:2023年10月25日
TiDB バージョン: 7.1.2
クイックアクセス: クイックスタート | 本番展開 | インストールパッケージ
互換性の変更
- ユーザー#47665 @ ティエンチャイアマオの潜在的な接続問題を防ぐために、Security強化モード (SEM) で
require_secure_transport
~ON
の設定を禁止します。 - デフォルトではスムーズなアップグレード機能を無効にします。
/upgrade/start
とupgrade/finish
HTTP リクエスト#47172 @ ジムララを送信することで有効にできます。 tidb_opt_enable_hash_join
システム変数を導入して、オプティマイザがテーブル#46695 @ コードプレイのハッシュ結合を選択するかどうかを制御します。- RocksDB の定期的な圧縮をデフォルトで無効にすることで、TiKV RocksDB のデフォルトの動作が v6.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 @ CharlesCheung96です。 - TiCDC は
large-message-handle-option
構成アイテムを導入します。デフォルトでは空です。これは、メッセージ サイズが Kafka トピックの制限を超えると変更フィードが失敗することを意味します。この構成が"handle-key-only"
に設定されている場合、メッセージがサイズ制限を超えた場合、メッセージ サイズを減らすためにハンドル キーのみが送信されます。削減されたメッセージが依然として制限を超えている場合、変更フィードは失敗します#9680 @ 3エースショーハンド
改善点
TiDB
- 新しいオプティマイザー ヒント (
NO_MERGE_JOIN()
、NO_INDEX_JOIN()
、NO_INDEX_MERGE_JOIN()
、NO_HASH_JOIN()
、NO_INDEX_HASH_JOIN()
#45520 @ qw4990など) を追加します。 - コプロセッサ#46514 @ あなた06に関するリクエスト元情報を追加
/upgrade/start
およびupgrade/finish
API を追加して、TiDB ノード#47172 @ ジムララのアップグレード ステータスの開始と終了をマークします。
- 新しいオプティマイザー ヒント (
TiKV
- 圧縮メカニズムを最適化します。リージョンが分割されるときに、分割するキーがない場合、過剰な MVCC バージョン#15282 @ SpadeA-Tangを排除するために圧縮がトリガーされます。
- Router オブジェクトの LRUCache を削除してメモリ使用量を削減し、OOM #15430 @ コナー1996を防止します。
Max gap of safe-ts
とMin safe ts region
メトリクスを追加し、tikv-ctl get-region-read-progress
コマンドを導入して、 resolved-tsとsafe-ts #15082 @ エキシウムのステータスをより適切に観察および診断します。- TiKV で一部の RocksDB 構成を公開し、ユーザーが TTL や定期的な圧縮などの機能を無効にできるようにします#14873 @ リククスサシネーター
- 接続再試行のプロセスで PD クライアントのバックオフ メカニズムを追加します。これにより、エラー再試行中の再試行間隔が徐々に増加し、PD プレッシャー#15428 @ ノールーシュが軽減されます。
- 他のスレッドへの影響を防ぐために、Titan マニフェスト ファイルを書き込むときにミューテックスを保持しないようにします#15351 @ コナー1996
- OOM #15458 @ オーバーヴィーナスを防ぐためにリゾルバーのメモリ使用量を最適化します。
PD
TiFlash
ツール
バックアップと復元 (BR)
TiCDC
- いくつかの TiCDC モニタリング メトリックとアラーム ルール#9047 @ 東門を最適化します。
- Kafka シンクは、メッセージが大きすぎる場合にハンドルキーデータのみを送信するをサポートし、過度のメッセージ サイズ#9680 @ 3エースショーハンドによって引き起こされるチェンジフィードの失敗を回避します。
ADD INDEX
DDL 操作を複製する実行ロジックを最適化して、後続の DML ステートメントのブロックを回避します#9644 @ スドジ- TiCDC が失敗後に再試行するときのステータス メッセージを調整します#9483 @ 東門
TiDB データ移行 (DM)
TiDB Lightning
バグの修正
TiDB
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 @ wshwsh12を比較するときに発生する誤った結果を修正しました。 AUTO_ID_CACHE=1
を#46444 @ ティエンチャイアマオに設定するとDuplicate entry
発生する場合がある問題を修正- TTL #45510 @ ルクワンチャオ実行時のメモリリークの問題を修正
- 接続を強制終了すると go コルーチン リーク#46034 @ ピンギュが発生する可能性がある問題を修正
- インデックス結合のエラーによりクエリがスタックする可能性がある問題を修正します#45716 @ wshwsh12
BatchPointGet
演算子がハッシュ パーティション テーブル#46779 @ ジフフストに対して誤った結果を返す問題を修正EXCHANGE PARTITION
失敗するかキャンセルされると、パーティション テーブルに対する制限が元のテーブルに残る問題を修正します#45920 #45791 @ むじょん- 2 つのサブクエリ#46160 @ qw4990を結合するときに
TIDB_INLJ
ヒントが有効にならない問題を修正 DATETIME
またはTIMESTAMP
列を数値定数#38361 @ イービン87と比較するときに動作が MySQL と矛盾する問題を修正- 深くネストされた式に対して HashCode が繰り返し計算され、メモリ使用量が増加し、OOM #42788 @ アイリンキッドが発生する問題を修正します。
- アクセス パス プルーニング ロジックが
READ_FROM_STORAGE(TIFLASH[...])
ヒントを無視し、Can't find a proper physical plan
エラー#40146 @ アイリンキッドを引き起こす問題を修正します。 - CAST に精度の損失がない#45199 @ アイリンキッドのときに、
cast(col)=range
条件によってフルスキャンが発生する問題を修正します。 plan replayer dump explain
がエラー#46197 @ 時間と運命を報告する問題を修正tmp-storage-quota
設定が有効にならない問題を修正#45161 #26806 @ wshwsh12- TiDB パーサーが状態のままになり、解析エラー#45898 @ qw4990が発生する問題を修正します。
- MPP 実行プランの Union を介して集計がプッシュダウンされると、結果が正しくない#45850 @ アイリンキッドという問題を修正します。
AUTO_ID_CACHE=1
を#46454 @ ティエンチャイアマオに設定すると、panic後の TiDB の回復が遅くなる問題を修正- Sort オペレーターにより、スピル プロセス#47538 @ ウィンドトーカー中に TiDB がクラッシュする可能性がある問題を修正します。
- BRを使用して
AUTO_ID_CACHE=1
#46093 @ ティエンチャイアマオの非クラスター化インデックス テーブルを復元するときに重複する主キーの問題を修正します。 - 静的プルーニング モードでパーティション テーブルをクエリし、実行プランに
IndexLookUp
#45757 @ 定義2014が含まれている場合、クエリでエラーが報告される可能性がある問題を修正します。 - パーティションテーブルテーブルと配置ポリシー#45791 @ むじょんを持つテーブルの間でパーティションを交換した後、パーティション テーブルへのデータの挿入が失敗することがある問題を修正します。
- 間違ったタイムゾーン情報#46033 @ タンジェンタを使用して時間フィールドをエンコードする問題を修正
tmp
ディレクトリが存在しない場合、インデックスを高速追加する DDL ステートメントがスタックする問題を修正#45456 @ タンジェンタ- 複数の TiDB インスタンスを同時にアップグレードすると、アップグレード プロセス#46288 @ ジムララがブロックされる可能性がある問題を修正します。
- 領域#46135 @ ジムララの分割に使用される不正なパラメータによって引き起こされる不均一なリージョン散乱の問題を修正します。
- TiDB の再起動後に DDL 操作が停止する可能性がある問題を修正#46751 @ wjhuang2016
- 非整数クラスター化インデックス#47350 @ タンジェンタでの分割テーブル操作の禁止
- 不適切な MDL 処理#46920 @ wjhuang2016が原因で DDL 操作が永続的にブロックされる可能性がある問題を修正します。
- テーブル#47064 @ ジフフストの名前変更によって発生する
information_schema.columns
の重複行の問題を修正します。 batch-client
client-go
@ クレイジークス520 #47691panicの問題を修正- メモリ使用量がメモリ制限#45706 @ ホーキングレイを超えた場合、パーティション テーブルの統計収集が時間内に強制終了されない問題を修正します。
- クエリに
UNHEX
条件#45378 @ qw4990が含まれる場合、クエリ結果が不正確になる問題を修正します。 - TiDB が
GROUP_CONCAT
#41957 @ アイリンキッドのクエリに対してCan't find column
を返す問題を修正
TiKV
- RawKV API V2 #15142 @ ピンギュで
ttl-check-poll-interval
設定項目が有効にならない問題を修正 - raftstore-applys #15371 @ コナー1996が増加し続けるデータ エラーを修正
- データ レプリケーション自動同期モード#14975 @ ノールーシュの同期回復フェーズで QPS がゼロに低下する問題を修正します。
- 1 つの TiKV ノードが分離され、別のノードが再起動されたときに発生する可能性があるデータの不整合の問題を修正します#15035 @ オーバーヴィーナス
- Online Unsafe Recovery がマージ中止#15580 @ v01dstarを処理できない問題を修正
- PD と TiKV の間のネットワークの中断により PITR がスタックする可能性がある問題を修正します#15279 @ ユジュンセン
FLASHBACK
#15258 @ オーバーヴィーナスを実行した後、 リージョン Merge がブロックされる場合がある問題を修正- ストア ハートビートの再試行数を#15184 @ ノールーシュに減らすことで、ハートビートハートビートストームの問題を修正します。
- オンライン安全でないリカバリがタイムアウト#15346 @ コナー1996で中止されない問題を修正
- 暗号化により部分書き込み#15080 @ タボキー中にデータ破損が発生する可能性がある問題を修正
- リージョン#13311 @ cfzjywxkの不正なメタデータによって引き起こされる TiKVpanic問題を修正
- オンライン ワークロード#15565 @ ランス6716があるときにTiDB Lightningチェックサム コプロセッサのリクエストがタイムアウトになる問題を修正
- ピアを移動するとFollower Readのパフォーマンスが低下する可能性がある問題を修正#15468 @ ユジュンセン
- RawKV API V2 #15142 @ ピンギュで
PD
- v2 スケジューラ アルゴリズム#6645 @ lhy1024でホット リージョンがスケジュールされない可能性がある問題を修正
- TLS ハンドシェイクにより空のクラスター#6913 @ ノールーシュで CPU 使用率が高くなる可能性がある問題を修正
- PD ノード間のインジェクション エラーにより PDpanic#6858 @ ヒューシャープが発生する可能性がある問題を修正
- ストア情報の同期により PD リーダーが終了してスタックする可能性がある問題を修正#6918 @ ルルンクス
- Flashback #6912 @ オーバーヴィーナス後にリージョン情報が更新されない問題を修正
- #7053 @ ヒューシャープの終了中に PD がpanicになる問題を修正
- コンテキスト タイムアウトにより
lease timeout
エラー#6926 @ ルルンクスが発生する可能性がある問題を修正 - ピアがグループごとに適切に分散されていないため、リーダー#6962 @ ルルンクスが不均等に分散される可能性がある問題を修正します。
- pd-ctl #7121 @ ルルンクスを使用した更新時に分離レベルラベルが同期されない問題を修正
evict-leader-scheduler
が設定#6897 @ ヒューシャープを失う可能性がある問題を修正- プラグインのディレクトリとファイルの潜在的なセキュリティ リスクを修正#7094 @ ヒューシャープ
- リソース制御#45050 @ グロルフを有効にした後、DDL がアトミック性を保証しない可能性がある問題を修正
- ルールチェッカーがピア#6559 @ ノールーシュを選択すると、異常なピアを削除できない問題を修正
- etcd がすでに開始されているが、クライアントがまだ接続していないときに、クライアントを呼び出すと PD がpanic#6860 @ ヒューシャープになる可能性がある問題を修正します。
- RU 消費量が 0 未満であると PD がクラッシュする問題を修正します#6973 @ キャビンフィーバーB
- クラスターが大きい#46664 @ ヒューシャープの場合、client-go を定期的
min-resolved-ts
更新すると PD OOM が発生する可能性がある問題を修正
TiFlash
ツール
バックアップと復元 (BR)
- PITR を使用して暗黙的な主キーを回復すると競合が発生する可能性がある問題を修正#46520 @ 3ポインター
- PITR が GCS #47022 @ レヴルスからのデータの回復に失敗する問題を修正
- RawKV モード#37085 @ ピンギュの詳細なバックアップ フェーズで発生する可能性のあるエラーを修正しました。
- PITR を使用してメタ KV を回復するとエラー#46578 @ レヴルスが発生する可能性がある問題を修正
- BR統合テスト ケース#45561 @ ピュアリンドのエラーを修正
- BRで使用されるグローバル パラメータ
TableColumnCountLimit
およびIndexLimit
のデフォルト値を最大値#45793 @ レヴルスに増やすことで、復元の失敗の問題を修正します。 - 復元されたデータ#45476 @ 3ポインターをスキャンするときに br CLI クライアントがスタックする問題を修正
- PITR が
CREATE INDEX
DDL ステートメント#47482 @ レヴルスの復元をスキップする可能性がある問題を修正します。 - 1 分以内に PITR を複数回実行するとデータ損失#15483 @ ユジュンセンが発生する可能性がある問題を修正
TiCDC
- 異常状態のレプリケーションタスクが上流の GC #9543 @ CharlesCheung96をブロックする問題を修正
- オブジェクトstorageにデータをレプリケートするとデータの不整合が発生する可能性がある問題を修正します#9592 @ CharlesCheung96
redo-resolved-ts
を有効にすると変更フィードが失敗する可能性がある問題を修正します#9769 @ CharlesCheung96- 一部のオペレーティング システム#9762 @ スドジで、間違ったメモリ情報を取得すると OOM の問題が発生する可能性がある問題を修正します。
scale-out
が有効になっている場合、 #9665 @ スドジの場合にノード間で書き込みキーが不均一に分散される問題を修正します。- 機密ユーザー情報がログ#9690 @ スドジに記録される問題を修正
- TiCDC が名前変更 DDL 操作を誤って同期する可能性がある問題を修正します#9488 #9378 #9531 @ 東門
- すべての変更フィードが削除された後、上流の TiDB GC がブロックされる問題を修正#9633 @ スドジ
- TiCDC レプリケーション タスクが特殊なケースで失敗する可能性がある問題を修正します#9685 #9697 #9695 #9736 @ ひっくり返る @ CharlesCheung96
- PD ノード#9565 @ 東門のネットワーク分離によって引き起こされる高い TiCDC レプリケーションレイテンシーの問題を修正します。
- PD のスケールアップおよびスケールダウン中に TiCDC が無効な古いアドレスにアクセスする問題を修正します#9584 @ フビンジ @ 東門
- アップストリーム#9741 @ スドジに多数のリージョンがある場合、TiCDC が TiKV ノードの障害から迅速に回復できない問題を修正
- CSV 形式#9658 @ 3エースショーハンドを使用すると、TiCDC が
UPDATE
操作を誤ってINSERT
に変更する問題を修正します。 - アップストリーム#9476 #9488 @ CharlesCheung96 @ 東門の同じ DDL ステートメントで複数のテーブルの名前が変更されると、レプリケーション エラーが発生する問題を修正します。
- 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 @ lyzx2001を保存する際にデータ型が間違っている問題を修正checksum = "optional"
#45382 @ lyzx2001の場合でもチェックサムがエラーを報告する問題を修正- PDクラスタアドレスが#43436 @ リチュンジュに変更されるとデータインポートが失敗する問題を修正
- PD トポロジを変更するとTiDB Lightning が起動できない問題を修正#46688 @ ランス6716
- CSVデータ#43284 @ lyzx2001のインポート時にルートがpanicになる問題を修正
TiDBBinlog