TiDB 2.1.17 リリースノート

発売日:2019年9月11日

TiDB バージョン: 2.1.17

TiDB アンシブル バージョン: 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 に増加します。

TiDB

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

TiKV

  • 場合によっては、リージョン内のキーをカウントする際の誤った結果を修正します#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コマンドを追加して、tombstone ストア レコードのクリアをサポートします#1705
  • スケジューリングをスピードアップするようオペレーターに積極的に働きかけるサポート#1686

ツール

  • Binlog
    • 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 と互換性のある 2.2.0 に更新します#914 , #919
  • リモート マシンのパスワードが期限切れになると、長い待ち時間が発生する問題を修正します#937#948
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.