重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

TiDB3.0.8リリースノート

発売日:2019年12月31日

TiDBバージョン:3.0.8

TiDB Ansibleバージョン:3.0.8

TiDB

  • SQLオプティマイザー
    • タイムリーでないキャッシュ更新によって引き起こされた間違ったSQLバインディングプランを修正します#13891
    • SQLステートメントにシンボルリストが含まれている場合にSQLバインディングが無効になる可能性がある問題を修正します#14004
    • SQLステートメントが#14113で終わるため、SQLバインディングを作成または削除できない問題を修正し;
    • PhysicalUnionScan演算子が間違った統計を設定するために間違ったSQLクエリプランが選択される可能性があるという問題を修正します#14133
    • minAutoAnalyzeRatioの制限を削除して、 autoAnalyzeをよりタイムリーに#14015にします。
  • SQL実行エンジン
    • INSERT/REPLACE/UPDATE ... SET ... = DEFAULT構文でエラーが報告され、 DEFAULT式の使用法を仮想生成列と組み合わせるとエラーが報告される可能性がある問題を修正します#13682
    • 文字列をfloat3に変換するときにINSERTステートメントがエラーを報告する可能性がある問題を修正し#14011
    • HashAggエグゼキュータの同時実行値が誤って初期化されるために集約操作の効果が低くなることがある問題を修正します#13811
    • 句が括弧内にある場合、 group by itemの実行でエラーが報告される問題を修正します#13658
    • #14014が35を誤って計算するため、 OUTER JOINを実行するとエラーが報告される可能性がある問題を修正しgroup by item
    • 範囲を超えるデータが範囲パーティションテーブルに書き込まれるときにエラーメッセージが不正確になる問題を修正します#14107
    • MySQL 8がPadCharToFullLengthをすぐに破棄することを考慮して、特別な場合に予期しないクエリ結果を回避するために、 PR#10124を元に戻してPadCharToFullLengthの効果をキャンセルします#14157
    • 57での無保証のclose()呼び出しによって引き起こされたEXPLAIN ANALYZEステートメントを実行するときの#14226ルーチンリークの問題を修正しExplainExec
  • DDL
    • 理解し#13796するためにchange columnのエラーメッセージ出力を最適化するmodify column
    • パーティションテーブルのリージョンの分割をサポートするためにSPLIT PARTITION TABLEの構文を追加します#13929
    • インデックスの作成時にインデックスの長さが誤ってチェックされるため、インデックスの長さが3072バイトを超え、エラーが報告されない問題を修正します#13779
    • パーティションテーブルにインデックスを追加するのに時間がかかりすぎるため、 GC life time is shorter than transaction durationエラーメッセージが報告される可能性があるという問題を修正します#14132
    • DROP COLUMN実行時に外部CHANGE COLUMNがチェックされないため、 SELECT * FROM information_schema.KEY_COLUMN_USAGE実行時のpanicを#14105 MODIFY COLUMN
  • サーバ
    • ステートメントサマリーの改善:
      • 多数のSQLメトリックフィールドを追加して、SQLステートメントの詳細な分析を容易にし#14168 #14151
      • stmt-summary.refresh-intervalパラメーターを追加して、古いデータをevents_statements_summary_by_digestテーブルからevents_statements_summary_by_digest_historyテーブルに移動するかどうかを制御します(デフォルトの間隔:30分) #14161
      • events_statements_summary_by_digest_history #14166テーブルを追加して、古いデータを35に保存しevents_statements_summary_by_digest
    • RBAC関連の内部SQLステートメントが実行されたときにbinlogが誤って出力される問題を修正します#13890
    • server-versionの構成アイテムを追加して、TiDBサーバーバージョン#13906を変更する機能を制御します。
    • HTTPインターフェースを使用してTiDBbinlogの書き込みを回復する機能を追加します#13892
    • MySQLの動作との一貫性を保つために、 GRANT roles TO userに必要な特権をGrantPrivからROLE_ADMINまたはSUPERに更新します#13932
    • MySQLの動作との互換性を維持するために、現在のデータベースの使用からGRANTステートメントでデータベース名が指定されていない場合のNo database selectedエラーの報告にTiDBの動作を変更します#13784
    • MySQLの動作との一貫性を保つために、ユーザーが対応するスキーマの権限を持っている場合にのみ実行可能なREVOKEステートメントの実行権限をSuperPrivからREVOKEに変更します#13306
    • GRANT ALL構文に#13943が含まれていない場合に、ターゲットユーザーにGrantPrivが誤って付与される問題を修正しWITH GRANT OPTION
    • LoadDataInfo#13980の呼び出しに失敗したときに、エラーメッセージにLOAD DATAステートメントの誤った動作の原因が含まれていない問題を修正しaddRecord
    • クエリ内の複数のSQLステートメントが同じStartTimeを共有するため、間違った遅いクエリ情報が出力される問題を修正し#13898
    • batchClientが大きなトランザクションを処理するときにメモリがリークする可能性がある問題を修正します#14032
    • system_time_zoneが常にCSTとして表示され、TiDBのsystem_time_zonemysql.tidbテーブル#14086systemTZから取得されるという問題を修正します。
    • GRANT ALL構文がユーザーにすべての特権を付与しないという問題を修正します#14092
    • Priv_create_user特権がCREATE ROLEおよび#14088に対して無効であるという問題を修正しDROP ROLE
    • ErrInvalidFieldSizeのエラーコードを1105(Unknow Error)から#13737に変更し3013
    • SHUTDOWNコマンドを追加してTiDBサーバーを停止し、 ShutdownPriv特権を追加します#14104
    • TiDBがステートメント#14130の実行に失敗したときに一部のロールが予期せず削除されないように、 DROP ROLEステートメントのアトミック性の問題を修正します。
    • TiDBバージョンを3.0にアップグレードすると、 SHOW VARIABLEtidb_enable_window_functionの結果が誤って1を出力する問題を修正し、誤った結果を#14131に置き換え0
    • TiKVノードがオフラインのときにgcworkerが継続的に再試行するため、ゴルーチンがリークする可能性がある問題を修正します#14106
    • 課題追跡#14138の使いやすさを向上させるために、遅いクエリログにbinlogをPrewrite回記録します。
    • tidb_enable_table_partition #14091をサポートするGLOBAL SCOPE
    • 新しい特権が追加されたときに、新しく追加された特権が対応するユーザーに正しく付与されないために、ユーザー特権が欠落しているか、誤って追加される可能性がある問題を修正します#14178
    • TiKVサーバーが切断されたときにrpcClientが閉じないため、 CheckStreamTimeoutLoopつのゴルーチンがリークする可能性がある問題を修正します#14227
    • 証明書ベースの認証をサポートする( ユーザードキュメント#13955
  • 取引
    • 新しいクラスタが作成されたときに、 tidb_txn_mode変数のデフォルト値を""から"pessimistic"に更新します#14171
    • トランザクションが再試行されたときに単一のステートメントのロック待機時間がリセットされないため、ペシミスティックトランザクションに対してロック待機時間が長すぎるという問題を修正します#13990
    • 悲観的なトランザクションモード#14050では、変更されていないデータのロックが解除されるため、間違ったデータが読み取られる可能性があるという問題を修正します。
    • mocktikv #14175でプリライトが実行されるとトランザクションタイプが区別されないため、挿入値の制限チェックが繰り返される問題を修正しました。
    • session.TxnState#13988の場合、トランザクションが正しく処理されないため、panicを修正しInvalid
    • mocktikvのErrConfclit構造に35が含まれて#14080ない問題を修正しConflictCommitTS
    • ロックを解決した後、TiDBがロックタイムアウトを正しくチェックしないためにトランザクションがブロックされる問題を修正します#14083
  • モニター
    • 35にpessimistic_lock_keys_duration #14194監視項目を追加しLockKeys

TiKV

  • コプロセッサー
    • コプロセッサー#6051でエラーが発生した場合、出力ログのレベルをerrorからwarnに変更します。
    • tidb-server #6069の更新動作との一貫性を保つために、統計サンプリングデータの更新動作を行の直接更新から挿入前の削除に変更します。
  • ラフトストア
    • destroyのメッセージをpeerfsmに繰り返し送信し、 peerfsmが複数回破壊されることによって引き起こされるpanicを修正します#6297
    • デフォルト値split-region-on-tabletrueからfalseに更新して、デフォルトでテーブルによるリージョンの分割を無効にします#6253
  • エンジン
    • RocksDBイテレータエラーが極端な条件で正しく処理されないために空のデータが返される可能性がある問題を修正します#6326
  • 取引
    • 悲観的なロックが誤ってクリーンアップされたためにTiKVがキーへのデータの書き込みに失敗し、GCがブロックされる問題を修正します#6354
    • 悲観的なロック待機メカニズムを最適化して、ロックの競合が深刻なシナリオでのパフォーマンスを向上させます#6296
  • デフォルト値のtikv_alloctikv_alloc/defaultから#6206に更新しjemalloc

PD

  • クライアント
    • contextを使用してクライアントを作成し、新しいクライアントを作成するときのタイムアウト期間を設定することをサポートします#1994
    • KeepAliveの接続の作成をサポート#2035
  • /api/v1/regions#1986を最適化する
  • tombstone状態のストアを削除するとpanicが発生する可能性がある問題を修正します#2038
  • ディスク#2011からリージョン情報をロードするときに、オーバーラップしたリージョンが誤って削除される問題を修正し#2040
  • etcdをv3.4.0からv3.4.3にアップグレードします(アップグレード後は、pd-recoverを使用してのみetcdを劣化させることができることに注意してください) #2058

ツール

  • TiDB Binlog
    • PumpがDDLコミット#853を受信しないため、binlogが無視される問題を修正します。

TiDB Ansible

  • 簡略化された構成項目を元に戻す#1053
  • ローリングアップデートを実行するときにTiDBバージョンをチェックするためのロジックを最適化する#1056
  • TiSparkをv2.1.81にアップグレードする#1061
  • PDロール監視項目がGrafana1に誤って表示される問題を修正し#1065
  • Grafana5の#1071詳細ページでThread Voluntary Context SwitchesThread Nonvoluntary Context Switchesの監視項目を最適化する
このページの内容