TiDB 3.0.1 リリースノート
発売日: 2019年7月16日
TiDB バージョン: 3.0.1
TiDB Ansible バージョン: 3.0.1
ティビ
MAX_EXECUTION_TIME
機能#11026のサポートを追加- リージョン#11166を分割する際のバックオフ時間を制御するセッション変数
tidb_wait_split_region_finish_backoff
を追加します。 - 負荷に応じて自動増分IDで割り当てられた増分ギャップの自動調整をサポートし、増分ギャップの自動調整範囲は1000〜2000000 #11006です。
- プラグインを動的に有効または無効にする
ADMIN PLUGINS ENABLE
SQL ステートメントをADMIN PLUGINS DISABLE
します#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 のメモリ使用量が正しく消去されなかったため
SHOW PROCESSLIST
メモリ使用量が0
ではないと表示される問題を修正しました#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
が使用され、浮動小数点精度が#11088に指定されている場合、SHOW CREATE TABLE
ステートメントで表示される精度が不完全になる問題を修正しました。 - ウィンドウ関数がエラーを報告するときに関数名が小文字にならない問題を修正し、MySQL #11118と互換性を持たせました。
- TiKV クライアント バッチ gRPC のバックグラウンド スレッドがパニックになった後、TiDB が TiKV に接続できず、サービスを提供できなくなる問題を修正しました#11101
- 文字列#11044の浅いコピーにより変数が誤って
SetVar
に設定される問題を修正 INSERT … ON DUPLICATE
ステートメントがテーブルパーティション#11231に適用されると実行が失敗し、エラーが報告される問題を修正しました。- 悲観的ロック(実験的機能)
ティクヴ
- 統計情報#5060にBLOBファイルのサイズの統計を追加します
- プロセス終了時にメモリリソースが誤って消去されることで発生するコアダンプの問題を修正#5053
- Titanエンジン#4772に関連するすべての監視メトリックを#4836します
- ファイル ハンドルの統計が不正確であるためにファイル ハンドルが利用できないという問題を回避するために、開いているファイル ハンドルの数をカウントするときに Titan の開いているファイル ハンドルの数を追加します#5026
- 特定のCF #4991でTitanエンジンを有効にするかどうかを決定するには
blob_run_mode
設定します。 - 読み取り操作で悲観的トランザクションのコミット情報を取得できない問題を修正#5067
- Titanエンジンの実行モードを制御するための
blob-run-mode
構成パラメータを追加します。その値はnormal
、またはfallback
#4865になりますread-only
- デッドロック検出のパフォーマンスを向上#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
- Pump GC戦略を最適化し、未使用のbinlogをクリーンアップできないという制限を削除して、リソースが長時間占有されないようにします#646
TiDB Lightning
- SQLダンプで指定された列名が小文字でない場合に発生するインポートエラーを修正#210
TiDB アンシブル
- ansibleコマンドとその
jmespath
およびjinja2
依存パッケージ#803の事前チェック機能を追加します#813 - Pumpに
stop-write-at-available-space
パラメータ (デフォルトでは 10 GiB) を追加して、使用可能なディスク容量がパラメータ値#806より少ない場合にPumpでのbinlogファイルの書き込みを停止します。 - TiKV監視情報のI/O監視項目を更新し、新しいバージョン#820の監視コンポーネントと互換性を持たせます。
- PD 監視情報を更新し、ディスク パフォーマンス ダッシュボード#817でディスク レイテンシが空になる異常を修正しました。
- TiKV詳細ダッシュボード#824にTitanの監視項目を追加する