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