TiDB 3.0.1 リリースノート
発売日:2019年7月16日
TiDB バージョン: 3.0.1
TiDB Ansible バージョン: 3.0.1
TiDB
MAX_EXECUTION_TIME機能#11026のサポートを追加- リージョン#11166を分割する際のバックオフ時間を制御するために、
tidb_wait_split_region_finish_backoffセッション変数を追加します。 - 負荷に応じて自動増分IDで割り当てられた増分ギャップを自動的に調整することをサポートし、増分ギャップの自動調整範囲は1000〜2000000です#11006
- プラグイン
ADMIN PLUGINS DISABLEADMIN PLUGINS ENABLEステートメントを追加する#11157 - 監査プラグイン#11013にセッション接続情報を追加する
- リージョン分割期間中のデフォルトの動作を変更し、PD がスケジュール#11166を完了するまで待機します。
- 一部のケースで誤った結果を回避するために、ウィンドウ関数がプラン準備キャッシュにキャッシュされることを禁止します#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
infoHandleNULL#11022になる可能性があるため、DDL ジョブのpanic問題を修正しました。- クエリされた列がサブクエリで参照されていないため、ネストされた集計クエリを実行するときに誤ってプルーニングされ、クエリ結果が正しくない問題を修正しました#11020
Sleepの関数がKILL#11028のステートメントに応答しない問題を修正しました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、またはfallback#4865になりますread-only - デッドロック検出のパフォーマンスを向上#5089
PD
- PDがホットリージョン#1552をスケジュールするときに、スケジュール制限が自動的に0に調整される問題を修正しました。
- etcd #1596の gRPC ゲートウェイ機能を有効にするには、
enable-grpc-gateway構成オプションを追加します。 store-balance-rate、およびスケジューラ構成#1601に関連するその他の統計情報を追加しますhot-region-schedule-limit- ホットリージョンのスケジュール戦略を最適化し、スケジュール時にレプリカが不足しているリージョンをスキップして、同じ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の監視項目を追加する