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 - 負荷に応じてAUTO_INCREMENT 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関数を使用する際に非スレッドセーフrand.Randによって発生するデータ競合問題を修正 #11169oom-action="cancel"が設定されている場合、SQL 文のメモリ使用量がしきい値を超えているにもかかわらず、この文の実行がキャンセルされず、返される結果が正しくないというバグを修正しました#11004- MemTrackerのメモリ使用量が正しく消去されなかったため、
SHOW PROCESSLISTでメモリ使用量が0ではないと表示される問題を修正しました#10970 - 整数と非整数の比較結果が場合によっては正しくないというバグを修正#11194
- テーブルパーティションのクエリに明示的なトランザクションの述語が含まれている場合にクエリ結果が正しくないというバグを修正しました#11196
infoHandleNULLになる可能性があるため、DDL ジョブのpanic問題を修正しました。 #11022- クエリされた列がサブクエリで参照されていないため、ネストされた集計クエリを実行するときに誤ってプルーニングされ、クエリ結果が正しくない問題を修正しました#11020
Sleepの関数がKILLのステートメントに応答しない問題を修正しました #11028SHOW PROCESSLISTコマンドで表示されるDB列とINFO列がMySQL と互換性がない問題を修正 #11003skip-grant-table=trueが設定されている場合にFLUSH PRIVILEGESステートメントによって発生するシステムpanicの問題を修正#11027- テーブルの主キーが
UNSIGNED整数の場合、FAST ANALYZEで収集された主キー統計が正しくない問題を修正しました。 #11099 FAST ANALYZE文で「無効なキー」エラーが報告される場合がある問題を修正#11098- 列のデフォルト値として
CURRENT_TIMESTAMPが使用され、float精度が指定されている場合、SHOW CREATE TABLEステートメントで表示される精度が不完全になる問題を修正しました。 #11088 - MySQL との互換性を保つために、ウィンドウ関数がエラーを報告するときに関数名が小文字にならない問題を修正しました。 #11118
- TiKV クライアント バッチ gRPC のバックグラウンド スレッドがパニックを起こした後、TiDB が TiKV に接続できず、サービスを提供できなくなる問題を修正しました#11101
- 文字列の浅いコピーにより変数が誤って
SetVarに設定される問題を修正しました #11044 INSERT … ON DUPLICATEステートメントがテーブルパーティションに適用されると実行が失敗し、エラーが報告される問題を修正しました。 #11231- 悲観的ロック(実験的機能)
TiKV
- 統計情報にBLOBファイルのサイズの統計を追加します #5060
- プロセス終了時にメモリリソースが誤って消去されることで発生するコアダンプの問題を修正#5053
- Titanエンジンに関連するすべての監視メトリック追加します #4772 #4836
- ファイルハンドルの統計が不正確であるためにファイルハンドルが利用できないという問題を回避するために、開いているファイルハンドルの数をカウントするときに Titan の開いているファイルハンドルの数を追加します#5026
- 特定のCF でTitanエンジンを有効にするかどうかを決定するには
blob_run_mode設定します。 #4991 - 読み取り操作で悲観的トランザクションのコミット情報を取得できない問題を修正#5067
- Titanエンジンの実行モードを制御するための
blob-run-mode構成パラメータを追加します。その値はnormal、fallback、またはread-onlyになります #4865 - デッドロック検出のパフォーマンスを向上#5089
PD
- PDがホットリージョンをスケジュールするときに、スケジュール制限が自動的に0に調整される問題を修正しました。 #1552
- etcd の gRPC ゲートウェイ機能を有効にするには、
enable-grpc-gateway構成オプションを追加します。 #1596 store-balance-rate、およびスケジューラ構成に関連するその他の統計情報を追加しますhot-region-schedule-limit#1601- ホットリージョンのスケジュール戦略を最適化し、スケジュール時にレプリカが不足しているリージョンをスキップして、同じIDC に複数のレプリカがスケジュールされるのを防ぎます。 #1609
- リージョンのマージ処理ロジックを最適化し、サイズの小さいリージョンのマージを優先してリージョンのマージを高速化します#1613
- 一度に実行できるホットリージョンのスケジューリング数のデフォルト制限を64に調整し、スケジューリングタスクが多すぎるとシステムリソースが占有され、パフォーマンスに影響が出るのを防ぎます#1616
- リージョンスケジュール戦略を最適化し、
Pendingステータスのリージョンのスケジュールを優先することをサポートします。 #1617 random-mergeとadmin-merge-region演算子を追加できない問題を修正#1634- ログ内のリージョンキーの形式を16進表記に調整して、見やすくします#1639
ツール
TiDB Binlog
- Pump GC戦略を最適化し、未使用のbinlogをクリーンアップできないという制限を削除して、リソースが長時間占有されないようにします#646
TiDB Lightning
- SQLダンプで指定された列名が小文字でない場合に発生するインポートエラーを修正しました#210
TiDB Ansible
- ansibleコマンドとその
jmespathおよびjinja2依存パッケージの事前チェック機能を追加します#813 #803 - Pumpに
stop-write-at-available-spaceパラメータ(デフォルトでは10 GiB)を追加して、使用可能なディスク容量がパラメータ値より少ない場合にPumpでbinlogファイルの書き込みを停止します。 #806 - TiKV監視情報のI/O監視項目を更新し、新しいバージョンの監視コンポーネントと互換性を持たせます。 #820
- PD 監視情報を更新し、ディスク パフォーマンス ダッシュボードでディスク レイテンシが空になる異常を修正しました。 #817
- TiKV詳細ダッシュボードにTitanの監視項目を追加する #824