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