TiDB 3.0.6 リリースノート
発売日:2019年11月28日
TiDB バージョン: 3.0.6
TiDB アンシブル バージョン: 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
ステートメントにサブクエリと生成された列の両方が含まれている場合、結果が正しくない問題を修正します。このステートメントに異なるソース データベースからの 2 つの同じ名前のテーブルが含まれている場合のUPDATE
ステートメント実行エラーを修正し#13350 。- ポイント クエリのサポート
_tidb_rowid
#13416 - パーティション化されたテーブル統計の不適切な使用が原因で、生成されたクエリ実行プランが正しくない問題を修正します#13628
- ウィンドウ関数 AST が SQL テキストを復元した後、結果が正しくない問題を修正します。たとえば、
- SQL 実行エンジン
- 年型#12745の無効な値を処理するときに、TiDB が MySQL と互換性がない問題を修正します。
INSERT ON DUPLICATE UPDATE
ステートメントでChunk
を再利用して、メモリ オーバーヘッドを削減します#12998JSON_VALID
組み込み関数のサポートを追加します#13133- 分割されたテーブルでの実行をサポート
ADMIN CHECK TABLE
#13140 FAST ANALYZE
が空のテーブルで実行されたときのpanicの問題を修正します#13343- 複数列のインデックスを含む空のテーブルで
FAST ANALYZE
を実行するときのpanicの問題を修正します#13394 WHERE
句に一意キー#13382の等しい条件が含まれている場合、推定行数が 1 より大きい問題を修正します。- TiDB #13254で
Streaming
を有効にすると、返されるデータが重複する可能性がある問題を修正します。 - count-min スケッチから上位 N 個の値を抽出して、推定精度を向上させます#13429
- サーバ
- gRPC ダイヤルがタイムアウトしたときに TiKV に送信されたリクエストがすぐに失敗するようにする#12926
- 次の仮想テーブルを追加します: #13009
performance_schema.tidb_profile_allocs
performance_schema.tidb_profile_block
performance_schema.tidb_profile_cpu
performance_schema.tidb_profile_goroutines
- クエリが悲観的ロック#12989を待機しているときに
kill
コマンドが機能しない問題を修正します。 - 悲観的ロックの取得が失敗し、トランザクションに単一のキーの変更のみが含まれる場合は、非同期ロールバックを実行しないでください#12707
- リージョンの分割リクエストに対するレスポンスが空の場合のpanicの問題を修正します#13092
PessimisticLock
ロック エラーが返された場合に不要なバックオフを回避する#13116- 認識されない構成オプション#13272の警告ログを出力して、構成をチェックするための TiDB の動作を変更します。
/info/all
インターフェイス#13187を介したすべての TiDB ノードの binlog ステータスの取得をサポート- 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
#12955 )slow_query
テーブルにトランザクション関連のフィールドを追加: #13072Prewrite_time
Commit_time
Get_commit_ts_time
Commit_backoff_time
Backoff_types
Resolve_lock_time
Local_latch_wait_time
Write_key
Write_size
Prewrite_region
Txn_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- 悲観的ロックのサポート
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 #5968で blob ファイルの欠落が発生する可能性がある問題を修正
- Titan #6009で
RocksDBOptions
が有効にならない場合がある問題を修正
PD
- 各フィルターに
ActOn
ディメンションを追加して、各スケジューラーとチェッカーがフィルターの影響を受けることを示し、未使用の 2 つのフィルター (disconnectFilter
とrejectLeaderFilter
#1911 ) を削除します。 - PD #1867でタイムスタンプを生成するのに 5 ミリ秒以上かかる場合、警告ログを出力します。
- 使用できないエンドポイントをクライアントに渡すときにクライアントのログ レベルを下げる#1856
region_syncer
レプリケーション プロセスで gRPC メッセージ パッケージが最大サイズを超える可能性がある問題を修正します#1952
ツール
- Binlog
- Drainer #788で
initial-commit-ts
が「-1」に設定されている場合、PD から初期レプリケーション タイムスタンプを取得します - Drainer の
Checkpoint
ストレージをダウンストリームから切り離し、MySQL またはローカル ファイルへの保存Checkpoint
をサポートします#790 - レプリケーション データベース/テーブル フィルタリングを構成するときに空の値を使用することによって引き起こされるDrainerpanicの問題を修正します#801
- Drainer がDrainerファイルをダウンストリームに適用できないため、panicが発生した後にプロセスが終了せずにデッドロック状態になる問題を修正します#807
- gRPC の
GracefulStop
#817が原因で、 Pumpが終了時にブロックする問題を修正します - TiDB ( #827以降) で
DROP COLUMN
ステートメントの実行中に列が欠落している binlog を受信すると、 Drainerが失敗する問題を修正します。
- Drainer #788で
- TiDB Lightning
- TiDB バックエンド#248用に
max-allowed-packet
の構成 (デフォルトでは 64 M) を追加します。
- TiDB バックエンド#248用に