📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

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 のメッセージサイズ制限である 1 GB に合わせてtxn-total-size-limitパラメータを設定してください。 #16941
    • 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 モードで PD または TiKV ポートへのアクセスを禁止する #312
      • ログ情報をデフォルトでtmpファイルに出力し、 TiDB Lightningの起動時にtmpファイルのパスを出力します#313

重要なバグ修正

  • TiDB

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

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

新機能

  • TiDB

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

    • tikv-ctl の暗号化デバッグをサポートし、暗号化ストレージが有効な場合に 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に変更します
    • システム負荷が低いときにファイル記述子を開くためのデータを最適化して、システムリソースの消費を削減します。
    • データストレージ容量を制限するために容量関連の設定パラメータを追加します
  • ツール

    • TiDB Lightning

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

      • cdc cli (changefeed) を使用してレプリケーションタスクの管理をサポート #546
    • Backup & Restore (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 の候補パスを計算するときにインデックスのTableFilter失われる問題を修正しました #16947
    • MergeJoinヒントを使用し、 TableDual演算子が存在する場合に物理クエリプランを生成できない問題を修正しました#17016
    • ステートメントサマリーテーブルのStmt_Type列の値の大文字と小文字の誤りを修正しました。 #17018
    • 異なるユーザーが同じtmp-storage-path を使用するとサービスを開始できないため、 Permission Deniedエラーが報告される問題を修正しました。 #16996
    • 結果の型がCASE WHEN などの複数の入力列によって決定される式に対して、 NotNullFlag結果の型が誤って設定される問題を修正しました。 #16995
    • ダーティストアが存在する場合にグリーンGCが未解決のロックを残す可能性がある問題を修正#16949
    • 複数の異なるロックを持つ単一のキーに遭遇したときに、グリーンGCが未解決のロックを残す可能性がある問題を修正しました#16948
    • サブクエリが親クエリ列を参照しているため、 INSERT VALUEステートメントに間違った値が挿入される問題を修正しました。 #16952
    • Float値にAND演算子を使用したときに誤った結果が出る問題を修正しました #16666
    • 高価なログのWAIT_TIMEフィールドの誤った情報を修正 #16907
    • 悲観的トランザクションモードでSELECT FOR UPDATE文がスローログに記録できない問題を修正 #16897
    • EnumまたはSetタイプの列でSELECT DISTINCTを実行したときに発生する誤った結果を修正#16892
    • SHOW CREATE TABLE文のauto_random_baseの表示エラーを修正 #16864
    • WHERE句のstring_valueの誤った値を修正する #16559
    • GROUP BYウィンドウ関数のエラーメッセージがMySQL と一致しない問題を修正しました #16165
    • データベース名に大文字の含まれている場合にFLASH TABLE文の実行が失敗する問題を修正しました #17167
    • 投影実行プログラムの不正確なメモリトレースを修正しました #17118
    • 異なるタイムゾーンのSLOW_QUERYテーブルで時間フィルタリングが正しく行われない問題を修正しました#17164
    • 仮想生成列でIndexMergeが使用された場合に発生するpanic問題を修正 #17126
    • INSTRLOCATE関数の大文字化の問題を修正 #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
    • ステートメントサマリーテーブルのEXEC_COUNT列にあるプリペアドステートメントのレコードの問題を修正しました。 #17086
    • ステートメントサマリーシステム変数を設定するときに値が検証されない問題を修正しました #17129
    • プランキャッシュが有効な場合に、オーバーフロー値を使用してUNSIGNED BIGINT主キーをクエリするとエラーが報告される問題を修正しました#17120
    • Grafana TiDB サマリーダッシュボードで、マシンインスタンスとリクエストタイプによる QPS 表示が誤っていた問題を修正しました。 #17105
  • TiKV

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

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

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

    • TiDB Binlog

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

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

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

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

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

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

    • Backup & Restore (BR)

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

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