TiDB 4.0 RC.2 リリース ノート

発売日:2020年5月15日

TiDB バージョン: 4.0.0-rc.2

互換性の変更

  • TiDB

    • TiDB Binlogが有効な場合、単一トランザクションのサイズ制限 (100 MB) を削除します。現在、トランザクションのサイズ制限は 10 GB です。ただし、TiDB Binlogが有効で、ダウンストリームが Kafka である場合は、Kafka #16941の 1 GB のメッセージ サイズ制限に従ってtxn-total-size-limitパラメーターを構成します。
    • デフォルトの時間範囲のクエリから、テーブルCLUSTER_LOGのクエリ時に時間範囲が指定されていない場合にエラーを返し、指定された時間範囲を要求するように動作を変更します#17003
    • CREATE TABLEステートメントを使用してパーティションテーブルを作成するときに、サポートされていないsub-partitionまたはlinear hashオプションが指定された場合、オプションが無視されたパーティションテーブルではなく、通常のテーブルが作成されます。 #17197
  • TiKV

    • 暗号化関連の構成をセキュリティ関連の構成に移動します。つまり、TiKV 構成ファイルの[encryption][security.encryption] #7810に変更します。
  • ツール

    • TiDB Lightning

      • 互換性を向上させるために、データをインポートするときにデフォルトの SQL モードをONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USERに変更します#316
      • tidb-backend モード#312での PD または TiKV ポートへのアクセスを禁止します。
      • デフォルトでログ情報を tmp ファイルに出力し、 TiDB Lightning の起動時に tmp ファイルのパスを出力します#313

重要なバグ修正

  • TiDB

    • WHERE句に同等の条件が 1 つしかない場合、間違ったパーティションが選択される問題を修正#17054
    • WHERE句に文字列列#16660のみが含まれている場合に、誤ったインデックス範囲を構築することによって引き起こされる誤った結果の問題を修正します。
    • DELETE操作#16991の後のトランザクションでPointGetクエリを実行するときに発生するpanicの問題を修正します。
    • エラー発生時に GC ワーカーがデッドロックに遭遇する可能性がある問題を修正#16915
    • TiKV 応答が遅いがダウンしていない場合は、不必要な RegionMiss の再試行を回避します#16956
    • ログ出力を妨げる問題を解決するには、MySQL プロトコルのハンドシェイク フェーズでクライアントのログ レベルをDEBUGに変更します#16881
    • TRUNCATE操作後のテーブルで定義されたPRE_SPLIT_REGIONS情報に従ってリージョンが事前分割されない問題を修正#16776
    • 2 フェーズ コミット#16876の第 2 フェーズ中に TiKV が利用できない場合の再試行によって引き起こされるゴルーチンの高騰の問題を修正
    • 一部の式をプッシュダウンできない場合のステートメント実行のpanicの問題を修正します#16869
    • パーティションテーブル#17124に対する IndexMerge 操作の間違った実行結果を修正しました。
    • Memory Tracker #17234のミューテックス競合によって引き起こされるパフォーマンス低下wide_tableを修正しました。
  • TiFlash

    • データベースまたはテーブルの名前に特殊文字が含まれている場合、アップグレード後にシステムが正常に起動できない問題を修正

新機能

  • TiDB

    • データをバックアップおよび復元するためのBACKUPおよびRESTOREコマンドのサポートを追加#16960
    • コミット前の単一リージョン内のデータ量の事前チェックと、データ量がしきい値#16959を超えた場合のリージョンの事前分割をサポートします。
    • 最後に実行されたステートメントがプラン キャッシュ#16830にヒットしたかどうかを示すために、スコープSession持つ新しいLAST_PLAN_FROM_CACHE変数を追加します。
    • スローログでのCop_time情報とSLOW_LOGテーブルの記録をサポート#16904
    • Go ランタイム#16928のメモリ状態を監視するメトリクスを Grafana に追加します。
    • 一般ログ#16946でのforUpdateTSおよびRead Consistency分離レベル情報の出力のサポート
    • TiKVリージョン#16925でのロック解決の重複リクエストの折りたたみをサポート
    • SET CONFIGステートメントを使用した PD/TiKV ノードの構成変更のサポート#16853
    • CREATE TABLEステートメントのauto_randomオプションをサポートします#16813
    • TiKV がリクエストをより適切にスケジュールおよび処理できるように、DistSQL リクエストに TaskID を割り当てます#17155
    • MySQL クライアントへのログイン後の TiDBサーバーのバージョン情報の表示をサポート#17187
    • GROUP_CONCAT機能#16990ORDER BY句をサポートします。
    • ステートメントがプラン キャッシュ#17121にヒットしたかどうかを示す、スロー ログ内のPlan_from_cache情報の表示をサポートします。
    • TiDB ダッシュボードにTiFlashマルチディスク展開の容量情報を表示できる機能を追加
    • ダッシュボードに SQL ステートメントを使用してTiFlashログをクエリする機能を追加
  • TiKV

    • tikv-ctl の暗号化デバッグをサポートし、暗号化storageが有効な場合に tikv-ctl を使用してクラスターを操作および管理できるようにします#7698
    • スナップショット#7712でのロックカラムファミリーの暗号化のサポート
    • Grafana ダッシュボードのヒートマップを使用してRaftstoreレイテンシーの概要を確認し、ジッターの問題をより適切に診断します#7717
    • gRPC メッセージのサイズの上限設定のサポート#7824
    • Grafana ダッシュボードに暗号化関連の監視メトリクスを追加する#7827
    • アプリケーション層プロトコル ネゴシエーション (ALPN) #7825のサポート
    • Titan #7818に関する統計をさらに追加します
    • タスクの優先度が同じトランザクション内の別のタスクによって低下することを避けるために、クライアントによって提供されたタスク ID を統合読み取りプール内の識別子として使用するサポート#7814
    • batch insertリクエスト#7718のパフォーマンスを向上させる
  • PD

    • ノードをオフラインにするときのピア削除の速度制限を排除します#2372
  • TiFlash

    • Grafana のRead Indexの Count グラフの名前をOpsに変更します。
    • システム負荷が低いときにファイル記述子を開くためのデータを最適化し、システム リソースの消費を削減します。
    • データstorage容量を制限するには、容量関連の構成パラメータを追加します。
  • ツール

    • TiDB Lightning

      • tidb-lightning-ctl にfetch-modeサブコマンドを追加して、TiKV クラスター モード#287を出力します。
    • TiCDC

      • cdc cli (変更フィード) #546を使用したレプリケーション タスクの管理のサポート
    • バックアップと復元 (BR)

      • バックアップ中の GC 時間の自動調整をサポート#257
      • データを復元するときに PD パラメータを調整して復元を高速化します#198

バグの修正

  • TiDB

    • 複数の演算子での式の実行にベクトル化を使用するかどうかを決定するロジックを改善します#16383
    • IndexMergeヒントでデータベース名が正しくチェックできない問題を修正#16932
    • シーケンス オブジェクトの切り捨てを禁止します#17037
    • INSERT / UPDATE / ANALYZE / DELETEステートメントがシーケンス オブジェクトに対して実行できる問題を修正#16957
    • ブートストラップ フェーズの内部 SQL ステートメントが、ステートメント サマリー テーブル#17062で内部クエリとして正しくマークされない問題を修正します。
    • TiFlashではサポートされているが TiKV ではサポートされていないフィルター条件がIndexLookupJoin演算子#17036にプッシュダウンされた場合に発生するエラーを修正しました。
    • 照合順序が有効になった後に発生する可能性があるLIKE式の同時実行性の問題を修正します#16997
    • 照合順序が有効になった後、 LIKE関数がRangeインデックスを正しく構築できない問題を修正します#16783
    • Plan Cacheステートメントがトリガーされた後に@@LAST_PLAN_FROM_CACHEを実行すると、間違った値が返される問題を修正#16831
    • IndexMerge #16947の候補パスを計算するときにインデックスのTableFilter欠落する問題を修正
    • MergeJoinヒントを使用し、 TableDual演算子が存在する場合、物理クエリ プランが生成できない問題を修正します#17016
    • ステートメントの概要表#17018Stmt_Type列の値の大文字と小文字の違いを修正します。
    • 異なるユーザーが同じtmp-storage-path #16996を使用するとサービスを開始できないため、 Permission Deniedエラーが報告される問題を修正
    • 結果の型が複数の入力列によって決定される式 ( CASE WHEN #16995など) に対してNotNullFlag結果の型が誤って設定される問題を修正します。
    • ダーティ ストアが存在する場合、緑色の GC が未解決のロックを残す可能性がある問題を修正します#16949
    • 単一のキーに複数の異なるロックが設定されている場合に、緑色の GC が未解決のロックを残す可能性がある問題を修正します#16948
    • サブクエリが親クエリ列#16952を参照しているため、 INSERT VALUEステートメントに間違った値が挿入される問題を修正します。
    • Float#16666に対してAND演算子を使用すると、誤った結果が表示される問題を修正します。
    • 高価なログ#16907WAIT_TIMEフィールドの誤った情報を修正
    • 悲観的トランザクションモード#16897のスローログにSELECT FOR UPDATEステートメントが記録できない問題を修正
    • EnumまたはSetタイプ#16892の列に対してSELECT DISTINCT実行したときに発生する間違った結果を修正しました。
    • SHOW CREATE TABLEステートメント#16864auto_random_baseの表示エラーを修正
    • WHERE#16559の誤った値string_valueを修正します。
    • GROUP BY window関数のエラーメッセージがMySQL #16165のエラーメッセージと一致しない問題を修正
    • データベース名に大文字の#17167が含まれる場合、 FLASH TABLEステートメントの実行が失敗する問題を修正します。
    • Projection Executor #17118の不正確なメモリトレースを修正しました。
    • 異なるタイムゾーンでのSLOW_QUERYテーブルの誤った時間フィルタリングの問題を修正します#17164
    • 仮想生成列#17126IndexMerge使用したときに発生するpanicの問題を修正
    • INSTRおよびLOCATE関数の大文字化の問題を修正します#17068
    • tidb_allow_batch_cop構成を有効にした後、 tikv server timeoutエラーが頻繁に報告される問題を修正#17161
    • Float 型に対してXORの操作を実行した結果が MySQL 8.0 の結果と一致しない問題を修正#16978
    • サポートされていないALTER TABLE REORGANIZE PARTITIONステートメントが実行されたときにエラーが報告されない問題を修正します#17178
    • EXPLAIN FORMAT="dot" FOR CONNECTION IDサポートされていないプランに遭遇した場合にエラーが報告される問題を修正#17160
    • ステートメント概要テーブル#17086EXEC_COUNT列のプリペアドステートメントのレコードの問題を修正します。
    • Statement Summary システム変数#17129を設定するときに値が検証されない問題を修正します。
    • プラン キャッシュが有効になっている場合に、オーバーフロー値を使用して主キーUNSIGNED BIGINTをクエリすると、エラーが報告される問題を修正します#17120
    • Grafana TiDB Summaryダッシュボード#17105上のマシン インスタンスおよびリクエスト タイプによる誤った QPS 表示を修正しました。
  • TiKV

    • 復元#7632後に空きリージョンが多数生成される問題を修正
    • 順不同の読み取りインデックス応答を受信したときのRaftstoreのpanic問題を修正#7370
    • 統合スレッド プールが有効になっている場合、無効なstorageまたはコプロセッサ読み取りプール構成が拒否されないことがある問題を修正します#7513
    • TiKVサーバーがシャットダウンされているときのjoin操作のpanicの問題を修正します#7713
    • 診断 API #7776経由で TiKV 低速ログを検索すると結果が返されない問題を修正
    • TiKV ノードを長時間実行すると顕著なメモリの断片化が発生する問題を修正#7556
    • 無効な日付が格納されている場合に SQL ステートメントの実行が失敗する問題を修正します#7268
    • #7739からバックアップデータを復元できない問題を修正
    • 保存時の暗号化中に KMS キー ID が検証されない問題を修正#7719
    • 異なるアーキテクチャのコンパイラーにおけるコプロセッサーの根本的な正確性の問題を修正します#7714 #7730
    • 暗号化が有効な場合のsnapshot ingestionエラーを修正します#7815
    • Invalid cross-device link設定ファイル書き換え時のエラーを修正#7817
    • 設定ファイルを空のファイルに書き込むときに間違った toml 形式が発生する問題を修正します#7817
    • Raftstoreの破壊されたピアが引き続きリクエストを処理できる問題を修正します#7836
  • PD

    • pd-ctl #2399region keyコマンド使用時に発生する404問題を修正
    • TSO および ID 割り当ての監視メトリクスが Grafana ダッシュボードに表示されない問題を修正します#2405
    • pd-recover が Docker イメージに含まれていない問題を修正#2406
    • データ ディレクトリのパスを絶対パスに解析して、TiDB ダッシュボードに PD 情報が正しく表示されない可能性がある問題を修正します#2420
    • pd-ctl #2416scheduler config shuffle-region-schedulerコマンド使用時にデフォルト出力がない問題を修正
  • TiFlash

    • 一部のシナリオで誤った使用容量情報が報告される問題を修正
  • ツール

    • TiDBBinlog

      • ダウンストリームがKafka #962の場合、タイプmediumintのデータが処理されない問題を修正
      • DDL 内のデータベース名がキーワード#961である場合、reparo が DDL ステートメントの解析に失敗する問題を修正します。
    • TiCDC

      • TZ環境変数が設定されていない場合に間違ったタイムゾーンが使用される問題を修正します#512

      • 一部のエラーが正しく処理されないため、サーバーの終了時に所有者がリソースをクリーンアップしない問題を修正します#528

      • TiKV #531に再接続するときに TiCDC が停止する可能性がある問題を修正

      • テーブルスキーマ#534の初期化時のメモリ使用量を最適化します。

      • watchモードを使用してレプリケーション ステータスの変化を監視し、準リアルタイム更新を実行してレプリケーションの遅延を削減します#481

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

      • BR がauto_random属性#241を持つテーブルを復元した後、データを挿入するとduplicate entryエラーがトリガーされる可能性がある問題を修正します。

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

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