TiDB 4.0 RC.1 リリースノート

発売日:2020年4月28日

TiDB バージョン: 4.0.0-rc.1

互換性の変更

  • TiKV

    • デフォルトで Hibernate リージョン機能を無効にする#7618
  • Binlog

    • Drainer #950でのシーケンス DDL 操作のサポート

重要なバグ修正

  • TiDB

    • MemBufferがチェックされていないため、明示的なトランザクションで複数の行に対してINSERT ... ON DUPLICATE UPDATEステートメントが誤って実行される可能性がある問題を修正します#16689
    • 複数の行で重複したキーをロックするときのデータの不整合を修正します#16769
    • TiDB インスタンス間の非スーパーバッチ アイドル接続をリサイクルするときに発生するpanicを修正します#16303
  • TiKV

    • TiDB #7540からのプローブ要求によって引き起こされるデッドロックの問題を修正します。
    • データの正確性に影響するトランザクションの最小コミット タイムスタンプがオーバーフローする可能性がある問題を修正します#7638
  • ティフラッシュ

    • 複数のデータ パスが構成されている場合に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)

    • チェックサムが無効になっている場合でもチェックサムが実行される問題を修正します#223
    • TiDB #230 #231auto-randomまたはalter-pkが有効になっている場合の増分レプリケーションの失敗を修正します。

新機能

  • TiDB

    • Coprocessor 要求のバッチでの TiFlash への送信をサポート#16226
    • デフォルトでコプロセッサーのキャッシュ機能を有効にする#16710
    • SQL ステートメントの特別なコメント内のステートメントの登録されたセクションのみを解析します#16157
    • PD および TiKV インスタンスの構成を示すSHOW CONFIG構文を使用したサポート#16475
  • TiKV

    • データを S3 にバックアップする際のサーバー側の暗号化にユーザー所有の KMS キーを使用するサポート#7630
    • 負荷ベースsplit region操作#7623を有効にする
    • 一般名の検証をサポート#7468
    • ファイル ロック チェックを追加して、同じアドレスにバインドされた複数の TiKV インスタンスを開始しないようにします#7447
    • 保存時の暗号化で AWS KMS をサポート#7465
  • プレースメント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

    • Kafka シンク モジュール#426でメッセージのバッチ送信をサポート
    • プロセッサ#477でファイルの並べ替えをサポート
    • 自動resolve lock #459をサポート
    • PD1に#487サービスのGCセーフポイントを自動更新する機能を追加
    • データ レプリケーション#498のタイムゾーン設定を追加します。
  • バックアップと復元 (BR)

    • ストレージ URL #246での S3/GCS の構成のサポート

バグの修正

  • TiDB
  • 列が符号なし#16004として定義されているため、システム テーブルに負の数が正しく表示されない問題を修正します。
  • use_index_mergeヒントに無効なインデックス名が含まれている場合に警告を追加します#15960
  • 同じ一時ディレクトリを共有する TiDBサーバーの複数のインスタンスを禁止する#16026
  • プランキャッシュが有効な場合にexplain for connectionの実行中に発生するpanicを修正します#16285
  • tidb_capture_plan_baselinesシステム変数の結果が正しく表示されない問題を修正#16048
  • prepareステートメントのgroup by句が正しく解析されない問題を修正します#16377
  • analyze primary keyステートメントの実行中に発生する可能性のあるpanicを修正します#16081
  • cluster_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

    • 一部の API が TLS 検証で失敗する可能性がある問題を修正します#2363
    • 構成 API がプレフィックス#2354の構成アイテムを受け入れることができないという問題を修正します。
    • スケジューラーが見つからない場合に500エラーが返される問題を修正#2328
    • scheduler config balance-hot-region-scheduler listコマンド#2321に対して404エラーが返される問題を修正
  • ティフラッシュ

    • ストレージ エンジンの粗粒度インデックス最適化を無効にする
    • リージョンのロックを解決するときに例外がスローされ、一部のロックをスキップする必要があるというバグを修正します
    • コプロセッサーの統計を収集するときのヌルポインター例外 (NPE) を修正します。
    • リージョンメタのチェックを修正して、リージョンスプリット/リージョンマージのプロセスが正しいことを確認します
    • Coprocessor 応答のサイズが推定されないため、メッセージ サイズが gRPC の制限を超える問題を修正します。
    • TiFlash のAdminCmdType::Splitコマンドの処理を修正
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.