重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

TiDB4.0RC.1リリースノート

発売日:2020年4月28日

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

互換性の変更

  • TiKV

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

    • Drainerでシーケンス#950操作をサポートする

重要なバグ修正

  • TiDB

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

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

    • 複数のデータパスが構成されている場合のrename tableの操作によって引き起こされるデータ損失の問題を修正します
    • マージされたリージョンからデータを読み取るときにエラーが発生する問題を修正します
    • 異常状態のリージョンからデータを読み取るときにエラーが発生する問題を修正します
    • recover tableを正しくサポートするように、TiFlashのテーブル名のマッピングを変更しflashback table
    • ストレージパスを変更して、テーブルの名前を変更するときに発生する可能性のあるデータ損失の問題を修正します
    • スーパーバッチが有効になっている場合のTiDBの潜在的なpanicを修正します
    • オンライン更新シナリオで読み取りモードを変更して、読み取りパフォーマンスを向上させます
  • TiCDC

    • #450で内部的に維持されているスキーマが読み取りおよび書き込み操作のタイミングの問題を正しく処理できないために発生するレプリケーションの失敗を修正し#438 #496 #478
    • いくつかのTiKV異常が発生したときに、TiKVクライアントが内部リソースを正しく維持できないというバグを修正します#499 #492
    • メタデータが正しくクリーンアップされず、TiCDCノードに異常に残るバグを修正します#488 #504
    • TiKVクライアントがプリライトイベントの繰り返し送信を正しく処理できない問題を修正します#446
    • TiKVクライアントが初期化前に受信した冗長なプリライトイベントを正しく処理できない問題を修正します#448
  • バックアップと復元(BR)

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

新機能

  • TiDB

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

    • S3 #7630にデータをバックアップするときに、サーバー側の暗号化にユーザー所有のKMSキーを使用することをサポートします。
    • 負荷ベースのsplit region操作を有効にする#7623
    • 一般名の検証をサポート#7468
    • 同じアドレスにバインドされている複数のTiKVインスタンスが開始されないように、ファイルロックチェックを追加します#7447
    • 安静時の暗号化でAWSKMSをサポートする#7465
  • 配置Driver(PD)

    • config managerを削除して、他のコンポーネントがコンポーネント構成を制御できるようにします#2349
  • TiFlash

    • DeltaTreeエンジンの読み取りおよび書き込みワークロードに関連するメトリックレポートを追加します
    • handle列とversion列をキャッシュして、単一の読み取りまたは書き込み要求のディスクI/Oを削減します。
    • fromUnixTimedateFormatの関数のプッシュダウンをサポート
    • 最初のディスクに従ってグローバル状態を評価し、この評価を報告します
    • DeltaTreeエンジンの読み取りおよび書き込みワークロードに関連するグラフィックをGrafanaに追加します
    • Chunkコーデックの10進データエンコーディングを最適化する
    • INFORMATION_SCHEMA.CLUSTER_INFOなどのシステムテーブルのクエリをサポートするために、診断(SQL診断)のgRPCAPIを実装します。
  • TiCDC

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

    • ストレージ#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のみを指定すると、エラーが報告される問題を修正します。 #16540の結果に欠落しているCOLLATEの部分を追加しSHOW CREATE DATABASE
  • プランキャッシュが有効になっている場合のパーティションプルーニングの失敗を修正#16723
  • オーバーフロー#16755を処理するときにPointGetが間違った結果を返すバグを修正します
  • 等しい時間値#16806slow_queryのシステムテーブルをクエリすると、間違った結果が返される問題を修正します。
  • TiKV

    • OpenSSLのセキュリティ問題に対処する:CVE-2020-1967 #7622
    • 楽観的なトランザクション#7604に多くの書き込み競合が存在する場合は、パフォーマンスを向上させるためにBatchRollbackで書き込まれたロールバックレコードを保護しないでください。
    • トランザクションの不必要なウェイクアップが、重いロックレースワークロードで無駄な再試行とパフォーマンスの低下をもたらすという問題を修正します#7551
    • リージョンが複数回のマージでスタックする可能性がある問題を修正します#7518
    • 学習者を削除するときに学習者が削除されない問題を修正します#7518
    • フォロワーが読んだことがいかだでpanicを引き起こす可能性がある問題を修正します#7408
    • group by constantエラー#7383が原因でSQL操作が失敗する可能性があるバグを修正します
    • 対応するプライマリロックがペシミスティックロックの場合、オプティミスティックロックが読み取りをブロックする可能性がある問題を修正します#7328
  • PD

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

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