TiDB 5.4.1 リリースノート

リリース日:2022年5月13日

TiDB バージョン: 5.4.1

互換性の変更

TiDB v5.4.1 では、製品設計に互換性の変更は導入されていません。ただし、このリリースでのバグ修正により互換性も変更される可能性があることに注意してください。詳細については、 バグ修正参照してください。

改善点

  • ティビ

    • _tidb_rowid#31543を読み取るクエリにPointGetプランの使用をサポート
    • Applyオペレータのログとメトリクスを追加して、並列#33887であるかどうかを示します。
    • 統計収集に使用される分析バージョン2のTopNプルーニングロジックを改善する#34256
    • Grafanaダッシュボードで複数のKubernetesクラスターの表示をサポート#32593
  • ティクヴ

    • Grafanaダッシュボードで複数のKubernetesクラスターの表示をサポート#12104
  • PD

    • Grafanaダッシュボードで複数のKubernetesクラスターの表示をサポート#4673
  • TiFlash

    • Grafanaダッシュボードで複数のKubernetesクラスターの表示をサポート#4129
  • ツール

    • ティCDC

      • Grafanaダッシュボードで複数のKubernetesクラスターをサポート#4665
      • Kafka プロデューサーの設定パラメータを公開して、TiCDC #4385で設定できるようにします。
    • TiDB データ移行 (DM)

      • Syncer が/tmpではなく DM ワーカーの作業ディレクトリを使用して内部ファイルを書き込み、タスクが停止した後にディレクトリを消去する#4107をサポートします。

バグ修正

  • ティビ

    • TiDBのdate_format '\n' MySQLと互換性のない方法で処理する問題を修正#32232
    • ENUM列目またはSET列目のエンコードが間違っているためにTiDBが間違ったデータを書き込む問題を修正しました#32302
    • 特定のケースで Merge Join 演算子が間違った結果を返す問題を修正#33042
    • 相関サブクエリが定数#32089返すときに TiDB が誤った結果を取得する問題を修正しました。
    • TiFlash が空の範囲を持つテーブルの読み取りをまだサポートしていないにもかかわらず、 TiFlashを使用して空の範囲を持つテーブルをスキャンすると、TiDB が間違った結果を取得する問題を修正しました#33083
    • TiDB #31638で新しい照合順序が有効になっているときに、 ENUMまたはSET列のMAXまたはMIN関数が間違った結果を返す問題を修正しました。
    • クエリがエラーを報告したときに CTE がブロックされる可能性があるバグを修正#31302
    • 列挙値#32428の Nulleq 関数の誤った範囲計算結果を修正
    • ChunkRPC #31981 #30880使用してデータをエクスポートする際の TiDB OOM を修正
    • tidb_restricted_read_onlyが有効になっているときにtidb_super_read_onlyが自動的に有効にならないバグを修正#31745
    • 照合順序を伴うgreatestまたはleast関数が間違った結果を返す問題を修正#31789
    • データがエスケープ文字#31589で壊れている場合のロード データpanicを修正
    • インデックスルックアップ結合#30468使用してクエリを実行するときに発生するinvalid transactionエラーを修正
    • left join #31321を使用して複数のテーブルのデータを削除した場合の誤った結果を修正
    • TiDB がTiFlash #32814に重複したタスクをディスパッチする可能性があるバグを修正
    • v4.0 #33588からアップグレードされたクラスターでall権限の付与が失敗する可能性がある問題を修正しました。
    • MySQL バイナリ プロトコル#33509でテーブル スキーマを変更した後にプリペアドステートメントを実行するときに発生するセッションpanicを修正しました。
    • tidb_enable_vectorized_expressionが有効になっているcompress()式を持つ SQL 文を実行すると失敗する問題を修正しました#33397
    • reArrangeFallback機能#30353による CPU 使用率の高騰の問題を修正
    • 新しいパーティションが追加されたときにテーブル属性がインデックス化されない問題と、パーティションが変更されたときにテーブル範囲情報が更新されない問題を修正しました#33929
    • 初期化中のテーブルのTopN情報が正しくソートされないバグを修正#34216
    • 識別できないテーブル属性#33665をスキップして、 INFORMATION_SCHEMA.ATTRIBUTESテーブルから読み取るときに発生するエラーを修正します
    • @@tidb_enable_parallel_applyが設定されていても、 orderプロパティが存在する場合にApply演算子が並列化されないバグを修正#34237
    • sql_mode NO_ZERO_DATE #34099に設定されている場合に'0000-00-00 00:00:00' datetime列に挿入されるバグを修正
    • INFORMATION_SCHEMA.CLUSTER_SLOW_QUERYテーブルをクエリしたときに TiDBサーバーのメモリが不足する可能性がある問題を修正しました。この問題は、Grafana ダッシュボード#33893で遅いクエリをチェックしたときに発生する可能性があります。
    • NOWAIT文で実行中のトランザクションがロック#32754に遭遇してもすぐに戻らないバグを修正
    • GBK文字セットとgbk_bin照合順序#31308でテーブルを作成するときに失敗するバグを修正しました。
    • enable-new-charsetonの場合、照合順序付きのGBK文字セット テーブルを作成すると、「不明な文字セット」エラー#31297が発生して失敗するバグを修正しました。
  • ティクヴ

    • マージ対象のリージョンが無効であるため、TiKV がパニックを起こしてピアを予期せず破棄する問題を修正#12232
    • 古いメッセージにより TiKV がpanicを起こすバグを修正#12023
    • メモリメトリックのオーバーフローによって発生する断続的なパケット損失とメモリ不足 (OOM) の問題を修正しました#12160
    • Ubuntu 18.04 #9765でTiKVがプロファイリングを実行するときに発生する潜在的なpanic問題を修正
    • レプリカ読み取りが線形化可能性#12109に違反する可能性があるバグを修正
    • リージョン#12048をマージする際に、ターゲットピアが初期化されずに破棄されたピアに置き換えられたときに発生するTiKVpanicの問題を修正しました。
    • TiKV が 2 年以上実行されている場合にpanicする可能性があるバグを修正#11940
    • 解決ロックを必要とする領域の数を減らすことで、TiCDC の回復時間を短縮します (手順#11993
    • ピアステータスがApplying #11746ときにスナップショットファイルを削除すると発生するpanic問題を修正しました。
    • ピアを破棄するとレイテンシーが大きくなる可能性がある問題を修正#10210
    • リソースメータリング#12234の無効なアサーションによって発生するpanic問題を修正
    • 一部のコーナーケースでスコア計算が遅くなり不正確になる問題を修正#12254
    • resolved_tsモジュールによって引き起こされたOOM問題を修正し、さらにメトリック#12159を追加します
    • ネットワークが貧弱な場合に、正常にコミットされた楽観的トランザクションがWrite Conflictエラーを報告する可能性がある問題を修正しました#34066
    • 劣悪なネットワークでレプリカ読み取りが有効になっている場合に発生する TiKVpanicの問題を修正#12046
  • PD

    • dr-autosyncDurationフィールドが動的に構成できない問題を修正#4651
    • 大容量のストア(たとえば 2T)が存在する場合、完全に割り当てられた小さなストアを検出できず、バランス演算子が生成されない問題を修正しました#4805
    • ラベル分布にメトリック#4825の残余ラベルがある問題を修正
  • TiFlash

    • TLS が有効になっているときに発生するpanic問題を修正#4196
    • 遅延リージョンピア#4437でのリージョンマージによって発生する可能性のあるメタデータ破損を修正
    • エラーが発生した場合にJOIN含むクエリがハングする可能性がある問題を修正しました#4195
    • MPP タスクがスレッドを永久にリークする可能性があるバグを修正#4238
    • FLOAT DECIMAL #3998にキャストするときに発生するオーバーフローを修正
    • 期限切れのデータがゆっくりとリサイクルされる問題を修正#4146
    • ローカルトンネルが有効になっている場合、キャンセルされた MPP クエリによってタスクが永久にハングアップする可能性があるバグを修正#4229
    • クエリがキャンセルされたときに発生するメモリリークの問題を修正#4098
    • DATETIME DECIMAL #4151にキャストするときに発生する誤った結果を修正
    • Snapshot複数の DDL 操作#4072と同時に適用された場合にTiFlashpanicが発生する可能性がある問題を修正
    • 無効なstorageディレクトリ構成が予期しない動作を引き起こすバグを修正#4093
    • 一部の例外が適切に処理されないバグを修正#4101
    • INT DECIMALにキャストするとオーバーフロー#3920が発生する可能性がある問題を修正
    • 複数値式#4016INの結果が正しくない問題を修正
    • 日付の形式で'\n'無効な区切り文字として認識される問題を修正#4036
    • 読み取り負荷が高い状態で列を追加した後に発生する可能性のあるクエリエラーを修正#3967
    • メモリ制限が有効になっているときに発生するpanic問題を修正#3902
    • DTFiles #4778の潜在的なデータ破損を修正
    • 削除操作が多数あるテーブルをクエリするときに発生する可能性のあるエラーを修正#4747
    • TiFlash が「Keepalive watchdog fired」エラーをランダムに多数報告するバグを修正#4192
    • 領域範囲に一致しないデータがTiFlashノード#4414に残るバグを修正
    • GC #4511後に空のセグメントをマージできないバグを修正
  • ツール

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

      • バックアップ再試行中に暗号化情報が失われた場合に復元操作が失敗するバグを修正#32423
      • BRがRawKV #32607バックアップに失敗する問題を修正
      • 増分復元後にテーブルにレコードを挿入するときに重複する主キーを修正する#33596
      • BR増分リストアが空のクエリ#33322を含む DDL ジョブにより誤ってエラーを返すバグを修正しました。
      • 復元操作が完了した後にリージョンが不均等に分散される可能性がある問題を修正#31034
      • 復元中にリージョンが一致していない場合にBR が十分な回数再試行しない問題を修正#33419
      • 小さなファイルのマージが有効になっているときにBRが時々panic可能性がある問題を修正#33801
      • BRまたはTiDB Lightning が異常終了した後にスケジューラが再開しない問題を修正#33546
    • ティCDC

      • 所有者の変更によって生じた誤ったメトリックを修正#4774
      • Canal-JSON nil #4736サポートしていないために発生する可能性がある TiCDCpanic問題を修正
      • Unified Sorter #4447で使用されるワーカープールの安定性の問題を修正
      • 一部のケースでシーケンスが誤って複製されるバグを修正#4552
      • Canal-JSON string #4635を誤って処理した場合に発生する可能性がある TiCDCpanic問題を修正しました。
      • PDリーダーが強制終了するとTiCDCノードが異常終了するバグを修正#4248
      • batch-replace-enableが無効になっている場合に MySQL シンクが重複したreplace SQL 文を生成するバグを修正#4501
      • rename tables DDL #5059によって発生した DML 構造エラーを修正
      • 所有者が変更され、新しいスケジューラが有効になっている場合(デフォルトでは無効)に、まれにレプリケーションが停止する可能性がある問題を修正しました#4963
      • 新しいスケジューラが有効になっているときにエラー ErrProcessorDuplicateOperations が報告される問題を修正しました (デフォルトでは無効) #4769
      • TLS #4777を有効にした後、 --pdで設定した最初の PD が利用できない場合に TiCDC が起動に失敗する問題を修正しました。
      • テーブルがスケジュールされているときにチェックポイントメトリックが欠落する問題を修正#4714
    • TiDB Lightning

      • チェックサムエラー「GC の存続期間がトランザクション期間より短い」を修正#32733
      • 空のテーブル#31797のチェックに失敗したときにTiDB Lightning が停止する問題を修正しました
      • 一部のインポートタスクにソースファイルが含まれていない場合に、 TiDB Lightning がメタデータスキーマを削除しない可能性があるバグを修正しました#28144
      • 事前チェックでローカルディスクリソースとクラスターの可用性がチェックされない問題を修正#34213
    • TiDB データ移行 (DM)

      • ログに「チェックポイントに変更はありません。同期フラッシュチェックポイントをスキップしてください」というメッセージが何百も出力され、レプリケーションが非常に遅くなる問題を修正しました#4619
      • 長いvarcharがエラーを報告するバグを修正Column length too big #4637
      • セーフモードでの更新ステートメントの実行エラーにより、DM ワーカーがpanicになる可能性がある問題を修正しました#4317
      • 下流でフィルタリングされた DDL を手動で実行すると、タスク再開が失敗する場合がある問題を修正しました#5272
      • アップストリーム#5121でbinlogが有効になっていない場合にquery-statusコマンドでデータが返されないバグを修正
      • SHOW CREATE TABLEステートメント#5159によって返されるインデックスの先頭に主キーがない場合に発生する DM ワーカーpanicの問題を修正しました。
      • GTID が有効になっている場合やタスクが自動的に再開された場合に CPU 使用率が上昇し、大量のログが出力される問題を修正#5063

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