TiDB3.0.8リリースノート
発売日:2019年12月31日
TiDBバージョン:3.0.8
TiDB Ansibleバージョン:3.0.8
TiDB
- SQLオプティマイザー
- タイムリーでないキャッシュ更新によって引き起こされた間違ったSQLバインディングプランを修正する#13891
- SQLステートメントにシンボルリストが含まれている場合にSQLバインディングが無効になる可能性がある問題を修正します#14004
- SQLステートメントが#14113で終わるため、SQLバインディングを作成または削除できない問題を修正し
;。 PhysicalUnionScan演算子が間違った統計を設定するために、間違ったSQLクエリプランが選択される可能性があるという問題を修正します#14133minAutoAnalyzeRatioの制限を削除して、autoAnalyzeをよりタイムリーに#14015にします。
- SQL実行エンジン
INSERT/REPLACE/UPDATE ... SET ... = DEFAULT構文でエラーが報告され、DEFAULT式の使用法を仮想生成列と組み合わせるとエラーが報告される可能性がある問題を修正します#13682- 文字列をfloat3に変換するときに
INSERTステートメントがエラーを報告する可能性がある問題を修正し#14011 HashAggエグゼキュータの同時実行値が正しく初期化されていないために集約操作の効果が低い場合がある問題を修正します#13811- 句が括弧内にある場合に
group by itemの実行でエラーが報告される問題を修正します#13658 - #14014が35を誤って計算するため、
OUTER JOINを実行するとエラーが報告される可能性がある問題を修正しgroup by item。 - Rangeを超えるデータがRangeパーティションテーブルに書き込まれるときにエラーメッセージが不正確になる問題を修正します#14107
- MySQL 8がすぐに
PadCharToFullLengthを破棄することを考慮して、特別な場合に予期しないクエリ結果を回避するために、 PR#10124を元に戻してPadCharToFullLengthの効果をキャンセルします#14157 - 57での無保証の
close()呼び出しによって引き起こされたEXPLAIN ANALYZEステートメントを実行するときの#14226ルーチンリークの問題を修正しExplainExec。
- DDL
- 理解し#13796ように
change columnのエラーメッセージ出力を最適化するmodify column - パーティションテーブルのリージョンの分割をサポートする
SPLIT PARTITION TABLEの構文を追加します#13929 - インデックスの作成時にインデックスの長さが正しくチェックされないため、インデックスの長さが3072バイトを超え、エラーが報告されない問題を修正します#13779
- パーティションテーブルにインデックスを追加するのに時間がかかりすぎるために、
GC life time is shorter than transaction durationエラーメッセージが報告される可能性があるという問題を修正します#14132 DROP COLUMNの実行時に外部キーがチェックされないため、SELECT * FROM information_schema.KEY_COLUMN_USAGEが実行されたときの#14105を修正しMODIFY COLUMNCHANGE COLUMN
- 理解し#13796ように
- サーバ
- ステートメントの要約の改善:
- 多数のSQLメトリックフィールドを追加して、SQLステートメントの詳細な分析を容易にし#14168 #14151
stmt-summary.refresh-intervalパラメーターを追加して、古いデータをevents_statements_summary_by_digestテーブルからevents_statements_summary_by_digest_historyテーブルに移動するかどうかを制御します(デフォルトの間隔:30分) #14161events_statements_summary_by_digest_history#14166テーブルを追加して、古いデータを35に保存しevents_statements_summary_by_digest
- RBAC関連の内部SQLステートメントが実行されたときにbinlogが誤って出力される問題を修正します#13890
server-versionの構成アイテムを追加して、TiDBサーバーバージョン#13906を変更する機能を制御します。- HTTPインターフェースを使用して#13892の書き込みを回復する機能を追加します。
- MySQLの動作との一貫性を保つために、
GRANT roles TO userに必要な特権をGrantPrivからROLE_ADMINまたはSUPERに更新します#13932 - MySQLの動作との互換性を維持するために、TiDBの動作を現在のデータベースの使用から
GRANTステートメントでデータベース名が指定されていない場合のNo database selectedエラーの報告に変更し#13784 。 - MySQLの動作との一貫性を保つために、ユーザーが対応するスキーマの特権を持っている場合にのみ実行可能な
REVOKEステートメントの実行特権をSuperPrivからREVOKEに変更します#13306 GRANT ALL構文に#13943が含まれていない場合に、ターゲットユーザーにGrantPrivが誤って付与される問題を修正しWITH GRANT OPTION。LoadDataInfoが#13980の呼び出しに失敗したときに、エラーメッセージにLOAD DATAステートメントの誤った動作の原因が含まれていないという問題を修正しaddRecord。- クエリ内の複数のSQLステートメントが同じ
StartTimeを共有するため、間違った遅いクエリ情報が出力される問題を修正し#13898 。 batchClientが大規模なトランザクションを処理するときにメモリがリークする可能性がある問題を修正します#14032system_time_zoneが常にCSTとして表示され、TiDBのsystem_time_zoneがmysql.tidbテーブル#14086のsystemTZから取得されるという問題を修正します。GRANT ALL構文がユーザーにすべての特権を付与しないという問題を修正します#14092Priv_create_user特権がCREATE ROLEおよび#14088に対して無効であるという問題を修正しDROP ROLE。ErrInvalidFieldSizeのエラーコードを1105(Unknow Error)から#13737に変更し3013SHUTDOWNコマンドを追加してTiDBサーバーを停止し、ShutdownPriv特権を追加します#14104DROP ROLEステートメントのアトミック性の問題を修正して、TiDBがステートメント#14130の実行に失敗したときに一部のロールが予期せず削除されないようにします。- TiDBバージョンを3.0にアップグレードすると、
SHOW VARIABLEの結果のうちtidb_enable_window_functionつが誤って1を出力する問題を修正し、誤った結果を#14131に置き換え0。 - 1TiKVノードがオフラインのときに継続的に再試行するために
gcworkerがリークする可能性がある問題を修正します#14106 - 問題追跡#14138の使いやすさを向上させるために、遅いクエリログにbinlogを
Prewrite回記録します。 tidb_enable_table_partition変数をGLOBAL SCOPEにサポートさ#14091- 新しい特権が追加されたときに、新しく追加された特権が対応するユーザーに正しく付与されないために、ユーザー特権が欠落しているか、誤って追加されている可能性がある問題を修正します#14178
- TiKVサーバーが切断されたときに
rpcClientが閉じないため、CheckStreamTimeoutLoopつのゴルーチンがリークする可能性がある問題を修正します#14227 - 証明書ベースの認証をサポートする( ユーザードキュメント ) #13955
- ステートメントの要約の改善:
- 取引
- 新しいクラスタが作成されたときに、
tidb_txn_mode変数のデフォルト値を""から"pessimistic"に更新します#14171 - トランザクションが再試行されたときに単一ステートメントのロック待機時間がリセットされないため、ペシミスティックトランザクションに対してロック待機時間が長すぎるという問題を修正します#13990
- 悲観的なトランザクションモード#14050で変更されていないデータのロックが解除されるため、間違ったデータが読み取られる可能性がある問題を修正します。
- mocktikv #14175でプリライトが実行されるとトランザクションタイプが区別されないため、挿入値の制限チェックが繰り返される問題を修正しました。
session.TxnStateが#13988の場合、トランザクションが正しく処理されないため、パニックを修正しInvalid。- mocktikvの
ErrConfclit構造に35が含まれて#14080ない問題を修正しConflictCommitTS - ロックを解決した後、TiDBがロックタイムアウトを正しくチェックしないためにトランザクションがブロックされる問題を修正します#14083
- 新しいクラスタが作成されたときに、
- モニター
- 35に
pessimistic_lock_keys_duration#14194監視項目を追加しLockKeys
- 35に
TiKV
- コプロセッサー
- ラフトストア
- エンジン
- RocksDBイテレータエラーが極端な条件で正しく処理されないために空のデータが返される可能性がある問題を修正します#6326
- 取引
- デフォルト値の
tikv_allocをtikv_alloc/defaultから#6206に更新しjemalloc。
PD
- クライアント
/api/v1/regionsの#1986を最適化するtombstoneの状態のストアを削除するとパニックが発生する可能性がある問題を修正します#2038- ディスク#2011からリージョン情報をロードするときに、オーバーラップしたリージョンが誤って削除される問題を修正し#2040 。
- etcdをv3.4.0からv3.4.3にアップグレードします(アップグレード後は、pd-recoverを使用してのみetcdを劣化させることができることに注意してください) #2058
ツール
- TiDB Binlog
- PumpがDDLコミットされたbinlog1を受信しないため、 #853が無視される問題を修正します。