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