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