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