TiDB 4.0.15 リリースノート

リリース日:2021年9月27日

TiDB バージョン: 4.0.15

互換性の変更

  • TiDB

    • 新しいセッションでSHOW VARIABLESを実行すると遅い問題を修正します。この修正により、 #21045で行われた一部の変更が元に戻り、互換性の問題が発生する可能性があります。 #24326
    • 次のバグ修正により実行結果が変更され、アップグレードの非互換性が生じる可能性があります。
      • greatest(datetime) union nullが空の文字列#26532を返す問題を修正
      • having節が正しく動作しない場合がある問題を修正#26496
      • between式の前後の照合が異なる場合に発生する誤った実行結果を修正します#27146
      • extract関数の引数が負の期間#27236の場合に発生する結果の誤りを修正します。
      • group_concat関数の列に非ビン照合順序がある場合に発生する誤った実行結果を修正します#27429
      • Apply演算子をJoin #27233に変換すると列情報が欠落する問題を修正
      • 無効な文字列をDATE #26762にキャストすると予期しない動作が発生する問題を修正
      • 新しい照合順序が有効になっている場合、複数の列のcount distinctの結果が間違っているというバグを修正します#27091

機能強化

  • TiKV

    • TiCDC 構成の動的変更をサポート#10645

改良点

  • TiDB

    • ヒストグラムの行数に基づいて自動分析をトリガーする#24237
  • TiKV

    • 読み取り待機レイテンシーを短縮するために、読み取り準備完了と書き込み準備完了を別々に処理する#10475
    • TiKV コプロセッサーのスローログでは、リクエストの処理に費やされた時間のみが考慮されます。 #10841
    • slogger スレッドが過負荷になり、キューがいっぱいになったときに、スレッドをブロックする代わりにログを削除します#10841
    • 解決済み TS メッセージのサイズを縮小してネットワーク帯域幅を節約する#2448
  • PD

    • PD 間のリージョン情報の同期のパフォーマンスを向上させます#3932
  • ツール

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

      • リージョンを同時に分割および分散して復元速度を向上させる#1363
      • PD 要求エラーまたは TiKV I/O タイムアウト エラー#27787が発生したときに BR タスクを再試行します
      • 復元後のクラスター操作への影響を避けるために、多数の小さなテーブルを復元する場合は空のリージョンを減らします#1374
      • テーブルの作成中にrebase auto id操作を実行します。これにより、別個のrebase auto id DDL 操作が節約され、復元が高速化されます#1424
    • Dumpling

      • SHOW TABLE STATUS #337のフィルタリング効率を向上させるために、テーブル情報を取得する前に、スキップされたデータベースをフィルタリングします。
      • 一部の MySQL バージョンではSHOW TABLE STATUSが正しく機能しないため、エクスポートするテーブルのテーブル情報を取得するにはSHOW FULL TABLESを使用します#322
      • START TRANSACTION ... WITH CONSISTENT SNAPSHOTまたはSHOW CREATE TABLEの構文をサポートしていない MySQL 互換データベースのバックアップのサポート#309
      • Dumpling警告ログを改良して、ダンプが失敗したという誤解を招く情報を回避します#340
    • TiDB Lightning

      • 式インデックスまたは仮想生成列に依存するインデックスを持つテーブルへのデータのインポートをサポート#1404
    • TiCDC

      • 使いやすさを向上させるために、常に内部で TiKV から古い値を取得します#2397
      • テーブルのリージョンがすべて TiKV ノードから転送されるときのゴルーチンの使用量を減らします#2284
      • 同時実行性が高い場合、より少ないゴルーチンのためにワーカープールを最適化します#2211
      • DDL ステートメントを非同期的に実行して、他の変更フィードに影響を与えないようにする#2295
      • グローバル gRPC 接続プールを追加し、KV クライアント間で gRPC 接続を共有する#2531
      • 回復不能な DML エラーのフェイル ファスト#1724
      • ユニファイド ソーターがデータの並べ替えにメモリを使用している場合のメモリ管理を最適化する#2553
      • DDL 実行用の Prometheus メトリックを追加する#2595 #2669
      • メジャーまたはマイナー バージョン間での TiCDC クラスターの動作を禁止する#2601
      • 削除file sorter #2325
      • changefeed が削除されたときに changefeed メトリックをクリーンアップし、プロセッサが終了したときにプロセッサ メトリックをクリーンアップします#2156
      • リージョンが初期化された後にロック解決アルゴリズムを最適化する#2188

バグの修正

  • TiDB

    • 範囲を構築するときに、バイナリ リテラルに対して照合順序が正しく設定されないバグを修正します#23672

    • クエリにGROUP BYUNIONの両方が含まれている場合に発生する「範囲外のインデックス」エラーを修正し#26553

    • TiKV にトゥームストーン ストアがある場合、TiDB がリクエストの送信に失敗する可能性がある問題を修正します#23676 #24648

    • 文書化されていない/debug/sub-optimal-plan HTTP API #27264を削除します

    • case whenの間違った文字セットと照合順序の問題を修正します#26662

  • TiKV

    • データの復元中に TDE が有効になっていると、BR が「ファイルが既に存在します」というエラーを報告する問題を修正します#1179
    • 破損したスナップショット ファイルが原因で発生する可能性のあるディスクがいっぱいになる問題を修正します#10813
    • TiKV が古いリージョンを頻繁に削除する問題を修正#10680
    • TiKV が頻繁に PD クライアントに再接続する問題を修正#9690
    • 暗号化ファイル辞書から古いファイル情報を確認する#9115
  • PD

    • PD が時間#4077でダウンしたピアを修正しない問題を修正します。
    • TiKV #3868をスケールアウトすると PD がpanicになることがあるバグを修正
  • ティフラッシュ

    • TiFlash が複数のディスクに展開されている場合に発生する可能性のあるデータの不整合の問題を修正します。
    • クエリにCONSTANT<<=>>= 、またはCOLUMNなどのフィルターが含まれている場合に発生する誤った結果のバグを修正します
    • 負荷の高い書き込みでメトリクスのストア サイズが不正確になる問題を修正
    • 複数のディスクに展開されたときに TiFlash がデータを復元できないという潜在的なバグを修正します
    • 長時間実行した後、TiFlash がデルタ データをガベージ コレクションできないという潜在的な問題を修正します。
  • ツール

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

      • バックアップとリストアの平均速度が不正確に計算されるバグを修正#1405
    • TiCDC

      • 統合テスト#2422で DDL ジョブの重複が発生した場合に発生するErrSchemaStorageTableMissのエラーを修正します。
      • ErrGCTTLExceededエラーが発生するとチェンジフィードを削除できない不具合を修正#2391
      • capture listコマンド#2388の出力に古いキャプチャが表示されることがある問題を修正します。
      • TiCDC プロセッサ#2017のデッドロックの問題を修正します。
      • このテーブルが再スケジュールされているときに、複数のプロセッサが同じテーブルにデータを書き込む可能性があるために発生するデータの不整合の問題を修正します#2230
      • メタデータ管理でEtcdWorkerスナップショット分離に違反するバグを修正#2557
      • DDL シンク エラー#2552により、変更フィードを停止できない問題を修正します。
      • TiCDC Open Protocol の問題を修正: トランザクションに変更がない場合、TiCDC が空の値を出力する#2612
      • unsigned TINYINT type #2648で TiCDC がpanicになるバグを修正
      • TiCDC がキャプチャするリージョンが多すぎる場合に発生する OOM を回避するために、 #2202ウィンドウ サイズを小さくします。
      • TiCDC がキャプチャするリージョンが多すぎる場合に発生する OOM の問題を修正します#2673
      • mysql.TypeString, mysql.TypeVarString, mysql.TypeVarcharなどのデータ型を JSON にエンコードする際にプロセスpanicが発生する問題を修正#2758
      • 新しい変更フィード#2389を作成するときに発生する可能性があるメモリ リークの問題を修正します。
      • スキーマ変更#2603の終了 TS で変更フィードが開始されると、DDL 処理が失敗するバグを修正します。
      • DDL ステートメントの実行時に所有者がクラッシュすると、DDL が失われる可能性がある問題を修正します#1260
      • SinkManager #2298でマップへの安全でない同時アクセスの問題を修正
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.