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

TiDB4.0.2リリースノート

発売日:2020年7月1日

TiDBバージョン:4.0.2

互換性の変更

  • TiDB

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

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

新しい変更

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

新機能

  • TiDB

    • INSERTのステートメントでMEMORY_QUOTA()のヒントをサポートする#18101
    • TLS証明書#17698SANフィールドに基づく認証をサポートします
    • REGEXP()関数#17581の照合順序をサポート
    • sql_select_limitセッションとグローバル変数#17604をサポートします
    • デフォルトで新しく追加されたパーティションのリージョンの分割をサポート#17665
    • BITXOR()関数のIF() BITNEG() JSON_LENGTH()への#17592をサポート#17651
    • COUNT(DISTINCT) #18120の近似結果を計算するために、新しい集計関数APPROX_COUNT_DISTINCT()をサポートします。
    • TiFlashでの照合順序をサポートし、照合関連関数を#17705にプッシュします。
    • サーバー#17695のステータスアドレスを示すために、 INFORMATION_SCHEMA.INSPECTION_RESULTテーブルにSTATUS_ADDRESS列を追加します。
    • 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のクエリの感度を下げるかどうかを制御します。
    • 3TiKV構成アイテムstorage.block-cache.capacityINFORMATION_SCHEMA.INSPECTION_RESULTテーブルに診断ルールを追加し#17671
    • BACKUPRESTOREのSQLステートメントを追加して、データをバックアップおよび復元します#15274
  • TiKV

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

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

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

    • TiCDC

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

改善点

  • TiDB

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

    • PDクライアントのpanicログを改善する#8093
    • process_cpu_seconds_totalprocess_start_time_secondsの監視メトリックを追加し直します#8029
  • TiFlash

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

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

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

    • region not foundエラーが発生したときにプロキシがpanicになる可能性がある問題を修正します
    • drop tableでスローされたI/O例外がTiFlashスキーマの同期エラーにつながる可能性がある問題を修正します