TiDB4.0.2リリースノート
発売日:2020年7月1日
TiDBバージョン:4.0.2
互換性の変更
TiDB
PD
store-limit
を永続化し、 #2557を削除しstore-balance-rate
新しい変更
- デフォルトでは、TiDBおよびTiDBダッシュボードは使用法の詳細をPingCAPと共有して、製品を改善する方法を理解するのに役立ちます#18180 。共有される内容と共有を無効にする方法の詳細については、 テレメトリーを参照してください。
新機能
TiDB
INSERT
のステートメントでMEMORY_QUOTA()
のヒントをサポートする#18101- TLS証明書の
SAN
フィールドに基づく認証をサポート#17698 REGEXP()
関数#17581の照合順序をサポートしますsql_select_limit
セッションとグローバル変数#17604をサポートします- デフォルトで新しく追加されたパーティションのリージョンの分割をサポート#17665
BITXOR()
機能のIF()
BITNEG()
JSON_LENGTH()
への#17592をサポート#17651COUNT(DISTINCT)
#18120の近似結果を計算するために、新しい集計関数APPROX_COUNT_DISTINCT()
をサポートします。- TiFlashでの照合順序をサポートし、照合関連機能を#17705にプッシュします。
- サーバー#17695のステータスアドレスを示すために、
INFORMATION_SCHEMA.INSPECTION_RESULT
のテーブルにSTATUS_ADDRESS
の列を追加します。 MYSQL.BIND_INFO
テーブルにSOURCE
列を追加して、バインディングがどのように作成されるかを示します#17587PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
テーブルにPLAN_IN_CACHE
列とPLAN_CACHE_HITS
列を追加して、SQLステートメントのプランキャッシュ使用量を示します#17493enable-collect-execution-info
の構成アイテムとtidb_enable_collect_execution_info
のセッション変数を追加して、各オペレーターの実行情報を収集し、その情報を低速クエリログに記録するかどうかを制御します#18073 #18072tidb_slow_log_masking
のグローバル変数を追加して、遅いクエリログ#17694のクエリの感度を下げるかどうかを制御します- 3TiKV構成アイテム
storage.block-cache.capacity
のINFORMATION_SCHEMA.INSPECTION_RESULT
テーブルに診断ルールを追加し#17671 。 BACKUP
とRESTORE
のSQLステートメントを追加して、データをバックアップおよび復元します#15274
TiKV
PD
TiFlash
- コプロセッサーで新しい集計関数
APPROX_COUNT_DISTINCT
をサポートする - デフォルトで
rough set filter
つの機能を有効にする - TiFlashをARMアーキテクチャで実行できるようにする
- コプロセッサーの
JSON_LENGTH
関数のプッシュダウンをサポート
- コプロセッサーで新しい集計関数
ツール
改善
TiDB
TiKV
TiFlash
ツール
バックアップと復元(BR)
- 復元プロセスをパイプライン化してパフォーマンスを向上させる#266
バグの修正
TiDB
tidb_isolation_read_engines
が変更された後にプランキャッシュから取得された誤った実行プランの問題を修正します#17570EXPLAIN FOR CONNECTION
ステートメント#18124の実行時に発生する時折発生するランタイムエラーを修正します。- 場合によっては
last_plan_from_cache
セッション変数の誤った結果を修正します#18111 - プランキャッシュから
UNIX_TIMESTAMP()
関数を実行するときに発生するランタイムエラーを修正し#18002 #17673 HashJoin
のエグゼキュータの子がNULL
列#17937を返すときのランタイムエラーを修正します。- 同じデータベースで
DROP DATABASE
ステートメントと他のDDLステートメントを同時に実行することによって発生するランタイムエラーを修正します#17659 - ユーザー変数#17890の
COERCIBILITY()
関数の誤った結果を修正します IndexMergeJoin
エグゼキュータがときどきスタックする問題を修正します#18091- メモリクォータが不足し、クエリのキャンセルがトリガーされた場合の
IndexMergeJoin
エグゼキュータのハングの問題を修正します#17654 Insert
およびReplace
エグゼキュータの過剰なカウントメモリ使用量を修正します#18062- 同じデータベースで
DROP DATABASE
とDROP TABLE
が同時に実行されると、TiFlashストレージへのデータレプリケーションが停止する問題を修正します#17901 - TiDBとオブジェクトストレージサービス
RESTORE
の間のBACKUP
障害を修正し#17844 - アクセスが拒否されたときに特権チェックが失敗するという誤ったエラーメッセージを修正します#17724
DELETE
ステートメントから生成されたクエリフィードバックを破棄し#17843UPDATE
AUTO_RANDOM
のプロパティがないテーブルのAUTO_RANDOM_BASE
を変更することを禁止します#17828- テーブルがデータベース間で#18243移動すると、
AUTO_RANDOM
列に誤った結果が割り当てられる問題を修正しALTER TABLE ... RENAME
。 - #17719なしで
tidb_isolation_read_engines
の値を設定すると、一部のシステムテーブルにアクセスできない問題を修正しtidb
。 - 大きな整数と浮動小数点値でのJSON比較の不正確な結果を修正します#17717
COUNT()
関数#17704の結果の誤ったdecimalプロパティを修正します- 入力のタイプがバイナリ文字列#17620の場合の
HEX()
関数の誤った結果を修正します - フィルタ条件#17697なしで
INFORMATION_SCHEMA.INSPECTION_SUMMARY
のテーブルをクエリすると、空の結果が返される問題を修正します。 ALTER USER
ステートメントがユーザー情報を更新するために使用するハッシュパスワードが予期しないものであるという問題を修正します#17646ENUM
とSET
の値の照合順序をサポート#17701- テーブル#17619を作成するときに、リージョンを事前分割するためのタイムアウトメカニズムが機能しない問題を修正します。
- DDLジョブが再試行されたときにスキーマが予期せず更新され、DDLジョブのアトミック性が損なわれる可能性があるという問題を修正します#17608
- 引数に列#17562が含まれている場合の
FIELD()
関数の誤った結果を修正します max_execution_time
ヒントがときどき機能しない問題を修正します#17536- 13の結果で同時実行情報が冗長に
EXPLAIN ANALYZE
される問題を修正し#17350 STR_TO_DATE
関数#17498の%h
の互換性のない動作を修正しますtidb_replica_read
がfollower
に設定されていて、リーダーとフォロワー/学習者の間にネットワークパーティションがある場合にフォロワー/学習者が再試行し続ける問題を修正します#17443- TiDBがPDフォロワーに送信するpingが多すぎる場合がある問題を修正します#17947
- 古いバージョンの範囲パーティションテーブルを#17983にロードできない問題を修正します。
- リージョン#17585ごとに異なる
Backoffer
を割り当てることにより、複数のリージョンリクエストが同時に失敗した場合のSQLステートメントのタイムアウトの問題を修正します。 DateTime
の区切り文字を解析するときのMySQLの互換性のない動作を修正します#17501- TiKVリクエストがTiFlashサーバーに送信されることがある問題を修正します#18105
- あるトランザクションで書き込まれ、削除された主キーのロックが別のトランザクションによって解決されるために発生したデータの不整合の問題を修正します#18250
TiKV
PD
TiFlash
region not found
エラーが発生したときにプロキシがパニックになる可能性がある問題を修正しますdrop table
でスローされたI/O例外がTiFlashスキーマの同期エラーにつながる可能性がある問題を修正します