TiDB 2.1.17 リリースノート

発売日: 2019年9月11日

TiDB バージョン: 2.1.17

TiDB Ansible バージョン: 2.1.17

  • 新機能

    • TiDBのSHOW TABLE REGIONS構文にWHERE句を追加する
    • TiKVとPDにconfig-check機能を追加して構成項目をチェックする
    • pd-ctl にremove-tombstoneコマンドを追加して、トゥームストーン ストアのレコードをクリアします。
    • Reparoにworker-counttxn-batch設定項目を追加して回復速度を制御します
  • 改善点

    • 積極的にプッシュするオペレーターをサポートすることでPDのスケジュールプロセスを最適化します
    • TiKV の起動プロセスを最適化し、ノードの再起動によって発生するジッターを軽減します。
  • 行動の変化

    • TiDB スロークエリログの最後の再試行時間から最初の実行時間への変更start ts
    • TiDB スロークエリログのIndex_idsフィールドをIndex_namesフィールドに置き換えて、スロークエリログの使いやすさを向上させます。
    • TiDB の構成ファイルにsplit-region-max-numパラメータを追加して、 SPLIT TABLE構文で許可されるリージョンの最大数を変更します。デフォルト構成では、1,000 から 10,000 に増加されます。

ティビ

  • SQL オプティマイザー
    • EvalSubqueryビルドExecutor #11811中にエラーが発生したときにエラーメッセージが正しく返されない問題を修正
    • Index Lookup Joinで外部テーブルの行数が単一バッチの行数より多い場合にクエリ結果が正しくない可能性がある問題を修正しました。Index Lookup Joinの機能範囲を拡張しました。1 UnionScan IndexJoin #11843のサブノードとして使用できます。
    • 統計フィードバック処理中に無効なキーが発生する可能性がある状況に備えて、 SHOW STAT_BUCKETS構文に無効なキー( invalid encoded key flag 252など)の表示を追加します#12098
  • SQL実行エンジン
    • CAST関数が数値型#11712を変換するときに、最初にUINTに変換される数値によって発生するいくつかの誤った結果 ( select cast(13835058000000000000 as double)など) を修正しました。
    • DIV計算の被除数が小数で、この計算に負の数#11812が含まれている場合に計算結果が不正確になる可能性がある問題を修正しました。
    • SELECTステートメントEXPLAINを実行するときに一部の文字列がINT型に変換されることで発生する MySQL の非互換性の問題を修正するためにConvertStrToIntStrict関数を追加します#11892
    • EXPLAIN ... FOR CONNECTIONが使用されている場合にstmtCtxの設定が間違っているためにExplain結果が正しくない可能性がある問題を修正しました#11978
    • unaryMinus関数によって返される結果が MySQL と互換性がない問題を修正しました。これは、整数結果が#11990をオーバーフローしたときに 10 進数以外の結果になるためです。
    • LOAD DATA文の実行時にカウント順序が原因でlast_insert_id()間違っている可能性がある問題を修正しました#11994
    • ユーザーが自動増分列データを明示的・暗黙的に混合して書き込む場合にlast_insert_id()間違っている可能性がある問題を修正#12001
    • JSON_UNQUOTE関数の引用符の過剰使用バグを修正: 二重引用符で囲まれた値 ( " ) のみ引用符を外す必要があります。たとえば、「 SELECT JSON_UNQUOTE("\\\\") 」の結果は「 \\ 」になります (変更なし) #12096
  • サーバ
    • TiDBトランザクション#11878を再試行する際、最後の再試行時間から最初の実行時間までの変更start tsスロークエリログに記録される
    • LockResolverのトランザクションのキーの数を追加して、リージョン全体のスキャン操作を回避し、キーの数が減った場合にロックを解決するコストを削減します#11889
    • スロークエリログ#11886でフィールドsucc値が正しくない可能性がある問題を修正
    • スロークエリログのIndex_idsフィールドをIndex_namesフィールドに置き換えて、スロークエリログ#12063の使いやすさを向上させます。
    • Duration-含まれる場合 ( select time(‘--’)など)、TiDB が- EOF エラーとして解析することで発生する接続切断の問題を修正しました#11910
    • 無効なリージョンをRegionCacheからより迅速に削除して、このリージョン#11931に送信されるリクエストの数を減らします。
    • oom-action = "cancel"と OOM がInsert Into … Select構文#12126で発生したときに OOMpanicの問題を誤って処理することによって発生する接続切断の問題を修正しました。
  • DDL
    • tikvSnapshotのリバーススキャンインターフェースを追加して、DDL 履歴ジョブを効率的にクエリします。このインターフェースを使用すると、 ADMIN SHOW DDL JOBSの実行時間が大幅に短縮されます#11789
    • CREATE TABLE ... PRE_SPLIT_REGION構文の改善: PRE_SPLIT_REGION = N #11797の場合、事前分割領域の数を2^(N-1)から2^Nに変更します。
    • オンラインワークロードに大きな影響を与えないように、 Add Index操作のバックグラウンドワーカースレッドのデフォルトパラメータ値を減らします#11875
    • SPLIT TABLE構文の動作を改善します。3 を使用して領域SPLIT TABLE ... REGIONS Nを分割すると、N 個のデータリージョンと 1 つのインデックスリージョンが生成されます#11929
    • 設定ファイルにsplit-region-max-numパラメータ(デフォルトでは10000 )を追加して、 SPLIT TABLE構文で許可されるリージョンの最大数を調整可能にします#12080
    • システムがbinlog#12121を書き込むときに、この句のコメントが解除されたPRE_SPLIT_REGIONSが原因で、下流のMySQLでCREATE TABLE句を解析できない問題を修正しました。
    • SHOW TABLE … REGIONSSHOW TABLE .. INDEX … REGIONS #12124 WHEREサブ条項を追加する
  • モニター
    • tikvclient #12092のgRPC接続エラーをカウントするためにconnection_transient_failure_count監視メトリックを追加します。

ティクヴ

  • 一部のケースでリージョン内のキーをカウントした結果が誤っていた問題を修正#5415
  • TiKVにconfig-checkオプションを追加して、TiKV構成項目が有効かどうかを確認します#5391
  • 起動プロセスを最適化して、ノードの再起動によって発生するジッターを軽減する#5277
  • トランザクション#5339のロック解決を高速化するために、場合によってはロック解決プロセスを最適化します。
  • get_txn_commit_infoプロセスを最適化してトランザクションのコミットを高速化する#5062
  • Raft関連のログを簡素化する#5425
  • TiKVが異常終了する場合がある問題を解決する#5441

PD

  • PDにconfig-checkオプションを追加して、PD構成項目が有効かどうかを確認します#1725
  • pd-ctl にremove-tombstoneコマンドを追加して、トゥームストーン ストア レコードのクリアをサポートする#1705
  • オペレーターに積極的にスケジュールのスピードアップを促すサポート#1686

ツール

  • TiDBBinlog
    • Reparoにworker-counttxn-batch設定項目を追加して回復速度を制御する#746
    • Drainerのメモリ使用量を最適化して並列実行効率を向上させる#735
    • Pumpが正常に終了できないことがあるバグを修正#739
    • PumpのLevelDBの処理ロジックを最適化し、GC #720の実行効率を向上
  • TiDB Lightning
    • チェックポイント#239からデータを再インポートすると tidb-lightning がクラッシュする可能性があるバグを修正しました。

TiDB アンシブル

  • Sparkバージョンを2.4.3にアップデートし、TiSparkバージョンをSpark 2.4.3 #914#919と互換性のある2.2.0にアップデートします。
  • リモートマシンのパスワードの有効期限が切れたときに長い待ち時間が発生する問題を修正#937#948

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