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ステートメントにサブクエリと生成された列の両方が含まれている場合、結果が正しくないという問題を修正します。このステートメントに異なるソース データベースの 2UPDATEの同じ名前のテーブルが含まれている場合のステートメント実行エラーを修正します#13350- ポイントクエリ#13416のサポート
_tidb_rowid - パーティションテーブル統計#13628の誤った使用が原因で、生成されたクエリ実行プランが正しくない問題を修正します。
- ウィンドウ関数 AST が SQL テキストを復元した後の結果が正しくない問題を修正します。たとえば、
- SQL実行エンジン
- 年タイプ#12745の無効な値を処理するときに TiDB が MySQL と互換性がないという問題を修正
INSERT ON DUPLICATE UPDATEステートメントのChunk再利用してメモリのオーバーヘッドを削減します#12998JSON_VALID組み込み関数#13133のサポートを追加します。- パーティション化されたテーブル#13140での
ADMIN CHECK TABLEの実行をサポート - 空のテーブル#13343で
FAST ANALYZEが実行されたときのpanicの問題を修正 - 複数列インデックスを含む空のテーブルに対して
FAST ANALYZEを実行するときのpanicの問題を修正します#13394 WHERE句に一意のキー#13382に対する等しい条件が含まれている場合、推定行数が 1 より大きくなる問題を修正します。- TiDB #13254で
Streamingを有効にすると返されるデータが重複する可能性がある問題を修正 - 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- 認識されない構成オプション#13272の警告ログを出力することで、構成をチェックするための TiDB の動作を変更します。
/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#13174含まれている場合、列内のシステムのデフォルトの文字セットの代わりにテーブルのCOLLATE使用します。 - テーブル作成時のインデックス名の長さを制限する#13310
- テーブルの名前を変更するときにテーブル名の長さがチェックされない問題を修正#13346
- TiDB #13522での主キーの追加/削除をサポートするために
alter-primary-key構成 (デフォルトでは無効) を追加します。
- TiDBの
TiKV
acquire_pessimistic_lockインターフェイスが間違ったtxn_size#5740を返す問題を修正- パフォーマンスへの影響を軽減するために、1 秒あたりの GC ワーカーの書き込みを制限します#5735
lock_managerを正確に#5845- 悲観的ロック#5848のサポート
innodb_lock_wait_timeout - 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 #5968で BLOB ファイルの欠落が発生する可能性がある問題を修正
- Titan #6009で
RocksDBOptions有効にならない場合がある問題を修正
PD
- 各フィルタに
ActOnディメンションを追加して、各スケジューラとチェッカーがフィルタの影響を受けることを示し、2 つの未使用のフィルタdisconnectFilterとrejectLeaderFilter#1911を削除します。 - PD #1867でタイムスタンプの生成に 5 ミリ秒以上かかる場合、警告ログを出力します。
- 使用できないエンドポイントをクライアント#1856に渡すときにクライアントのログ レベルを下げる
- gRPC メッセージ パッケージが
region_syncerレプリケーション プロセスの最大サイズを超える可能性がある問題を修正#1952
ツール
- TiDBBinlog
- Drainer #788で
initial-commit-tsが「-1」に設定されている場合、PD から最初のレプリケーション タイムスタンプを取得します。 - Drainer の
Checkpointstorageをダウンストリームから切り離し、MySQL またはローカル ファイルへのCheckpointの保存をサポート#790 - レプリケーション データベース/テーブル フィルタリング#801を構成するときに空の値を使用することによって引き起こされるDrainerpanicの問題を修正します。
- Drainer がbinlogファイルをダウンストリーム#807に適用できないため、panicが発生した後にプロセスが終了せずにデッドロック状態になる問題を修正します。
- gRPC
GracefulStop#817が原因で終了時にPumpがブロックされる問題を修正 - TiDB (v3.0.6 以降)
DROP COLUMNステートメントの実行中に列が欠落しているbinlogを受信すると、 Drainerが失敗する問題を修正します#827
- Drainer #788で
- TiDB Lightning
- TiDB バックエンド#248に
max-allowed-packet構成 (デフォルトでは 64 M) を追加します。
- TiDB バックエンド#248に