TiDB 5.4.1 リリースノート

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

TiDB バージョン: 5.4.1

互換性の変更

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

改良点

  • TiDB

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

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

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

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

    • TiCDC

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

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

バグの修正

  • TiDB

    • TiDB のdate_formatが MySQL と互換性のない方法で'\n'を処理する問題を修正します#32232
    • ENUM列またはSET列のエンコーディングが間違っているため、TiDB が間違ったデータを書き込む問題を修正します#32302
    • Merge Join 演算子が特定のケースで間違った結果を取得する問題を修正します#33042
    • 相関サブクエリが定数#32089を返すと、TiDB が間違った結果を取得する問題を修正します。
    • TiFlash を使用して空の範囲を持つテーブルをスキャンすると、TiDB が間違った結果を取得する問題を修正しますが、TiFlash はまだ空の範囲を持つテーブルの読み取りをサポートしていません#33083
    • TiDB #31638で新しい照合順序が有効になっている場合、 ENUMまたはSET列のMAXまたはMIN関数が間違った結果を返す問題を修正します。
    • クエリがエラーを報告したときに CTE がブロックされる可能性があるバグを修正します#31302
    • Enum 値#32428の Nulleq 関数の誤った範囲計算結果を修正
    • ChunkRPC を使用してデータをエクスポートするときの TiDB OOM を修正#31981 #30880
    • 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 からアップグレードされたクラスターでall特権の付与が失敗する可能性がある問題を修正し#33588
    • MySQL バイナリ プロトコル#33509でテーブル スキーマ変更後にプリペアドステートメントを実行するとセッションpanicが発生する問題を修正
    • tidb_enable_vectorized_expressionが有効なcompress()式を持つ SQL ステートメントの実行が失敗する問題を修正します#33397
    • reArrangeFallback機能でCPU使用率が高くなる問題を修正#30353
    • 新しいパーティションが追加されたときにテーブルの属性がインデックス化されない問題と、パーティションが変更されたときにテーブルの範囲情報が更新されない問題を修正します#33929
    • TopN初期化中のテーブルの統計情報が正しくソートされないバグを修正#34216
    • 識別できないテーブル属性をスキップしてINFORMATION_SCHEMA.ATTRIBUTESテーブルから読み取るときに発生するエラーを修正します#33665
    • @@tidb_enable_parallel_applyが設定されていても、 orderプロパティが存在する場合にApply演算子が並列化されないバグを修正#34237
    • sql_modeNO_ZERO_DATE #34099に設定するとdatetime列に'0000-00-00 00:00:00'を挿入できるバグを修正
    • 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
    • メモリ メトリック#12160のオーバーフローが原因で発生する断続的なパケット損失とメモリ不足 (OOM) の問題を修正します。
    • #9765が Ubuntu 18.04 でプロファイリングを実行するときに発生する潜在的なpanicの問題を修正します。
    • レプリカの読み取りが線形化可能性に違反する可能性があるバグを修正します#12109
    • リージョン#12048のマージ時にターゲット ピアが初期化されずに破棄されたピアに置き換えられると発生する TiKVpanicの問題を修正します。
    • TiKVが2年以上稼働しているとpanicになることがあるバグを修正#11940
    • ロックの解決ステップ#11993を必要とするリージョンの数を減らすことで、TiCDC の回復時間を短縮します。
    • ピア ステータスがApplying #11746のときにスナップショット ファイルを削除すると発生するpanicの問題を修正します。
    • ピアを破棄すると高レイテンシーが発生する可能性がある問題を修正します#10210
    • リソース メータリング#12234で無効なアサーションが原因で発生するpanicの問題を修正します。
    • 一部のまれなケースでスロースコア計算が不正確になる問題を修正します#12254
    • resolved_tsモジュールが原因で発生した OOM の問題を修正し、メトリックを追加します#12159
    • ネットワークが貧弱な場合、楽観的トランザクションを正常にコミットしてもWrite Conflictエラーが報告される可能性がある問題を修正します#34066
    • 貧弱なネットワークでレプリカ読み取りが有効になっている場合に発生する TiKVpanicの問題を修正します#12046
  • PD

    • dr-autosyncのフィールドのうちDurationのフィールドを動的に構成できないという問題を修正します#4651
    • 大容量(例えば2T)のストアが存在する場合、満杯に割り当てられた小さなストアが検出されず、バランス演算子が生成されない問題を修正し#4805
    • ラベル分布がメトリクス#4825に残留ラベルを持つ問題を修正します。
  • ティフラッシュ

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

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

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

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

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

      • 何百もの "checkpoint has no change, skip sync flush checkpoint" がログに出力され、レプリケーションが非常に遅いという問題を修正します#4619
      • 長い varchar がエラーを報告するバグを修正Column length too big #4637
      • セーフモードで update ステートメントの実行エラーが発生すると、DM-workerpanic#4317が発生する可能性がある問題を修正します。
      • フィルタリングされた DDL をダウンストリームで手動で実行すると、タスクの再開に失敗する場合があるという問題を修正します#5272
      • アップストリームで binlog が有効になっていない場合にquery-statusコマンドに対してデータが返されないバグを修正#5121
      • 主キーがSHOW CREATE TABLEステートメントによって返されるインデックスの先頭にない場合に発生する DM ワーカーpanicの問題を修正します#5159
      • GTID有効時やタスク自動再開時にCPU使用率が上昇し、大量のログが出力されることがある問題を修正#5063
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.