TiDB 4.0 RC.1 リリースノート
発売日:2020年4月28日
TiDB バージョン: 4.0.0-rc.1
互換性の変更
重要なバグ修正
TiDB
TiKV
TiFlash
- 複数のデータパスが構成されている場合に
rename table操作によって発生するデータ損失の問題を修正しました - マージされたリージョンからデータを読み取るときにエラーが発生する問題を修正しました
- 異常状態にあるリージョンからデータを読み取る際にエラーが発生する問題を修正しました
- TiFlashのテーブル名のマッピングを修正して、
recover table/flashback table正しくサポートする - テーブル名を変更する際に発生する可能性のあるデータ損失の問題を修正するためにストレージパスを変更します。
- スーパーバッチが有効な場合の TiDB の潜在的なpanicを修正
- オンライン更新シナリオの読み取りモードを変更して読み取りパフォーマンスを向上させる
- 複数のデータパスが構成されている場合に
TiCDC
- TiCDC で内部的に管理されているスキーマが読み取りおよび書き込み操作のタイミングの問題を正しく処理できないために発生するレプリケーション障害を修正します#438 #450 #478 #496
- TiKVクライアントがTiKVの異常に遭遇したときに内部リソースを正しく維持できないバグを修正しました#499 #492
- メタデータが正しくクリーンアップされず、TiCDCノード に異常に残るバグを修正 #504 #488
- TiKVクライアントがプリライトイベントの繰り返し送信を正しく処理できない問題を修正 #446
- TiKVクライアントが初期化前に受信した冗長な事前書き込みイベントを正しく処理できない問題を修正しました。 #448
Backup & Restore (BR)
新機能
TiDB
TiKV
Placement Driver(PD)
config managerを削除して、他のコンポーネントがコンポーネント構成を制御できるようにします#2349
TiFlash
- DeltaTreeエンジンの読み取りおよび書き込みワークロードに関連するメトリックレポートを追加します
handle列とversion列をキャッシュして、単一の読み取りまたは書き込みリクエストのディスクI/Oを削減します。fromUnixTimeとdateFormatプッシュダウン関数をサポート- 最初のディスクに従ってグローバル状態を評価し、この評価を報告する
- DeltaTreeエンジンの読み取りおよび書き込みワークロードに関連するグラフィックスをGrafanaに追加します
Chunkコーデックの 10 進データエンコードを最適化します- 診断(SQL診断)のgRPC APIを実装して、
INFORMATION_SCHEMA.CLUSTER_INFOなどのシステムテーブルのクエリをサポートします。
TiCDC
Backup & Restore (BR)
- storageURL での S3/GCS の設定をサポート #246
バグ修正
- TiDB
- 列が unsigned として定義されているため、システムテーブルで負の数が正しく表示されない問題を修正しました。 #16004
use_index_mergeヒントに無効なインデックス名が含まれている場合に警告を追加します #15960- 同じ一時ディレクトリを共有する TiDBサーバーの複数のインスタンスを禁止する#16026
- プランキャッシュが有効な場合の
explain for connectionの実行中に発生するpanicを修正#16285 tidb_capture_plan_baselinesシステム変数の結果が正しく表示されない問題を修正#16048prepare文のgroup by節が正しく解析されない問題を修正#16377analyze primary key文実行中に発生する可能性のあるpanicを修正 #16081cluster_infoシステムテーブル内のTiFlashストア情報が間違っている問題を修正#16024- インデックスマージプロセス中に発生する可能性のあるpanicを修正#16360
- インデックスマージリーダーが生成列を読み取るときに誤った結果が発生する可能性がある問題を修正しました #16359
show create table文のデフォルトシーケンス値の誤った表示を修正 #16526- シーケンスが主キーのデフォルト値として使用されるために
not-nullエラーが返される問題を修正しました #16510 - TiKVが
StaleCommandエラーを返し続けているときに、ブロックされたSQL実行に対してエラーが報告されない問題を修正しました。 #16530 - データベースの作成時に
COLLATEを指定するとエラーが報告される問題を修正しました。SHOW CREATE DATABASEの結果に不足しているCOLLATE部分を追加します#16540 - プランキャッシュが有効な場合のパーティションプルーニングの失敗を修正#16723
- オーバーフロー処理時に誤った結果を返すバグ
PointGet修正 #16755 - 同じ時間値を持つ
slow_queryシステムテーブルをクエリすると間違った結果が返される問題を修正しました#16806
TiKV
- OpenSSLのセキュリティ問題に対処する: CVE-2020-1967 #7622
- 楽観的トランザクションで多くの書き込み競合が発生する場合、パフォーマンスを向上させるために
BatchRollbackで書き込まれたロールバックレコードを保護しないようにする #7604 - ロック競合の負荷が高いワークロードで、トランザクションの不要なウェイクアップによって無駄な再試行が発生し、パフォーマンスが低下する問題を修正しました#7551
- リージョンが複数回のマージでスタックする可能性がある問題を修正#7518
- ラーナーを削除してもラーナーが削除されない問題を修正 #7518
- raft-rs でフォロワーの読み取りによってpanicが発生する可能性がある問題を修正しました #7408
group by constantエラーによりSQL操作が失敗する可能性があるバグを修正しました #7383- 対応するプライマリロックが悲観的ロックの場合に楽観的ロックが読み取りをブロックする可能性がある問題を修正#7328
PD
TiFlash
- ストレージエンジンの粗粒度インデックス最適化を無効にする
- リージョンのロックを解決するときに例外がスローされ、一部のロックをスキップする必要があるというバグを修正しました。
- コプロセッサー統計の収集時に発生するヌルポインタ例外 (NPE) を修正しました
- リージョン分割/リージョン結合のプロセスが正しいことを確認するために、リージョンメタのチェックを修正しました。
- コプロセッサー応答のサイズが予測されないため、メッセージサイズが gRPC の制限を超える問題を修正しました
- TiFlashの
AdminCmdType::Splitコマンドの処理を修正