TiDB 3.0.6 リリースノート
発売日:2019年11月28日
TiDB バージョン: 3.0.6
TiDB Ansible バージョン: 3.0.6
TiDB
- SQLオプティマイザ
- ウィンドウ関数 AST が SQL テキストを復元した後に結果が正しくない (たとえば、
over wが誤ってover (w)に復元される) 問題を修正しました。 #12933 STREAM AGG()からdoubleReadプッシュダウンする問題を修正 #12690- SQLバインディングで引用符が正しく処理されない問題を修正 #13117
select max(_tidb_rowid) from tシナリオを最適化してテーブル全体のスキャンを回避する#13095- クエリステートメントに変数代入式が含まれている場合にクエリ結果が正しくない問題を修正しました#13231
UPDATE文にサブクエリと生成列の両方が含まれている場合に結果が正しくない問題を修正しました。UPDATE文に異なるソースデータベースからの同じ名前のテーブルが 2つ含まれている場合に発生する文の実行エラーを修正しました#13350- ポイントクエリのサポート
_tidb_rowid#13416 - パーティションテーブル統計の不適切な使用により、生成されたクエリ実行計画が正しくない問題を修正しました#13628
- ウィンドウ関数 AST が SQL テキストを復元した後に結果が正しくない (たとえば、
- SQL実行エンジン
- 年型の無効な値を処理するときにTiDBがMySQLと互換性がない問題を修正しました #12745
INSERT ON DUPLICATE UPDATE文でChunk再利用してメモリオーバーヘッドを削減する #12998JSON_VALID組み込み関数のサポートを追加 #13133- パーティションテーブルで
ADMIN CHECK TABLE実行をサポート #13140 - 空のテーブルで
FAST ANALYZEを実行したときに発生するpanic問題を修正 #13343 - 複数列のインデックスを含む空のテーブルで
FAST ANALYZEを実行するとpanic問題を修正#13394 WHERE句に一意キー等号条件が含まれている場合に推定行数が 1 より大きくなる問題を修正しました #13382- TiDB で
Streamingが有効になっている場合に返されるデータが重複する可能性がある問題を修正しました #13254 - 推定精度を向上させるために、count-minスケッチから上位N個の値を抽出します#13429
- サーバ
- gRPC ダイヤルがタイムアウトすると、TiKV に送信されたリクエストがすぐに失敗するようにします#12926
- 次の仮想テーブルを追加します: #13009
performance_schema.tidb_profile_allocsperformance_schema.tidb_profile_blockperformance_schema.tidb_profile_cpuperformance_schema.tidb_profile_goroutines
- クエリが悲観的ロックを待機しているときにコマンド
killが機能しない問題を修正#12989 - 悲観的ロックの取得に失敗し、トランザクションが単一のキー変更のみを伴う場合は、非同期ロールバックを実行しないでください。 #12707
- 領域分割のリクエストに対する応答が空の場合にpanicする問題を修正#13092
PessimisticLockロックエラーを返したときに不要なバックオフを回避する#13116- 認識されない設定オプション警告ログを出力して構成をチェックする TiDB の動作を変更します。 #13272
/info/allインターフェースを介してすべての TiDB ノードのbinlogステータスの取得をサポート #13187- TiDB が接続を切断したときに goroutine がリークする可能性がある問題を修正#13251
- 悲観的トランザクションで
innodb_lock_wait_timeoutパラメータを動作させて、悲観的ロックのロック待機タイムアウトを制御する #13165 - 悲観的トランザクションクエリが強制終了されたときに、他のトランザクションが不必要に待機するのを防ぐために、悲観的トランザクション TTL の更新を停止します#13046
- DDL
- TiDB の
SHOW CREATE VIEWの実行結果が MySQL 結果と一致しない問題を修正しました #12912 unionに基づいてViewを作成することをサポート(例:create view v as select * from t1 union select * from t2) #12955slow_queryテーブルにトランザクション関連のフィールドを追加します: #13072Prewrite_timeCommit_timeGet_commit_ts_timeCommit_backoff_timeBackoff_typesResolve_lock_timeLocal_latch_wait_timeWrite_keyWrite_sizePrewrite_regionTxn_retry
- テーブルが作成され、テーブルに
COLLATEが含まれている場合、列のシステムのデフォルトの文字セットの代わりにテーブルのCOLLATEを使用します。 #13174 - テーブルを作成するときにインデックス名の長さを制限する #13310
- テーブル名を変更するときにテーブル名の長さがチェックされない問題を修正#13346
- TiDB で主キーの追加/削除をサポートするために、
alter-primary-key構成(デフォルトでは無効)を追加します。 #13522
- TiDB の
TiKV
acquire_pessimistic_lockインターフェースが間違ったtxn_sizeを返す問題を修正 #5740- GCワーカーの1秒あたりの書き込み回数を制限して、パフォーマンスへの影響を軽減します#5735
lock_manager正確にする #5845- 悲観的ロックのサポート
innodb_lock_wait_timeout#5848 - Titan の構成チェックを追加 #5720
- tikv-ctl を使用して GC I/O 制限を動的に変更するサポート:
tikv-ctl --host=ip:port modify-tikv-config -m server -n gc.max_write_bytes_per_sec -v 10MB#5957 - デッドロック検出器への負荷を軽減するために、無駄な
clean upリクエストを削減します。 #5965 - 悲観的ロックの事前書き込みリクエストでTTLを減らさないようにする#6056
- Titan でBLOBファイルが見つからない問題を修正 #5968
- Titan で
RocksDBOptions効力を発揮しない問題を修正 #6009
PD
- 各フィルターに
ActOnディメンションを追加して、各スケジューラとチェッカーがフィルターの影響を受けることを示します。また、使用されていない2つのフィルター(disconnectFilterとrejectLeaderFilter)を削除します。 #1911 - PD でタイムスタンプを生成するのに 5 ミリ秒以上かかる場合は警告ログを出力します。 #1867
- 利用できないエンドポイントをクライアントに渡すときにクライアントのログレベルを下げる #1856
- gRPCメッセージパッケージが
region_syncerレプリケーションプロセスで最大サイズを超える可能性がある問題を修正 #1952
ツール
- TiDB Binlog
- Drainer で
initial-commit-tsが"-1"に設定されている場合にPDから初期レプリケーションタイムスタンプを取得します。 #788 - Drainerの
Checkpointストレージを下流から分離し、MySQLまたはローカルファイルへのCheckpointの保存をサポートします。 #790 - レプリケーションデータベース/テーブルフィルタリングを構成する際に空の値を使用することで発生するDrainer panicの問題を修正しました#801
- Drainer が下流にbinlogファイルを適用できないためにpanicが発生した後、プロセスが終了せずにデッドロック状態になる問題を修正しました#807
- gRPC の
GracefulStopが原因で、Pumpが終了時にブロックされる問題を修正しました。 #817 - TiDB (v3.0.6 以降) で
DROP COLUMNの実行中に列が欠落しているbinlogを受信するとDrainer が失敗する問題を修正しました#827
- Drainer で
- TiDB Lightning
- TiDBバックエンドに
max-allowed-packet構成(デフォルトでは64MB)を追加します。 #248
- TiDBバックエンドに