TiDB 3.0.1 リリースノート
発売日:2019年7月16日
TiDB バージョン: 3.0.1
TiDB Ansible バージョン: 3.0.1
TiDB
MAX_EXECUTION_TIME
機能#11026のサポートを追加tidb_wait_split_region_finish_backoff
セッション変数を追加して、リージョン#11166を分割するバックオフ時間を制御します。- 負荷に基づいて自動インクリメント ID によって割り当てられた増分ギャップの自動調整をサポートし、増分ギャップの自動調整範囲は 1000 ~ 2000000 です#11006
ADMIN PLUGINS ENABLE
/ADMIN PLUGINS DISABLE
SQL ステートメントを追加して、プラグインを動的に有効または無効にします#11157- 監査プラグイン#11013にセッション接続情報を追加します。
- リージョンの分割期間中のデフォルトの動作を、PD のスケジュール#11166が完了するまで待機するように変更します。
- 場合によっては不正確な結果が生じるのを避けるために、ウィンドウ関数が Prepare Plan Cache にキャッシュされることを禁止します#11048
ALTER
ステートメントによる格納された生成列の定義の変更を禁止する#11068- 仮想生成列を保存された生成列への変更を禁止する#11068
- インデックス#11068を使用して生成された列式の変更を禁止します。
- ARM64アーキテクチャでの TiDB のコンパイルのサポート#11150
- データベースまたはテーブルの照合順序の変更をサポートしますが、データベース/テーブルの文字セットは UTF-8 または utf8mb4 である必要があります#11086
UPDATE … SELECT
ステートメントのSELECT
サブクエリがUPDATE
式の列の解析に失敗し、列が誤ってプルーニングされた場合にエラーが報告される問題を修正します#11252- ポイント クエリ中に列が複数回クエリされ、返された結果が NULL である場合に発生するpanicの問題を修正します#11226
RAND
関数#11169の使用時に非スレッド セーフrand.Rand
によって引き起こされるデータ競合の問題を修正します。oom-action="cancel"
を設定した場合、SQL文のメモリ使用量が閾値を超えても実行がキャンセルされず、返される結果が正しくない場合がある不具合を#11004- MemTracker のメモリ使用量が正しくクリーンアップされていないため、メモリ使用量が
0
ではないことがSHOW PROCESSLIST
表示される問題を修正#10970 - 整数と非整数の比較結果が正しくない場合があるバグを修正#11194
- 明示的なトランザクション#11196でテーブルパーティションに対するクエリに述語が含まれる場合、クエリ結果が正しくないバグを修正
infoHandle
NULL
#11022になる可能性があるため、DDL ジョブのpanic問題を修正- クエリ対象の列がサブクエリで参照されておらず、ネストされた集計クエリの実行時に誤ってプルーニングされるため、クエリ結果が正しくない問題を修正します#11020
Sleep
関数が#11028時点でKILL
ステートメントに応答しない問題を修正します。SHOW PROCESSLIST
コマンドで表示されるDB
とINFO
列が MySQL #11003と互換性がない問題を修正skip-grant-table=true
が設定されている場合にFLUSH PRIVILEGES
ステートメントによって引き起こされるシステムpanicの問題を修正します#11027- テーブルの主キーが
UNSIGNED
整数#11099の場合、FAST ANALYZE
によって収集された主キー統計が正しくない問題を修正します。 - 場合によっては「無効なキー」エラーが
FAST ANALYZE
ステートメントによって報告される問題を修正します#11098 - カラムのデフォルト値として
CURRENT_TIMESTAMP
使用し、float 精度を#11088に指定した場合、SHOW CREATE TABLE
ステートメントで示される精度が不完全になる問題を修正します。 - MySQL #11118と互換性を持たせるために、ウィンドウ関数がエラーを報告するときに関数名が小文字にならない問題を修正しました。
- TiKV クライアント バッチ gRPC のバックグラウンド スレッドがパニックになった後、TiDB が TiKV への接続に失敗し、サービスを提供できなくなる問題を修正します#11101
- 文字列#11044の浅いコピーにより、変数が誤って
SetVar
に設定される問題を修正します。 INSERT … ON DUPLICATE
ステートメントがテーブル パーティション#11231に適用されると、実行が失敗し、エラーが報告される問題を修正します。- 悲観的ロック (実験的機能)
TiKV
- 統計情報#5060に BLOB ファイルのサイズの統計を追加します。
- プロセス終了時にメモリリソースが誤ってクリーンアップされることによって引き起こされるコア ダンプの問題を修正します#5053
- Titan エンジン#4772 、 #4836に関連するすべての監視メトリクスを追加します。
- ファイル ハンドルの統計が不正確であるために使用可能なファイル ハンドルがないという問題を回避するために、開いているファイル ハンドルの数をカウントするときに Titan の開いているファイル ハンドルの数を追加します#5026
- 特定の CF #4991で Titan エンジンを有効にするかどうかを決定するには、
blob_run_mode
を設定します。 - 読み取り操作で悲観的トランザクションのコミット情報を取得できない問題を修正#5067
- Titan エンジンの実行モードを制御するには
blob-run-mode
構成パラメータを追加します。その値はnormal
、read-only
、またはfallback
#4865です。 - デッドロックの検出パフォーマンスの向上#5089
PD
- PD がホット リージョン#1552をスケジュールすると、スケジュール制限が自動的に 0 に調整される問題を修正します。
- etcd #1596の gRPC ゲートウェイ機能を有効にする
enable-grpc-gateway
構成オプションを追加します。 store-balance-rate
、hot-region-schedule-limit
およびスケジューラ構成に関連するその他の統計を追加します#1601- ホットリージョンのスケジューリング戦略を最適化し、スケジューリング中にレプリカが不足しているリージョンをスキップして、複数のレプリカが同じ IDC #1609にスケジュールされるのを防ぎます。
- リージョンのマージ処理ロジックを最適化し、より小さいサイズのリージョンのマージを優先してリージョンのマージを高速化します#1613
- 過剰なスケジュール タスクがシステム リソースを占有し、パフォーマンスに影響を与えることを防ぐために、一度に実行できるホットリージョンスケジュールのデフォルト制限を 64 に調整します#1616
- リージョンのスケジューリング戦略を最適化し、
Pending
ステータス#1617のリージョンのスケジューリングに高い優先順位を与えることをサポートします。 random-merge
とadmin-merge-region
演算子を追加できない問題を修正#1634- ログ内のリージョンキーの形式を 16 進表記に調整して見やすくしました#1639
ツール
TiDBBinlog
- PumpGC 戦略を最適化し、未消費のbinlogをクリーンアップできないという制限を削除して、リソースが長時間占有されないようにする#646
TiDB Lightning
- SQL ダンプで指定された列名が小文字ではない場合に発生するインポート エラーを修正#210
TiDB Ansible
- ansible コマンドとその
jmespath
およびjinja2
依存関係パッケージ#803 、 #813の事前チェック機能を追加します。 - Pumpに
stop-write-at-available-space
パラメータ (デフォルトでは 10 GiB) を追加して、利用可能なディスク容量がパラメータ値#806未満の場合にPumpでのbinlogファイルの書き込みを停止します。 - TiKV監視情報のI/O監視項目を更新し、新バージョン#820の監視コンポーネントに対応させます。
- PD監視情報を更新し、ディスクパフォーマンスダッシュボード#817でDisk Latencyが空になる異常を修正
- TiKV 詳細ダッシュボードに Titan の監視項目を追加します#824