TiDB 4.0 RC.1 リリースノート
発売日:2020年4月28日
TiDB バージョン: 4.0.0-rc.1
互換性の変更
重要なバグ修正
TiDB
TiKV
ティフラッシュ
- 複数のデータ パスが構成されている場合に
rename table
の操作が原因で発生するデータ損失の問題を修正します。 - マージされたリージョンからデータを読み取るとエラーが発生する問題を修正
- 異常な状態のリージョンからデータを読み取るとエラーが発生する問題を修正
recover table
/flashback table
を正しくサポートするように、TiFlash のテーブル名のマッピングを変更します。- ストレージ パスを変更して、テーブルの名前を変更するときに発生する潜在的なデータ損失の問題を修正します。
- Super Batch が有効な場合に TiDB がpanicになる可能性を修正
- オンライン更新シナリオの読み取りモードを変更して、読み取りパフォーマンスを向上させます
- 複数のデータ パスが構成されている場合に
TiCDC
- TiCDC で内部的に維持されているスキーマが読み取りおよび書き込み操作のタイミングの問題を正しく処理できないために発生するレプリケーションの失敗を修正します。 #438 #450 #478 #496
- 一部の TiKV 異常が発生したときに、TiKV クライアントが内部リソースを正しく維持できないというバグを修正します#499 #492
- メタデータが正しくクリーンアップされず、TiCDC ノードに異常に残る不具合を修正#488 #504
- TiKV クライアントがプリライト イベント#446の繰り返し送信を正しく処理できない問題を修正します。
- TiKV クライアントが、初期化の前に受信した冗長な事前書き込みイベントを正しく処理できないという問題を修正します#448
バックアップと復元 (BR)
新機能
TiDB
TiKV
プレースメントDriver(PD)
config manager
を削除して、他のコンポーネントがコンポーネント構成を制御できるようにします#2349
ティフラッシュ
- DeltaTree エンジンの読み取りおよび書き込みワークロードに関連するメトリック レポートを追加します。
handle
列とversion
列をキャッシュして、1 回の読み取りまたは書き込み要求のディスク I/O を削減します。fromUnixTime
およびdateFormat
関数のプッシュ ダウンをサポート- 最初のディスクに従ってグローバルな状態を評価し、この評価を報告します
- DeltaTree エンジンの読み取りおよび書き込みワークロードに関連する Grafana のグラフィックを追加します。
Chunk
コーデックの 10 進データ エンコーディングを最適化するINFORMATION_SCHEMA.CLUSTER_INFO
のようなシステム テーブルのクエリをサポートするために、診断 (SQL 診断) の gRPC API を実装します。
TiCDC
バックアップと復元 (BR)
- ストレージ URL #246での S3/GCS の構成のサポート
バグの修正
- TiDB
- 列が符号なし#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のデフォルト シーケンス値の誤った表示を修正します。- 主キー#16510のデフォルト値にシーケンスを使用しているため
not-null
エラーが返る問題を修正 - TiKV が
StaleCommand
エラー#16530を返し続けると、ブロックされた SQL 実行に対してエラーが報告されない問題を修正します。 - データベースの作成時に
COLLATE
のみを指定するとエラーが報告される問題を修正します。欠落しているCOLLATE
の部分をSHOW CREATE DATABASE
#16540の結果に追加します - プラン キャッシュが有効な場合のパーティション プルーニングの失敗を修正します#16723
- オーバーフローの処理で
PointGet
が間違った結果を返すバグを修正#16755 slow_query
システム テーブルを等しい時間値#16806でクエリすると、間違った結果が返される問題を修正します。
TiKV
- OpenSSL のセキュリティ問題に対処します: CVE-2020-1967 #7622
- オプティミスティック トランザクションで多くの書き込み競合が存在する場合は、パフォーマンスを向上させるために
BatchRollback
によって書き込まれたロールバック レコードを保護しないでください#7604 - トランザクションの不必要なウェイクアップにより、無駄な再試行が発生し、重いロック競合ワークロードでパフォーマンスが低下する問題を修正します#7551
- リージョンがマルチタイム マージ#7518でスタックする可能性がある問題を修正します。
- 学習者を削除しても学習者が削除されない問題を修正#7518
- raft-rs #7408でフォロワーの読み取りがpanicを引き起こす可能性がある問題を修正します。
group by constant
エラーが原因で SQL 操作が失敗する可能性があるバグを修正#7383- 対応するプライマリ ロックがペシミスティック ロック#7328の場合、オプティミスティック ロックが読み取りをブロックする可能性がある問題を修正します。
PD
ティフラッシュ
- ストレージ エンジンの粗粒度インデックス最適化を無効にする
- リージョンのロックを解決するときに例外がスローされ、一部のロックをスキップする必要があるというバグを修正します
- コプロセッサーの統計を収集するときのヌルポインター例外 (NPE) を修正します。
- リージョンメタのチェックを修正して、リージョンスプリット/リージョンマージのプロセスが正しいことを確認します
- Coprocessor 応答のサイズが推定されないため、メッセージ サイズが gRPC の制限を超える問題を修正します。
- TiFlash の
AdminCmdType::Split
コマンドの処理を修正