TiDB 4.0.15 リリースノート
リリース日:2021年9月27日
TiDB バージョン: 4.0.15
互換性の変更
TiDB
- 次のバグ修正により実行結果が変更され、アップグレードの非互換性が生じる可能性があります。
greatest(datetime) union null
が空の文字列#26532を返す問題を修正having
節が正しく動作しない場合がある問題を修正#26496between
式の前後の照合が異なる場合に発生する誤った実行結果を修正します#27146extract
関数の引数が負の期間#27236の場合に発生する結果の誤りを修正します。group_concat
関数の列に非ビン照合順序がある場合に発生する誤った実行結果を修正します#27429Apply
演算子をJoin
#27233に変換すると列情報が欠落する問題を修正- 無効な文字列を
DATE
#26762にキャストすると予期しない動作が発生する問題を修正 - 新しい照合順序が有効になっている場合、複数の列の
count distinct
の結果が間違っているというバグを修正します#27091
- 次のバグ修正により実行結果が変更され、アップグレードの非互換性が生じる可能性があります。
機能強化
TiKV
- TiCDC 構成の動的変更をサポート#10645
改良点
TiDB
- ヒストグラムの行数に基づいて自動分析をトリガーする#24237
TiKV
PD
- PD 間のリージョン情報の同期のパフォーマンスを向上させます#3932
ツール
バックアップと復元 (BR)
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
TiKV
PD
ティフラッシュ
- TiFlash が複数のディスクに展開されている場合に発生する可能性のあるデータの不整合の問題を修正します。
- クエリに
CONSTANT
、<
、<=
、>
、>=
、またはCOLUMN
などのフィルターが含まれている場合に発生する誤った結果のバグを修正します - 負荷の高い書き込みでメトリクスのストア サイズが不正確になる問題を修正
- 複数のディスクに展開されたときに TiFlash がデータを復元できないという潜在的なバグを修正します
- 長時間実行した後、TiFlash がデルタ データをガベージ コレクションできないという潜在的な問題を修正します。
ツール
バックアップと復元 (BR)
- バックアップとリストアの平均速度が不正確に計算されるバグを修正#1405
TiCDC
- 統合テスト#2422で DDL ジョブの重複が発生した場合に発生する
ErrSchemaStorageTableMiss
のエラーを修正します。 ErrGCTTLExceeded
エラーが発生するとチェンジフィードを削除できない不具合を修正#2391capture 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でマップへの安全でない同時アクセスの問題を修正
- 統合テスト#2422で DDL ジョブの重複が発生した場合に発生する