TiDB 3.0.8 リリースノート
発売日:2019年12月31日
TiDB バージョン: 3.0.8
TiDB アンシブル バージョン: 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が報告される可能性があるという問題を修正します。- 文字列を float に変換するときに
INSERT
ステートメントがエラーを報告する可能性がある問題を修正します#14011 HashAgg
executor の同時実行値が正しく初期化されていないために集計操作の効果が低い場合がある問題を修正します#13811- 句が括弧内にある場合、
group by item
の実行でエラーが報告される問題を修正します#13658 - TiDB が
group by item
#14014を正しく計算しないため、OUTER JOIN
を実行するとエラーが報告される可能性がある問題を修正します。 - レンジ分割テーブルにレンジを超えるデータを書き込むとエラーメッセージが正しく表示されない問題を修正#14107
- MySQL
PadCharToFullLength
がすぐに破棄されることを考慮して、 広報番号 10124を元に戻し、PadCharToFullLength
の効果をキャンセルして、特殊なケースで予期しないクエリ結果を回避します#14157 ExplainExec
#14226での保証されていないclose()
呼び出しによって引き起こされるEXPLAIN ANALYZE
ステートメントを実行するときのゴルーチン リークの問題を修正します。
- DDL
change column
のエラーメッセージ出力を最適化して分かり#13796するmodify column
- 分割されたテーブルのリージョンの分割をサポートするために
SPLIT PARTITION TABLE
構文を追加します#13929 - インデックスの作成時にインデックスの長さが正しくチェックされないため、インデックスの長さが 3072 バイトを超えてもエラーが報告されない問題を修正し#13779 。
- 分割されたテーブルにインデックスを追加するのに時間がかかりすぎるため、
GC life time is shorter than transaction duration
エラー メッセージが報告される場合がある問題を修正します#14132 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 インターフェイスを使用して TiDB バイナリログの書き込みを回復する機能を追加します#13892
GRANT roles TO user
で必要な権限をGrantPriv
からROLE_ADMIN
またはSUPER
に更新して、MySQL の動作との一貫性を維持します#13932- MySQL の動作との互換性を維持するために、TiDB の動作を現在のデータベースの使用から
GRANT
ステートメントでデータベース名が指定されていない場合にNo database selected
エラーを報告するように変更します#13784 REVOKE
ステートメントの実行権限をSuperPriv
からREVOKE
に変更して、ユーザーが対応するスキーマの権限を持っている場合にのみ実行できるようにし、MySQL の動作との一貫性を維持します#13306GRANT 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
テーブル#14086のsystemTZ
から取得される問題を修正GRANT ALL
構文がユーザー#14092にすべての権限を付与しないという問題を修正します。Priv_create_user
権限がCREATE ROLE
とDROP ROLE
#14088で無効になる問題を修正ErrInvalidFieldSize
のエラー コードを1105(Unknow Error)
から3013
#13737に変更します。SHUTDOWN
コマンドを追加して TiDBサーバーを停止し、ShutdownPriv
特権#14104を追加します。DROP ROLE
ステートメントの原子性の問題を修正して、TiDB がステートメントの実行に失敗したときに一部のロールが予期せず削除されないようにします#14130- 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で変更されていないデータがロック解除されているため、間違ったデータが読み取られる可能性がある問題を修正します。
- #14175でプリライトを行うとトランザクションの種類が区別されないため、挿入値の制限チェックが繰り返される問題を修正
session.TxnState
がInvalid
#13988の場合、トランザクションが正しく処理されないため、panicを修正します。- mocktikv の
ErrConfclit
構造体にConflictCommitTS
#14080が含まれていない問題を修正 - ロックを解決した後、 #14083がロック タイムアウトを正しくチェックしないためにトランザクションがブロックされる問題を修正します。
- 新しいクラスターが作成されるときに、
- モニター
LockKeys
#14194にpessimistic_lock_keys_duration
監視項目を追加
TiKV
- コプロセッサー
- ラフトストア
- エンジン
- 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
ツール
- Binlog
- Pumpが DDL コミットされた binlog #853を受信しないため、binlog が無視される問題を修正します。