TiDB 4.0 RC.2 リリースノート
発売日:2020年5月15日
TiDB バージョン: 4.0.0-rc.2
互換性の変更
TiDB
- TiDB Binlogが有効な場合、単一トランザクション (100 MB) のサイズ制限を削除します。現在、トランザクションのサイズ制限は 10 GB です。ただし、TiDB Binlogが有効でダウンストリームが Kafka の場合、Kafka #16941の 1 GB のメッセージ サイズ制限に従って
txn-total-size-limit
パラメータを構成します。 CLUSTER_LOG
テーブルのクエリ時に時間範囲が指定されていない場合、デフォルトの時間範囲のクエリからエラーを返し、指定された時間範囲を要求するように動作を変更します#17003CREATE TABLE
ステートメントを使用して分割テーブルを作成するときに、サポートされていないsub-partition
またはlinear hash
オプションを指定すると、オプションが無視された分割テーブルではなく、通常のテーブルが作成されます#17197
- TiDB Binlogが有効な場合、単一トランザクション (100 MB) のサイズ制限を削除します。現在、トランザクションのサイズ制限は 10 GB です。ただし、TiDB Binlogが有効でダウンストリームが Kafka の場合、Kafka #16941の 1 GB のメッセージ サイズ制限に従って
TiKV
- 暗号化関連の構成をセキュリティ関連の構成に移動します。つまり、TiKV 構成ファイルの
[encryption]
を[security.encryption]
#7810に変更します。
- 暗号化関連の構成をセキュリティ関連の構成に移動します。つまり、TiKV 構成ファイルの
ツール
重要なバグ修正
TiDB
WHERE
節に同等の条件が 1 つしかない場合に間違ったパーティションが選択される問題を修正します#17054WHERE
句に文字列列#16660のみが含まれている場合に、誤ったインデックス範囲を構築することによって引き起こされる誤った結果の問題を修正します。DELETE
操作#16991後のトランザクションでPointGet
クエリを実行すると発生するpanicの問題を修正します。- エラーが発生したときに GC ワーカーでデッドロックが発生する可能性がある問題を修正します#16915
- TiKV 応答が遅いがダウンしていない場合、不要な RegionMiss リトライを回避する#16956
- ログ出力に干渉する問題を解決するために、MySQL プロトコルのハンドシェイク フェーズでクライアントのログ レベルを
DEBUG
に変更します#16881 TRUNCATE
操作後、テーブルで定義されたPRE_SPLIT_REGIONS
情報に従ってリージョンが事前に分割されない問題を修正します#16776- 2 フェーズ コミット#16876の第 2 フェーズで TiKV が使用できない場合、リトライによってゴルーチンが急増する問題を修正します。
- 一部の式をプッシュダウンできない場合のステートメント実行のpanic問題を修正します#16869
- パーティション化されたテーブルでの IndexMerge 操作の誤った実行結果を修正します#17124
- メモリ トラッカー#17234のミューテックス競合によって引き起こされる
wide_table
のパフォーマンス低下を修正します。
ティフラッシュ
- データベースまたはテーブルの名前に特殊文字が含まれていると、アップグレード後にシステムが正常に起動できない問題を修正
新機能
TiDB
- データをバックアップおよび復元するための
BACKUP
およびRESTORE
コマンドのサポートを追加します#16960 - コミット前に 1 つのリージョン内のデータ ボリュームの事前チェックをサポートし、データ ボリュームがしきい値#16959を超えた場合にリージョンを事前に分割します
Session
スコープを持つ新しいLAST_PLAN_FROM_CACHE
変数を追加して、最後に実行されたステートメントがプラン キャッシュ#16830にヒットするかどうかを示します- スローログと
SLOW_LOG
テーブル#16904にCop_time
情報の記録をサポート - Go ランタイム#16928のメモリ ステータスを監視するメトリックを Grafana に追加します。
- 一般ログ#16946での分離レベル
forUpdateTS
およびRead Consistency
情報の出力をサポート - TiKVリージョン#16925でのロック解決の重複リクエストの折りたたみをサポート
- PD/TiKV ノードの構成を変更する
SET CONFIG
ステートメントを使用したサポート#16853 CREATE TABLE
ステートメント#16813のauto_random
オプションをサポートする- DistSQL リクエストに TaskID を割り当てて、TiKV がリクエストをより適切にスケジュールおよび処理できるようにします#17155
- MySQL クライアントへのログイン後の TiDBサーバーのバージョン情報の表示をサポート#17187
GROUP_CONCAT
機能#16990でORDER BY
節をサポート- ステートメントがプラン キャッシュにヒットするかどうかを示すために、スロー ログに
Plan_from_cache
の情報を表示するサポート#17121 - TiDBダッシュボードにTiFlashマルチディスク展開の容量情報を表示できる機能を追加
- ダッシュボードで SQL ステートメントを使用して TiFlash ログを照会する機能を追加します
- データをバックアップおよび復元するための
TiKV
- tikv-ctl の暗号化デバッグをサポートし、暗号化ストレージが有効な場合にクラスターの操作と管理に tikv-ctl を使用できるようにします#7698
- スナップショットでのロック列ファミリーの暗号化のサポート#7712
- Grafana ダッシュボードのヒートマップを使用して Raftstoreレイテンシーの概要を表示し、ジッターの問題をより適切に診断します#7717
- gRPC メッセージ#7824のサイズの上限設定をサポート
- Grafana ダッシュボードに暗号化関連の監視メトリクスを追加します#7827
- アプリケーション層プロトコル ネゴシエーション (ALPN) #7825をサポート
- タイタン#7818に関する統計をさらに追加する
- クライアントから提供されたタスク ID を統合読み取りプールの識別子として使用して、タスクの優先度が同じトランザクション内の別のタスクによって下げられるのを回避するためのサポート#7814
batch insert
要求#7718のパフォーマンスを改善する
PD
- ノードをオフラインにする際のピア削除の速度制限をなくす#2372
ティフラッシュ
- Grafana のRead Indexの Count グラフの名前をOpsに変更します
- システム負荷が低いときにファイル記述子を開くためのデータを最適化して、システム リソースの消費を削減します。
- 容量関連の構成パラメータを追加して、データ ストレージ容量を制限します
ツール
バグの修正
TiDB
- 複数の演算子での式の実行にベクトル化を使用するかどうかを決定するロジックを改善します#16383
IndexMerge
ヒントがデータベース名を正しくチェックできない問題を修正#16932- シーケンス オブジェクト#17037の切り詰めを禁止する
- シーケンス オブジェクト#16957で
INSERT
/UPDATE
/ANALYZE
/DELETE
ステートメントを実行できる問題を修正します。 - ブートストラップ フェーズの内部 SQL ステートメントがステートメント サマリー テーブルで内部クエリとして正しくマークされない問題を修正します#17062
- TiFlash ではサポートされているが TiKV ではサポートされていないフィルター条件が
IndexLookupJoin
オペレーター#17036にプッシュされると発生するエラーを修正します。 - 照合順序が有効になった後に発生する可能性がある
LIKE
式の同時実行の問題を修正します#16997 - 照合順序が有効になった後、
LIKE
関数がRange
クエリ インデックスを正しく構築できないという問題を修正します#16783 Plan Cache
ステートメントがトリガーされた後に@@LAST_PLAN_FROM_CACHE
を実行すると、間違った値が返される問題を修正します#16831IndexMerge
#16947の候補パスを計算するときに、インデックスのTableFilter
が欠落する問題を修正しますMergeJoin
ヒントを使用し、TableDual
演算子が存在する場合、物理クエリ プランを生成できない問題を修正します#17016- 明細書の概要表の
Stmt_Type
列の値の間違った大文字化を修正します#17018 - 異なるユーザーが同じ
tmp-storage-path
#16996を使用するとサービスを開始できず、Permission Denied
エラーが報告される問題を修正 CASE WHEN
#16995などの複数の入力列によって結果の型が決定される式に対して、NotNullFlag
の結果の型が正しく設定されない問題を修正します。- ダーティ ストアが存在する場合、緑色の GC が未解決のロックを残す可能性がある問題を修正します#16949
- 複数の異なるロックを持つ 1 つのキーに遭遇したときに、緑色の GC が未解決のロックを残す可能性があるという問題を修正します#16948
- サブクエリが親クエリ列を参照するため、
INSERT VALUE
ステートメントに間違った値を挿入する問題を修正します#16952 Float
値#16666でAND
演算子を使用すると、誤った結果が得られる問題を修正- 高価なログ#16907の
WAIT_TIME
フィールドの誤った情報を修正します。 - ペシミスティック トランザクション モード#16897でスロー ログに
SELECT FOR UPDATE
ステートメントが記録されない問題を修正 Enum
またはSet
タイプ#16892の列でSELECT DISTINCT
を実行したときに発生する誤った結果を修正します。SHOW CREATE TABLE
ステートメント#16864のauto_random_base
の表示エラーを修正WHERE
節#16559の誤った値string_value
を修正します。GROUP BY
ウィンドウ関数のエラー メッセージが MySQL #16165のエラー メッセージと一致しない問題を修正- データベース名に大文字の#17167が含まれている場合、
FLASH TABLE
ステートメントの実行に失敗する問題を修正します。 - Projection executor #17118の不正確なメモリ トレースを修正します。
- 異なるタイム ゾーンでの
SLOW_QUERY
テーブルの不適切な時間フィルタリングの問題を修正します#17164 - 仮想生成列#17126で
IndexMerge
を使用すると発生するpanicの問題を修正します。 INSTR
およびLOCATE
関数の大文字化の問題を修正#17068tidb_allow_batch_cop
構成を有効にした後、tikv server timeout
エラーが頻繁に報告される問題を修正#17161- Float 型で
XOR
の操作を実行した結果が MySQL 8.0 の結果と一致しない問題を修正#16978 - サポートされていない
ALTER TABLE REORGANIZE PARTITION
ステートメントを実行したときにエラーが報告されない問題を修正します#17178 EXPLAIN FORMAT="dot" FOR CONNECTION ID
サポートされていないプランに遭遇したときにエラーが報告される問題を修正します#17160- 明細書の要約表の
EXEC_COUNT
列にあるプリペアドステートメントのレコードの問題を修正します#17086 - Statement Summary システム変数#17129を設定すると、値が検証されない問題を修正します。
- プラン キャッシュが有効な場合にオーバーフロー値を使用して
UNSIGNED BIGINT
主キーをクエリすると、エラーが報告される問題を修正します#17120 - Grafana TiDB サマリーダッシュボードのマシン インスタンスとリクエスト タイプによる誤った QPS 表示を修正します#17105
TiKV
- 復元後に空のリージョンが多数生成される問題を修正#7632
- 順不同の読み取りインデックス応答を受信したときの Raftstore のpanic問題を修正します#7370
- 統合スレッド プールが有効になっている場合に、無効なストレージまたはコプロセッサの読み取りプール構成が拒否されない可能性がある問題を修正します#7513
join
TiKVサーバーがシャットダウンされたときの操作のpanicの問題を修正します#7713- 診断 API #7776を介して TiKV スロー ログを検索すると、結果が返されない問題を修正します。
- TiKV ノードを長時間実行すると、顕著なメモリの断片化が発生する問題を修正します#7556
- 無効な日付が格納されている場合に SQL ステートメントの実行に失敗する問題を修正します#7268
- GCS #7739からバックアップ データを復元できない問題を修正
- 保管時の暗号化中に KMS キー ID が検証されない問題を修正します#7719
- 異なるアーキテクチャのコンパイラーにおけるコプロセッサーの根本的な正確性の問題を修正します#7714 #7730
- 暗号化が有効な場合の
snapshot ingestion
のエラーを修正#7815 Invalid cross-device link
設定ファイル書き換え時のエラーを修正#7817- 構成ファイルを空のファイルに書き込むときの間違った toml 形式の問題を修正します#7817
- Raftstore で破棄されたピアが引き続きリクエストを処理できる問題を修正します#7836
PD
- pd-ctl #2399で
region key
コマンドを使用するときに発生する404
の問題を修正します。 - TSO および ID 割り当てのモニター メトリックが Grafana ダッシュボードから欠落している問題を修正します#2405
- pd-recover が Docker イメージに含まれていない問題を修正します#2406
- データ ディレクトリのパスを絶対パスに解析して、TiDB ダッシュボードが PD 情報を正しく表示しない可能性がある問題を修正します#2420
- pd-ctl #2416で
scheduler config shuffle-region-scheduler
コマンドを使用するとデフォルト出力がない問題を修正
- pd-ctl #2399で
ティフラッシュ
- 一部のシナリオで使用済み容量の間違った情報が報告される問題を修正
ツール
Binlog
TiCDC
バックアップと復元 (BR)
- BR が
auto_random
属性#241を持つテーブルを復元した後、データを挿入するとduplicate entry
エラーがトリガーされる可能性がある問題を修正します。
- BR が