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