TiDB 3.0.0-rc.3 リリースノート
発売日:2019年6月21日
TiDB バージョン: 3.0.0-rc.3
TiDB Ansible バージョン: 3.0.0-rc.3
概要
2019年6月21日にTiDB 3.0.0-rc.3がリリースされました。対応するTiDB Ansibleバージョンは3.0.0-rc.3です。このリリースでは、TiDB 3.0.0-rc.2と比較して、安定性、使いやすさ、機能、SQLオプティマイザー、統計、実行エンジンが大幅に向上しています。
TiDB
SQLオプティマイザー
- 仮想生成列統計#10629を収集する機能を削除します
- ポイントクエリ中に主キー定数がオーバーフローする問題を修正#10699
fast analyzeで初期化されていない情報を使用するとpanicが発生する問題を修正#10691prepare使用してcreate view文を実行すると、間違った列情報#10713のためにpanicが発生する問題を修正しました- ウィンドウ関数#10720処理時に列情報が複製されない問題を修正
- インデックス結合#10854における内部テーブル選択の選択率の誤った推定を修正
stats-lease変数値が0の場合の自動読み込み統計をサポート#10811
実行エンジン
StreamAggExec #10636のClose関数を呼び出すときにリソースが正しく解放されない問題を修正しました- パーティションテーブル#10689の
show create tableのステートメントを実行した結果、 table_optionとpartition_optionsの順序が正しくない問題を修正しました。 - 逆順スキャンデータ#10687サポートすることで
admin show ddl jobsのパフォーマンスを向上 - このステートメントに
current_userフィールド#10684がある場合、RBACのshow grantsステートメントの結果がMySQLの結果と互換性がない問題を修正しました。 - UUIDが複数のノードで重複した値を生成する可能性がある問題を修正#10712
show view権限がexplain #10635で考慮されない問題を修正- ホットスポットの問題を軽減するために、テーブルリージョンを手動で分割する
split table regionステートメントを追加します#10765 - ホットスポットの問題を軽減するために、インデックスリージョンを手動で分割する
split index regionステートメントを追加します#10764 create userなどの複数revokeステートメントgrant連続して実行した場合の不正な実行問題を修正しました#10737- コプロセッサー#10791への式のプッシュダウンを禁止するブロックリストを追加します。
- クエリがメモリ構成制限#10849を超えたときに
expensive queryログを出力する機能を追加 - 変更されたバインディング実行プラン#10727の更新時間を制御する
bind-info-lease構成項目を追加します。 execdetails.ExecDetailsポインタ#10832の結果としてコプロセッサーリソースを迅速に解放できないことによって引き起こされる、高同時シナリオでのOOM問題を修正しました。kill文によって発生するpanic問題を修正#10876
サーバ
- GC #10683を修復する際に goroutine がリークする可能性がある問題を修正しました
- 低速クエリ#10693で
host情報を表示することをサポート - TiKV #10632と相互作用するアイドルリンクの再利用をサポート
- RBAC #10738で
skip-grant-tableオプションを有効にするためのサポートを修正 pessimistic-txn構成が無効になる問題を修正#10825- アクティブにキャンセルされた ticlient リクエストが再試行される問題を修正#10850
- 悲観的トランザクションが楽観的トランザクションと競合する場合のパフォーマンスを改善する#10881
DDL
alter tableを使用して文字セットを変更するとblob型が変更される問題を修正#10698- ホットスポットの問題を軽減するために、列に
AUTO_INCREMENT属性が含まれている場合にSHARD_ROW_ID_BITS使用して行 ID を分散させる機能を追加します#10794 alter table文#10808を使用して、保存された生成列の追加を禁止します。- DDLメタデータの無効な生存時間を最適化し、クラスタのアップグレード後にDDL操作が遅くなる期間を短縮します#10795
PD
- 一方向のマージのみを許可するには、
enable-two-way-merge構成項目を追加します#1583 AddLightLearnerとAddLightPeerスケジューリング操作を追加して、 リージョン Scatterスケジューリングを制限メカニズム#1563によって制限されないようにします。- システムの起動時にデータのレプリカレプリケーションが 1 つしか存在しないため信頼性が不十分になる問題を修正しました#1581
- 構成チェックロジックを最適化して構成項目エラーを回避する#1585
store-balance-rate構成の定義を、1分あたりに生成されるバランスオペレータ数の上限#1591に調整します。- ストアがスケジュールされた操作を生成できない可能性がある問題を修正#1590
TiKV
エンジン
- イテレータがステータス#4936をチェックしないために、システム内に不完全なスナップショットが生成される問題を修正しました。
- 異常な状況で電源障害が発生した後にスナップショットを受信するときに、ディスクへのデータのフラッシュが遅れることによって発生するデータ損失の問題を修正しました#4850
サーバ
block-size構成#4928の有効性をチェックする機能を追加するREAD_INDEX関連の監視指標#4830追加- GCワーカー関連の監視メトリック#4922を追加する
Raftstore
- ローカルリーダーのキャッシュが正しくクリアされない問題を修正#4778
- リーダーの移行や
conf #4734変更時にリクエストの遅延が増加する可能性がある問題を修正しました - 古いコマンドが誤って報告される問題を修正#4682
- コマンドが長時間保留になる可能性がある問題を修正#4810
- スナップショットファイルをディスク#4807に同期する際の遅延により、停電後にファイルが破損する問題を修正しました#4850
コプロセッサー
- ベクトル計算におけるTop-Nのサポート#4827
- ベクトル計算#4786における
Stream集計をサポート - ベクトル計算#4777における
AVG集計関数をサポート - ベクトル計算#4771における
First集計関数をサポート - ベクトル計算#4797における
SUM集計関数をサポート - ベクトル計算#4837における
MAX集計関数MINサポート - ベクトル計算#4747における
Like式のサポート - ベクトル計算#4849における
MultiplyDecimal式のサポート - ベクトル計算#4724における
BitAnd BitXor BitOrサポート - ベクトル計算#4808における
UnaryNot式のサポート
トランザクション
- 悲観的トランザクション#4801で非悲観的ロック競合によりエラー#4883発生する問題を修正
- 悲観的トランザクションを有効にした後、楽観的的トランザクションの不要な計算を削減してパフォーマンスを向上させる#4813
- デッドロック状況でトランザクション全体のロールバック操作が必要ないことを保証するために、単一ステートメントのロールバック機能を追加します#4848
- 悲観的トランザクション関連の監視項目#4852追加
- 深刻な競合が存在する場合のパフォーマンスを向上させるために、
ResolveLockLiteコマンドを使用して軽量ロックを解決することをサポートします#4882
tikv-ctl
- より多くの異常状態をチェックするためのコマンド
bad-regionsを追加#4862 tombstoneコマンド#4862強制的に実行する機能を追加
その他
dist_releaseコンパイルコマンド#4841を追加する
- TiDBBinlog
- データの書き込みに失敗したときにPumpが戻り値をチェックしないことによって発生する間違ったオフセットの問題を修正しました#640
- コンテナ環境#634でブリッジモードをサポートするために、 Drainerに
advertise-addr構成を追加します。 - Pumpに
GetMvccByEncodeKey関数を追加して、トランザクションステータス#632クエリを高速化します。
TiDB アンシブル
- クラスターの最大QPS値を予測するための監視項目を追加する(デフォルトでは「非表示」) #f5cfa4d