TiDB 4.0.5 リリースノート

発売日:2020年8月31日

TiDB バージョン: 4.0.5

互換性の変更

  • TiDB

    • 複数のパーティションの ID 配列をサポートするようにdrop partitiontruncate partitionのジョブ引数を変更します#18930
    • add partitionレプリカをチェックするための削除のみの状態を追加します#18865

新機能

  • TiKV

    • エラー#8387のエラー コードを定義します。
  • ティフラッシュ

    • TiDB との統合ログ形式をサポート
  • ツール

    • TiCDC

      • Kafka SSL 接続のサポート#764
      • 古い値の出力をサポート#708
      • 列フラグ#796を追加します。
      • 以前のバージョンの DDL ステートメントとテーブル スキーマの出力をサポート#799

改良点

  • TiDB

    • 大きなユニオン クエリに対してDecodePlanのパフォーマンスを最適化する#18941
    • Region cache missエラー発生時の GC ロックスキャン回数を減らす#18876
    • クラスターのパフォーマンスに対する統計的フィードバックの影響を緩和する#18772
    • RPC 応答が返される前の操作のキャンセルをサポート#18580
    • HTTP API を追加して TiDB メトリクス プロファイルを生成する#18531
    • 分散分割テーブルのサポート#17863
    • Grafana #18679の各インスタンスの詳細なメモリ使用量を追加
    • EXPLAIN #18892の結果でBatchPointGet演算子の詳細なランタイム情報を表示します
    • EXPLAIN #18817の結果でPointGet演算子の詳細なランタイム情報を表示します
    • remove() #18395分のConsumeの潜在的なデッドロックを警告する
    • StrToIntStrToFloatの動作を改良し、JSON をdatetime 、およびtimestamp型に変換することをサポートします#18159
    • TableReaderオペレーター#18392のメモリー使用量の制限をサポート
    • batch copリクエスト#18999を再試行するときにバックオフが何度も発生しないようにする
    • ALTER TABLEアルゴリズムの互換性を向上#19270
    • 内側にシングルパーテーションテーブルサポートIndexJoinを作成する#19151
    • ログに無効な行が含まれている場合でも、ログ ファイルの検索をサポート#18579
  • PD

    • 特別なエンジン (TiFlash など) を備えたストアでのスキャッタリング領域のサポート#2706
    • リージョン HTTP API をサポートして、特定のキー範囲#2687のリージョンスケジューリングを優先します
    • リージョン分散後のリーダー分布を改善する#2684
    • TSO 要求#2678のテストとログをさらに追加します。
    • リージョンのリーダーが変更された後の無効なキャッシュ更新を回避する#2672
    • store.GetLimitが廃棄済みストアを返すことを許可するオプションを追加します#2743
    • PD リーダーとフォロワー間のリージョンリーダーの変更の同期をサポートします#2795
    • GC safepoint サービスをクエリするコマンドを追加します#2797
    • フィルター内のregion.Cloneの呼び出しを置き換えて、パフォーマンスを向上させます#2801
    • リージョンフロー キャッシュの更新を無効にするオプションを追加して、大規模なクラスター#2848のパフォーマンスを向上させます。
  • ティフラッシュ

    • CPU、I/O、RAM 使用量のメトリックとストレージ エンジンのメトリックを表示するための Grafana パネルを追加します。
    • Raftログの処理ロジックを最適化して I/O 操作を削減する
    • ブロックされたadd partitionの DDL ステートメントのリージョンスケジューリングを高速化する
    • DeltaTree のデルタ データの圧縮を最適化して、読み取りと書き込みの増幅を減らします
    • 複数のスレッドを使用してスナップショットを前処理することにより、リージョンのスナップショットを適用するパフォーマンスを最適化します
    • TiFlash の読み取り負荷が低いときにファイル記述子を開く数を最適化して、システム リソースの消費を削減します。
    • TiFlash の再起動時に作成される不要な小さなファイルの数を最適化します
    • データ ストレージの保存時の暗号化をサポート
    • データ転送用の TLS をサポート
  • ツール

    • TiCDC

      • TSO #801を取得する頻度を下げる
    • バックアップと復元 (BR)

      • 一部のログを最適化する#428
    • Dumpling

      • MySQL #121のロック時間を短縮するために、接続が作成された後に FTWRL を解放します。
    • TiDB Lightning

      • 一部のログを最適化する#352

バグの修正

  • TiDB

    • builtinCastRealAsDecimalSig関数でErrTruncate/Overflowエラーが誤って処理されるために発生するshould ensure all columns have the same lengthエラーを修正します#18967
    • パーティション化されたテーブル#18837pre_split_regionsテーブル オプションが機能しない問題を修正します。
    • 大規模なトランザクションが途中で終了する可能性がある問題を修正します#18813
    • collation関数を使用すると間違ったクエリ結果が得られる問題を修正#18735
    • getAutoIncrementID()関数がtidb_snapshotセッション変数を考慮しないというバグを修正します。これにより、ダンパー ツールがtable not existエラー#18692で失敗する可能性があります。
    • select a from t having t.a #18434のような SQL ステートメントのunknown column errorを修正します
    • パーティション キーが整数型#18186の場合、64 ビットの符号なし型をハッシュ パーティション テーブルに書き込むとオーバーフローが発生し、予期しない負の数が返されるというpanicの問題を修正します。
    • char関数の間違った動作を修正#18122
    • ADMIN REPAIR TABLEステートメントが範囲パーティション#17988の式で整数を解析できないという問題を修正します
    • SET CHARSETステートメント#17289の間違った動作を修正します。
    • collation関数#17231の間違った結果につながる間違った照合順序設定によって引き起こされたバグを修正します。
    • STR_TO_DATEのフォーマット トークン '%r''%h' の処理が MySQL #18727の処理と矛盾する問題を修正
    • cluster_infoテーブルの TiDB のバージョン情報が PD/TiKV のバージョン情報と一致しない問題を修正#18413
    • 悲観的なトランザクションの既存のチェックを修正します#19004
    • union select for updateを実行すると同時競合#19006が発生する可能性がある問題を修正
    • applyPointGet演算子#19046の子がある場合の間違ったクエリ結果を修正
    • IndexLookUpApply演算子#19496の内側にある場合に発生する誤った結果を修正します。
    • anti-semi-joinクエリの誤った結果を修正する#19472
    • BatchPointGet #19456の誤った使用による誤った結果を修正
    • UnionScanApply演算子#19496の内側にある場合に発生する誤った結果を修正します。
    • EXECUTEステートメントを使用して高価なクエリ ログ#17419を出力することによって引き起こされるpanicを修正します。
    • 結合キーがENUMまたはSET #19235の場合のインデックス結合エラーを修正
    • インデックス列#19358NULLの値が存在する場合、クエリ範囲を構築できない問題を修正
    • グローバル構成の更新によって発生するデータ競合の問題を修正します#17964
    • 大文字のスキーマで文字セットを変更するときに発生するpanicの問題を修正します#19286
    • ディスク スピル アクション中に一時ディレクトリを変更することによって発生する予期しないエラーを修正します#18970
    • 10 #19131型の間違ったハッシュ キーを修正します。
    • PointGetおよびBatchPointGet演算子がパーティション選択構文を考慮せず、誤った結果が得られる問題を修正します#19141
    • Apply演算子をUnionScan演算子#19104と一緒に使用した場合の誤った結果を修正します。
    • インデックス付き仮想生成列が間違った値#17989を返すバグを修正
    • ランタイム統計のロックを追加して、同時実行によるpanicを修正します#18983
  • TiKV

    • Hibernate リージョンが有効な場合にリーダー選出を高速化する#8292
    • スケジュール#8357中のメモリ リークの問題を修正します。
    • リーダーがあまりにも早く休止状態になるのを防ぐために、 hibernate-timeoutの構成項目を追加します#8208
  • PD

    • リーダー交代時にTSOリクエストが失敗する場合がある不具合を修正#2666
    • 配置ルールが有効になっている場合、リージョンレプリカを最適な状態にスケジュールできないことがある問題を修正し#2720
    • 配置ルールが有効な場合にBalance Leaderが機能しない問題を修正します#2726
    • 異常なストアがストア負荷統計から除外されない問題を修正します#2805
  • ティフラッシュ

    • データベースまたはテーブルの名前に特殊文字が含まれている場合、以前のバージョンからアップグレードした後、TiFlash が正常に起動できない問題を修正します。
    • 初期化中に例外がスローされると、TiFlash プロセスが終了できない問題を修正します。
  • ツール

    • バックアップと復元 (BR)

      • バックアップ サマリー ログ#472で合計 KV と合計バイト数の計算が重複する問題を修正します。
      • このモードに切り替えた後、最初の 5 分間はインポート モードが機能しないという問題を修正します#473
    • Dumpling

      • FTWRL ロックが時間内に解除されない問題を修正#128
    • TiCDC

      • 失敗したchangefeedが削除できない問題を修正#782
      • ハンドル インデックス#787として 1 つの一意のインデックスを選択して、無効なdeleteイベントを修正します。
      • 停止したchangefeed #797のチェックポイントを超えて GC セーフポイントが転送されるバグを修正
      • ネットワーク I/O 待機がタスクの終了をブロックするバグを修正します#825
      • 一部の不要なデータが誤ってダウンストリームに複製される可能性があるバグを修正します#743
    • TiDB Lightning

      • TiDB バックエンド#357使用時の空のバイナリ/16 進リテラルの構文エラーを修正
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.