TiDB 4.0.15 リリースノート
リリース日:2021年9月27日
TiDB バージョン: 4.0.15
互換性の変更
ティビ
- 次のバグ修正により実行結果が変わり、アップグレードの非互換性が発生する可能性があります。
greatest(datetime) union null
空の文字列#26532を返す問題を修正having
節が正しく動作しない可能性がある問題を修正#26496between
式の前後の照合順序が異なる場合に発生する誤った実行結果を修正#27146extract
関数の引数が負の期間#27236の場合に発生する結果の誤りを修正group_concat
関数の列に非ビン照合順序#27429がある場合に発生する誤った実行結果を修正Apply
演算子をJoin
#27233に変換するときに列情報が失われる問題を修正- 無効な文字列を
DATE
#26762にキャストしたときに予期しない動作が発生する問題を修正 - 新しい照合順序が有効な場合に、複数の列の
count distinct
結果が間違っているというバグを修正しました#27091
- 次のバグ修正により実行結果が変わり、アップグレードの非互換性が発生する可能性があります。
機能強化
ティクヴ
- TiCDC 構成の動的な変更をサポート#10645
改善点
ティビ
- ヒストグラムの行数に基づいて自動分析をトリガーする#24237
ティクヴ
PD
- PD #3932間のリージョン情報の同期パフォーマンスを向上
ツール
バックアップと復元 (BR)
Dumpling
- テーブル情報を取得する前にスキップされたデータベースをフィルタリングして、
SHOW TABLE STATUS
#337のフィルタリング効率を向上させます。 - エクスポートするテーブルのテーブル情報を取得するには
SHOW FULL TABLES
使用します。3SHOW TABLE STATUS
一部の MySQL バージョン#322では正しく動作しないためです。 START TRANSACTION ... WITH CONSISTENT SNAPSHOT
またはSHOW CREATE TABLE
構文をサポートしていない MySQL 互換データベースのバックアップをサポート#309- Dumpling の警告ログを改良し、ダンプが失敗したという誤解を招く情報を回避する#340
- テーブル情報を取得する前にスキップされたデータベースをフィルタリングして、
TiDB Lightning
- 式インデックスまたは仮想生成列に依存するインデックスを持つテーブルへのデータのインポートをサポート#1404
ティCDC
- 使いやすさを向上させるために、常に TiKV から古い値を内部的に取得します#2397
- テーブルのリージョンがすべて TiKV ノードから転送されるときに、goroutine の使用を減らす#2284
- 同時実行性が高い場合に、ワーカープールを最適化して goroutine の数を減らす#2211
- 他の変更フィードに影響を与えないように、DDL ステートメントを非同期で実行します#2295
- グローバル gRPC 接続プールを追加し、KV クライアント間で gRPC 接続を共有する#2531
- 回復不可能な DML エラーに対して迅速に対処#1724
- Unified Sorter がメモリを使用してデータをソートする場合のメモリ管理を最適化します#2553
- DDL実行のPrometheusメトリックを追加する#2595 #2669
- メジャーバージョンまたはマイナーバージョン間での TiCDC クラスターの運用を禁止する#2601
- 削除
file sorter
#2325 - 変更フィードが削除されたときに変更フィード メトリックをクリーンアップし、プロセッサが終了したときにプロセッサ メトリックをクリーンアップします#2156
- リージョンが初期化された後のロック解決アルゴリズムを最適化する#2188
バグの修正
ティビ
ティクヴ
PD
TiFlash
- TiFlashが複数のディスクに展開されている場合に発生する可能性のあるデータの不整合の問題を修正しました。
- クエリに
CONSTANT
、<
、<=
、>
、>=
、COLUMN
などのフィルターが含まれている場合に発生する誤った結果のバグを修正しました。 - 書き込みが集中するとメトリクスのストアサイズが不正確になる問題を修正
- 複数のディスクに展開されたときにTiFlash がデータを復元できない潜在的なバグを修正
- TiFlash が長時間実行した後にデルタデータをガベージコレクションできない潜在的な問題を修正しました。
ツール
バックアップと復元 (BR)
- バックアップとリストアの平均速度が不正確に計算されるバグを修正#1405
ティCDC
- 統合テスト#2422でDDLジョブの重複が発生したときに発生する
ErrSchemaStorageTableMiss
エラーを修正します。 ErrGCTTLExceeded
エラーが発生した場合に changefeed を削除できないバグを修正#2391capture list
コマンド#2388の出力に古いキャプチャが表示される問題を修正しました- TiCDCプロセッサ#2017のデッドロック問題を修正
- このテーブルが再スケジュールされているときに複数のプロセッサが同じテーブルにデータを書き込む可能性があるために発生するデータの不整合の問題を修正しました#2230
- メタデータ管理#2557でスナップショット
EtcdWorker
分離が違反されるバグを修正 - DDLシンクエラー#2552によりチェンジフィードを停止できない問題を修正
- TiCDC オープン プロトコルの問題を修正: トランザクション#2612に変更がない場合、TiCDC は空の値を出力する
- 符号なし
TINYINT
型#2648でTiCDCがpanicを起こすバグを修正 - TiCDC があまりにも多くのリージョンをキャプチャしたときに発生する OOM を回避するために、gRPC ウィンドウ サイズを減らします#2202
- TiCDC があまりにも多くのリージョンをキャプチャしたときに発生する OOM 問題を修正しました#2673
mysql.TypeString, mysql.TypeVarString, mysql.TypeVarchar
などのデータ型をJSON #2758にエンコードするときに発生するプロセスpanicの問題を修正- 新しい変更フィード#2389を作成するときに発生する可能性のあるメモリリークの問題を修正しました
- スキーマ変更#2603の終了 TS で変更フィードが開始されると DDL 処理が失敗するバグを修正しました。
- DDL ステートメント#1260の実行時にオーナーがクラッシュした場合の潜在的な DDL 損失の問題を修正しました。
SinkManager
#2298のマップへの安全でない同時アクセスの問題を修正
- 統合テスト#2422でDDLジョブの重複が発生したときに発生する