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

TiDB4.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演算子を#27233に変換するときに列情報が失われる問題を修正しJoin
      • 無効な文字列をDATEにキャストしたときの#26762しない動作の問題を修正しました
      • 新しい照合順序が有効になっている場合、複数の列のcount distinctの結果が間違っているというバグを修正します#27091

機能強化

  • TiKV

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

改善点

  • TiDB

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

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

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

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

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

      • SHOW TABLE STATUS #337のフィルタリング効率を向上させるために、テーブル情報を取得する前に、スキップされたデータベースをフィルタリングします。
      • 一部のMySQLバージョン#322ではSHOW TABLE STATUSが正しく機能しないため、エクスポートするテーブルのテーブル情報を取得するにはSHOW FULL TABLESを使用します。
      • 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実行用の#2669メトリックを追加する#2595
      • メジャーバージョンまたはマイナーバージョン間でのTiCDCクラスターの操作を禁止する#2601
      • #2325を削除しfile sorter
      • チェンジフィードが削除されたときにチェンジフィードメトリックをクリーンアップし、プロセッサが終了したときにプロセッサメトリックをクリーンアップします#2156
      • リージョンが初期化された後、ロック解決アルゴリズムを最適化する#2188

バグの修正

  • TiDB

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

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

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

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

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

  • TiKV

    • データの復元中にTDEが有効になっている場合、BRが「ファイルはすでに存在します」エラーを報告する問題を修正します#1179
    • 破損したスナップショットファイルによって引き起こされる潜在的なディスクフルの問題を修正します#10813
    • TiKVが古いリージョンを頻繁に削除する問題を修正します#10680
    • TiKVがPDクライアントを頻繁に再接続する問題を修正します#9690
    • 暗号化ファイル辞書から古いファイル情報を確認する#9115
  • PD

    • PDが時間内にダウンピアを修正しないという問題を修正します#4077
    • TiKV1をスケールアウトするときにPDがpanicになる可能性があるバグを修正し#3868
  • TiFlash

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

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

      • バックアップと復元の平均速度が不正確に計算されるバグを修正します#1405
    • TiCDC

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