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