TiDB 4.0.2 リリースノート

発売日:2020年7月1日

TiDB バージョン: 4.0.2

互換性の変更

  • TiDB

    • スロー クエリ ログとステートメント サマリー テーブルの機密情報を削除します#18130
    • シーケンス キャッシュ#18103で負の値を禁止する
    • トゥームストーン TiKV および TiFlash ストアをテーブルCLUSTER_INFOから削除します#17953
    • 診断ルールをcurrent-loadからnode-check #17660に変更します
  • PD

    • store-limitを永続化してstore-balance-rate #2557を削除

新しい変更

  • デフォルトでは、TiDB と TiDB ダッシュボードは使用状況の詳細を PingCAP と共有して、製品を改善する方法を理解するのに役立ちます#18180 。共有される内容と共有を無効にする方法の詳細については、 テレメトリーを参照してください。

新機能

  • TiDB

    • INSERTのステートメントでMEMORY_QUOTA()のヒントをサポートする#18101
    • TLS 証明書#17698SANフィールドに基づく認証をサポート
    • REGEXP()関数#17581の照合順序をサポート
    • sql_select_limitセッションとグローバル変数#17604をサポート
    • デフォルトで新しく追加されたパーティションのリージョン分割をサポート#17665
    • IF() / BITXOR() / BITNEG() / JSON_LENGTH()関数の TiFlash コプロセッサへのプッシュをサポート#17651 #17592
    • COUNT(DISTINCT) #18120のおおよその結果を計算する新しい集約関数APPROX_COUNT_DISTINCT()をサポートします
    • TiFlash での照合順序をサポートし、照合関連の関数を TiFlash #17705にプッシュ
    • INFORMATION_SCHEMA.INSPECTION_RESULTテーブルにSTATUS_ADDRESS列を追加して、サーバー#17695のステータス アドレスを示します。
    • MYSQL.BIND_INFO表にSOURCE列を追加して、バインディングの作成方法を示します#17587
    • PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGESTテーブルにPLAN_IN_CACHE列とPLAN_CACHE_HITS列を追加して、SQL ステートメントのプラン キャッシュの使用状況を示します#17493
    • 各オペレーターの実行情報を収集し、スロークエリログに情報を記録するかどうかを制御するenable-collect-execution-info構成項目とtidb_enable_collect_execution_infoセッション変数を追加します#18073 #18072
    • tidb_slow_log_maskingグローバル変数を追加して、スロー クエリ ログ#17694でクエリの感度を下げるかどうかを制御します
    • storage.block-cache.capacity TiKV 構成アイテム#17671INFORMATION_SCHEMA.INSPECTION_RESULTテーブルに診断ルールを追加します。
    • BACKUPRESTOREの SQL ステートメントを追加して、データをバックアップおよび復元します#15274
  • TiKV

    • TiKV Control #8103encryption-metaコマンドをサポート
    • RocksDB::WriteImpl #7991のパフォーマンス コンテキスト メトリックを追加する
  • PD

    • オペレーターがリーダー ピアを削除しようとするとすぐに失敗するようにサポートする#2551
    • TiFlash ストアに適切なデフォルト ストア制限を設定する#2559
  • ティフラッシュ

    • コプロセッサーでの新しい集計機能APPROX_COUNT_DISTINCTのサポート
    • デフォルトでrough set filter機能を有効にする
    • TiFlash を ARMアーキテクチャで実行できるようにする
    • コプロセッサーでのJSON_LENGTHの関数のプッシュダウンをサポート
  • ツール

    • TiCDC

      • サブタスクの新しいcapture#665への移行をサポート
      • TiCDC GC TTL #652を削除するcliコマンドを追加します。
      • MQ シンク#649で canal プロトコルをサポート

改良点

  • TiDB

    • CM-Sketch が大量のメモリを消費する場合に、Golang のメモリ割り当てによって引き起こされるクエリのレイテンシーを削減します#17545
    • TiKVサーバーが障害回復プロセスにある場合、クラスターの QPS 回復期間を短縮します#17681
    • パーティション テーブル上の TiKV/TiFlash コプロセッサへの集約関数のプッシュをサポート#17655
    • インデックスが等しい条件の行数推定の精度を向上させる#17611
  • TiKV

    • PD クライアントのpanicログ#8093を改善します。
    • process_cpu_seconds_totalprocess_start_time_secondsのモニタリング メトリックを追加し直します#8029
  • ティフラッシュ

    • 旧バージョンからのアップグレード時の後方互換性を向上#786
    • デルタ インデックス#787のメモリ消費量を減らす
    • デルタ インデックス#794に対してより効率的な更新アルゴリズムを使用する
  • ツール

    • バックアップと復元 (BR)

      • 復元プロセスをパイプライン化してパフォーマンスを向上させる#266

バグの修正

  • TiDB

    • tidb_isolation_read_enginesを変更した後、プラン キャッシュから誤った実行プランを取得する問題を修正します#17570
    • EXPLAIN FOR CONNECTIONステートメント#18124の実行時に時折発生するランタイム エラーを修正します。
    • 場合によってはlast_plan_from_cacheセッション変数の誤った結果を修正します#18111
    • プラン キャッシュからUNIX_TIMESTAMP()関数を実行するときに発生するランタイム エラーを修正します。 #18002 #17673
    • HashJoin executor の子がNULL#17937を返すときのランタイム エラーを修正します。
    • 同じデータベースでDROP DATABASEステートメントと他の DDL ステートメントを同時に実行することによって発生するランタイム エラーを修正します#17659
    • ユーザー変数#17890に対するCOERCIBILITY()関数の誤った結果を修正します。
    • IndexMergeJoinエグゼキュータが時々スタックする問題を修正#18091
    • メモリ クォータが不足し、クエリのキャンセルがトリガーされた場合のIndexMergeJoin executor のハングの問題を修正します#17654
    • InsertおよびReplace executor の過剰なカウント メモリ使用量を修正します#18062
    • DROP DATABASEDROP TABLEを同一データベースで同時に実行すると、TiFlashストレージへのデータ複製が停止する問題を修正#17901
    • #17844とオブジェクト ストレージ サービス間のBACKUPの障害を修正RESTORE
    • アクセスが拒否された場合の権限チェック失敗の誤ったエラー メッセージを修正します#17724
    • DELETE / UPDATEステートメントから生成されたクエリ フィードバックを破棄します#17843
    • AUTO_RANDOMプロパティ#17828のないテーブルの変更を禁止しますAUTO_RANDOM_BASE
    • テーブルがデータベース間でALTER TABLE ... RENAME #18243移動されると、 AUTO_RANDOM列が間違った結果に割り当てられる問題を修正します。
    • tidb #17719なしでtidb_isolation_read_enginesの値を設定すると、一部のシステム テーブルにアクセスできない問題を修正します。
    • 大きな整数と浮動小数点値の JSON 比較の不正確な結果を修正します#17717
    • COUNT()関数#17704の結果の誤った小数プロパティを修正します
    • 入力のタイプがバイナリ文字列の場合のHEX()関数の誤った結果を修正します#17620
    • フィルター条件#17697なしでINFORMATION_SCHEMA.INSPECTION_SUMMARYテーブルをクエリすると、空の結果が返される問題を修正します。
    • ユーザー情報を更新するALTER USERステートメントで使用されるハッシュ化されたパスワードが予期しないものであるという問題を修正します#17646
    • ENUM値とSET値の照合順序をサポート#17701
    • テーブル#17619の作成時に事前分割リージョンのタイムアウト メカニズムが機能しない問題を修正します。
    • DDL ジョブの再試行時にスキーマが予期せず更新され、DDL ジョブの原子性が失われる可能性がある問題を修正します#17608
    • 引数に列#17562が含まれている場合のFIELD()関数の誤った結果を修正します。
    • max_execution_timeヒントがたまに効かない不具合を修正#17536
    • EXPLAIN ANALYZE #17350の結果に同時実行情報が重複して出力される問題を修正
    • STR_TO_DATE関数#17498での%hの非互換動作を修正
    • tidb_replica_readfollowerに設定され、リーダーとフォロワー/学習者#17443の間にネットワーク パーティションがある場合、フォロワー/学習者がリトライし続ける問題を修正します。
    • 場合によっては、 #17947が PD フォロワーに送信する ping が多すぎる問題を修正します。
    • 古いバージョンのレンジパーティションテーブルが TiDB v4.0 で読み込めない問題を修正#17983
    • リージョン#17585ごとに異なるBackofferを割り当てることで、複数のリージョンリクエストが同時に失敗した場合の SQL ステートメントのタイムアウトの問題を修正します。
    • DateTime区切り文字#17501を解析するときの MySQL の互換性のない動作を修正します。
    • TiKV リクエストが時々 TiFlashサーバーに送信される問題を修正します#18105
    • #18250つのトランザクションで書き込まれ、削除された主キーのロックが別のトランザクションによって解決されるために発生したデータの不整合の問題を修正します。
  • TiKV

    • ステータスサーバー#8101のメモリの安全性の問題を修正します。
    • JSON 数値比較#8087で精度が失われる問題を修正
    • 間違ったクエリの遅いログを修正する#8050
    • 複数のマージ プロセス中にピアのストアが分離されている場合、ピアを削除できない問題を修正します#8048
    • tikv-ctl recover-mvcc無効なペシミスティック ロックが削除されない問題を修正します#8047
    • 一部の Titan ヒストグラム メトリックが欠落している問題を修正します#7997
    • TiKV が TiCDC #7887duplicated errorを返す問題を修正
  • PD

    • pd-server.dashboard-address構成アイテム#2517の正確性を確認します
    • store-limit-modeからauto #2544を設定するときの PD のpanic問題を修正します。
    • ホットスポットが特定できない場合がある問題を修正#2463
    • 配置ルールにより、ストアがtombstoneに変更されない場合がある問題を修正します#2546
    • 場合によっては、以前のバージョンからアップグレードする際の PD のpanic問題を修正します#2564
  • ティフラッシュ

    • region not foundエラー発生時にプロキシがpanicすることがある問題を修正
    • drop tableでスローされた I/O 例外により、TiFlash スキーマの同期エラーが発生する可能性がある問題を修正
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.