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
    • Rangeを超えるデータがRangeパーティションテーブルに書き込まれるときにエラーメッセージが不正確になる問題を修正します#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の実行時に外部キーがチェックされないため、 SELECT * FROM information_schema.KEY_COLUMN_USAGEが実行されたときの#14105を修正しMODIFY COLUMN CHANGE 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インターフェースを使用して#13892の書き込みを回復する機能を追加します。
    • MySQLの動作との一貫性を保つために、 GRANT roles TO userに必要な特権をGrantPrivからROLE_ADMINまたはSUPERに更新します#13932
    • MySQLの動作との互換性を維持するために、TiDBの動作を現在のデータベースの使用からGRANTステートメントでデータベース名が指定されていない場合のNo database selectedエラーの報告に変更し#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
    • DROP ROLEステートメントのアトミック性の問題を修正して、TiDBがステートメント#14130の実行に失敗したときに一部のロールが予期せず削除されないようにします。
    • TiDBバージョンを3.0にアップグレードすると、 SHOW VARIABLEの結果のうちtidb_enable_window_functionつが誤って1を出力する問題を修正し、誤った結果を#14131に置き換え0
    • 1TiKVノードがオフラインのときに継続的に再試行するためにgcworkerがリークする可能性がある問題を修正します#14106
    • 問題追跡#14138の使いやすさを向上させるために、遅いクエリログにbinlogをPrewrite回記録します。
    • tidb_enable_table_partition変数をGLOBAL SCOPEにサポートさ#14091
    • 新しい特権が追加されたときに、新しく追加された特権が対応するユーザーに正しく付与されないために、ユーザー特権が欠落しているか、誤って追加されている可能性がある問題を修正します#14178
    • TiKVサーバーが切断されたときにrpcClientが閉じないため、 CheckStreamTimeoutLoopつのゴルーチンがリークする可能性がある問題を修正します#14227
    • 証明書ベースの認証をサポートする( ユーザードキュメント#13955
  • 取引
    • 新しいクラスタが作成されたときに、 tidb_txn_mode変数のデフォルト値を""から"pessimistic"に更新します#14171
    • トランザクションが再試行されたときに単一ステートメントのロック待機時間がリセットされないため、ペシミスティックトランザクションに対してロック待機時間が長すぎるという問題を修正します#13990
    • 悲観的なトランザクションモード#14050で変更されていないデータのロックが解除されるため、間違ったデータが読み取られる可能性がある問題を修正します。
    • mocktikv #14175でプリライトが実行されるとトランザクションタイプが区別されないため、挿入値の制限チェックが繰り返される問題を修正しました。
    • session.TxnState#13988の場合、トランザクションが正しく処理されないため、パニックを修正しInvalid
    • mocktikvのErrConfclit構造に35が含まれて#14080ない問題を修正しConflictCommitTS
    • ロックを解決した後、TiDBがロックタイムアウトを正しくチェックしないためにトランザクションがブロックされる問題を修正します#14083
  • モニター
    • 35にpessimistic_lock_keys_duration #14194監視項目を追加しLockKeys

TiKV

  • コプロセッサー
    • コプロセッサー#6051でエラーが発生した場合、出力ログのレベルをerrorからwarnに変更します。
    • 統計サンプリングデータの更新動作を、行の直接更新から挿入前の削除に変更して、 #6069 -server1の更新動作との一貫性を維持します。
  • ラフトストア
    • destroyのメッセージをpeerfsmに繰り返し送信し、 peerfsmが複数回破壊されることによって引き起こされるパニックを修正します#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の状態のストアを削除するとパニックが発生する可能性がある問題を修正します#2038
  • ディスク#2011からリージョン情報をロードするときに、オーバーラップしたリージョンが誤って削除される問題を修正し#2040
  • etcdをv3.4.0からv3.4.3にアップグレードします(アップグレード後は、pd-recoverを使用してのみetcdを劣化させることができることに注意してください) #2058

ツール

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

TiDB Ansible

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

このページは役に立ちましたか?

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.