TiDB 3.0.6 リリースノート

発売日:2019年11月28日

TiDB バージョン: 3.0.6

TiDB アンシブル バージョン: 3.0.6

TiDB

  • SQL オプティマイザー
    • ウィンドウ関数 AST が SQL テキストを復元した後、結果が正しくない問題を修正します。たとえば、 over wが誤ってover (w) #12933に復元されるなどです。
    • STREAM AGG()doubleRead #12690に押し下げる問題を修正
    • SQL バインド#13117で引用符が正しく処理されない問題を修正します。
    • select max(_tidb_rowid) from tのシナリオを最適化して、テーブル全体のスキャンを回避する#13095
    • クエリ文に変数代入式が含まれる場合、クエリ結果が正しくない問題を修正#13231
    • UPDATEステートメントにサブクエリと生成された列の両方が含まれている場合、結果が正しくない問題を修正します。このステートメントに異なるソース データベースからの 2 つの同じ名前のテーブルが含まれている場合のUPDATEステートメント実行エラーを修正し#13350
    • ポイント クエリのサポート_tidb_rowid #13416
    • パーティション化されたテーブル統計の不適切な使用が原因で、生成されたクエリ実行プランが正しくない問題を修正します#13628
  • SQL 実行エンジン
    • 年型#12745の無効な値を処理するときに、TiDB が MySQL と互換性がない問題を修正します。
    • INSERT ON DUPLICATE UPDATEステートメントでChunkを再利用して、メモリ オーバーヘッドを削減します#12998
    • JSON_VALID組み込み関数のサポートを追加します#13133
    • 分割されたテーブルでの実行をサポートADMIN CHECK TABLE #13140
    • FAST ANALYZEが空のテーブルで実行されたときのpanicの問題を修正します#13343
    • 複数列のインデックスを含む空のテーブルでFAST ANALYZEを実行するときのpanicの問題を修正します#13394
    • WHERE句に一意キー#13382の等しい条件が含まれている場合、推定行数が 1 より大きい問題を修正します。
    • TiDB #13254Streamingを有効にすると、返されるデータが重複する可能性がある問題を修正します。
    • count-min スケッチから上位 N 個の値を抽出して、推定精度を向上させます#13429
  • サーバ
    • gRPC ダイヤルがタイムアウトしたときに TiKV に送信されたリクエストがすぐに失敗するようにする#12926
    • 次の仮想テーブルを追加します: #13009
      • performance_schema.tidb_profile_allocs
      • performance_schema.tidb_profile_block
      • performance_schema.tidb_profile_cpu
      • performance_schema.tidb_profile_goroutines
    • クエリが悲観的ロック#12989を待機しているときにkillコマンドが機能しない問題を修正します。
    • 悲観的ロックの取得が失敗し、トランザクションに単一のキーの変更のみが含まれる場合は、非同期ロールバックを実行しないでください#12707
    • リージョンの分割リクエストに対するレスポンスが空の場合のpanicの問題を修正します#13092
    • PessimisticLockロック エラーが返された場合に不要なバックオフを回避する#13116
    • 認識されない構成オプション#13272の警告ログを出力して、構成をチェックするための TiDB の動作を変更します。
    • /info/allインターフェイス#13187を介したすべての TiDB ノードの binlog ステータスの取得をサポート
    • TiDB が接続を強制終了したときに goroutine がリークする可能性がある問題を修正します#13251
    • 悲観的トランザクションでinnodb_lock_wait_timeoutパラメーターを機能させて、悲観的ロック#13165のロック待機タイムアウトを制御します。
    • 他のトランザクションが不必要に待機するのを防ぐために、悲観的なトランザクション クエリが強制終了されたときに、悲観的なトランザクション TTL の更新を停止します#13046
  • DDL
    • TiDB のSHOW CREATE VIEWの実行結果が MySQL #12912の実行結果と一致しない問題を修正
    • unionに基づくViewの作成をサポート (例: create view v as select * from t1 union select * from t2 #12955 )
    • slow_queryテーブルにトランザクション関連のフィールドを追加: #13072
      • Prewrite_time
      • Commit_time
      • Get_commit_ts_time
      • Commit_backoff_time
      • Backoff_types
      • Resolve_lock_time
      • Local_latch_wait_time
      • Write_key
      • Write_size
      • Prewrite_region
      • Txn_retry
    • テーブルが作成され、テーブルにCOLLATE #13174が含まれている場合、列のシステムのデフォルト文字セットの代わりにテーブルのCOLLATEを使用します
    • テーブルの作成時にインデックス名の長さを制限する#13310
    • テーブルの名前変更時にテーブル名の長さがチェックされない問題を修正#13346
    • TiDB #13522での主キーの追加/削除をサポートするために、 alter-primary-keyの構成 (デフォルトでは無効) を追加します。

TiKV

  • acquire_pessimistic_lockインターフェイスが間違ったtxn_size #5740を返す問題を修正
  • 1 秒あたりの GC ワーカーの書き込みを制限して、パフォーマンスへの影響を軽減します#5735
  • lock_managerを正確にする#5845
  • 悲観的ロックのサポートinnodb_lock_wait_timeout #5848
  • Titan #5720の設定チェックを追加
  • tikv-ctl を使用して GC I/O 制限を動的に変更するサポート: tikv-ctl --host=ip:port modify-tikv-config -m server -n gc.max_write_bytes_per_sec -v 10MB #5957
  • 無駄なclean upリクエストを減らして、デッドロック検出器への圧力を減らします#5965
  • 悲観的ロックの事前書き込み要求で TTL を削減しないようにする#6056
  • Titan #5968で blob ファイルの欠落が発生する可能性がある問題を修正
  • Titan #6009RocksDBOptionsが有効にならない場合がある問題を修正

PD

  • 各フィルターにActOnディメンションを追加して、各スケジューラーとチェッカーがフィルターの影響を受けることを示し、未使用の 2 つのフィルター ( disconnectFilterrejectLeaderFilter #1911 ) を削除します。
  • PD #1867でタイムスタンプを生成するのに 5 ミリ秒以上かかる場合、警告ログを出力します。
  • 使用できないエンドポイントをクライアントに渡すときにクライアントのログ レベルを下げる#1856
  • region_syncerレプリケーション プロセスで gRPC メッセージ パッケージが最大サイズを超える可能性がある問題を修正します#1952

ツール

  • Binlog
    • Drainer #788initial-commit-tsが「-1」に設定されている場合、PD から初期レプリケーション タイムスタンプを取得します
    • Drainer のCheckpointストレージをダウンストリームから切り離し、MySQL またはローカル ファイルへの保存Checkpointをサポートします#790
    • レプリケーション データベース/テーブル フィルタリングを構成するときに空の値を使用することによって引き起こされるDrainerpanicの問題を修正します#801
    • Drainer がDrainerファイルをダウンストリームに適用できないため、panicが発生した後にプロセスが終了せずにデッドロック状態になる問題を修正します#807
    • gRPC のGracefulStop #817が原因で、 Pumpが終了時にブロックする問題を修正します
    • TiDB ( #827以降) でDROP COLUMNステートメントの実行中に列が欠落している binlog を受信すると、 Drainerが失敗する問題を修正します。
  • TiDB Lightning
    • TiDB バックエンド#248用にmax-allowed-packetの構成 (デフォルトでは 64 M) を追加します。
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.