重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

TiDB5.4.1リリースノート

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

TiDBバージョン:5.4.1

互換性の変更

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

改善点

  • TiDB

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

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

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

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

    • TiCDC

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

      • /tmpではなくDM-workerの作業ディレクトリを使用して内部ファイルを書き込み、タスクの停止後にディレクトリをクリーンアップするSyncerをサポートします#4107

バグの修正

  • TiDB

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

    • マージされるターゲットリージョンが無効であるためにTiKVがパニックになり、予期せずピアを破壊する問題を修正します#12232
    • 古いメッセージが原因でTiKVがpanicになるバグを修正します#12023
    • メモリメトリックのオーバーフローによって引き起こされる断続的なパケット損失とメモリ不足(OOM)の問題を修正します#12160
    • TiKVが#9765でプロファイリングを実行するときに発生する可能性のあるpanicの問題を修正します。
    • レプリカの読み取りが線形化可能性に違反する可能性があるバグを修正します#12109
    • ターゲットピアが、リージョン#12048のマージ時に初期化されずに破棄されたピアに置き換えられたときに発生するTiKVpanicの問題を修正します。
    • TiKVが2年以上実行されているとpanicになる可能性があるバグを修正します#11940
    • ロックの解決ステップ#11993を必要とするリージョンの数を減らすことにより、TiCDCの回復時間を短縮します。
    • ピアステータスがApplyingのときにスナップショットファイルを削除することによって引き起こされるpanicの問題を修正し#11746
    • ピアを破棄すると待ち時間が長くなる可能性があるという問題を修正します#10210
    • リソースメータリングの無効なアサーションによって引き起こされるpanicの問題を修正します#12234
    • 一部のコーナーケースでスコアの計算が不正確になる問題を修正します#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から#3998をキャストするときに発生するオーバーフローを修正しDECIMAL
    • 期限切れのデータがゆっくりとリサイクルされる問題を修正します#4146
    • ローカルトンネルが有効になっている場合、キャンセルされたMPPクエリによってタスクが永久にハングする可能性があるバグを修正します#4229
    • クエリがキャンセルされたときに発生するメモリリークの問題を修正します#4098
    • DATETIMEから#4151をキャストするときに発生する間違った結果を修正しDECIMAL
    • Snapshotが複数のDDL操作と同時に適用された場合のTiFlashpanicの潜在的な問題を修正します#4072
    • 無効なストレージディレクトリ構成が予期しない動作を引き起こすバグを修正します#4093
    • 一部の例外が適切に処理されないバグを修正します#4101
    • INTからDECIMALをキャストするとオーバーフロー#3920が発生する可能性がある問題を修正します
    • 複数値式#4016INの結果が正しくない問題を修正します
    • 日付形式が'\n'を無効な区切り文字#4036として識別する問題を修正します
    • 読み取りワークロードが重い場合に列を追加した後の潜在的なクエリエラーを修正する#3967
    • メモリ制限が有効になっているときに発生するpanicの問題を修正します#3902
    • #4778の潜在的なデータ破損を修正
    • 多くの削除操作があるテーブルでクエリを実行するときに発生する可能性のあるエラーを修正します#4747
    • TiFlashが多くの「キープアライブウォッチドッグ起動」エラーをランダムに報告するバグを修正します#4192
    • どの領域範囲にも一致しないデータがTiFlashノード#4414に残るバグを修正します
    • GC1の後に空のセグメントをマージできないバグを修正し#4511
  • ツール

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

      • バックアップの再試行中に暗号化情報が失われると、復元操作が失敗するバグを修正します#32423
      • BRがRawKV1のバックアップに失敗する問題を修正し#32607
      • 増分復元後にレコードをテーブルに挿入するときに重複する主キーを修正する#33596
      • 空のクエリ#33322を使用したDDLジョブが原因で、BRインクリメンタル復元が誤ってエラーを返すバグを修正します。
      • 復元操作の終了後にリージョンが不均一に分散される可能性があるという潜在的な問題を修正します#31034
      • 復元中にリージョンに一貫性がない場合、BRが十分な回数再試行しない問題を修正します#33419
      • 小さなファイルのマージが有効になっているときにBRがときどきpanicになる可能性がある問題を修正します#33801
      • BRまたはTiDB Lightningが異常終了した後にスケジューラが再開しない問題を修正します#33546
    • TiCDC

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

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

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