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
joinTiKVサーバーがシャットダウンされたときの操作の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 が