TiDB 4.0.15 リリースノート
リリース日:2021年9月27日
TiDB バージョン: 4.0.15
互換性の変更
TiDB
- 新しいセッションで
SHOW VARIABLES
を実行すると遅いという問題を修正します。この修正により、 #21045で行われた一部の変更が元に戻されるため、互換性の問題が発生する可能性があります。 #24326
- 次のバグ修正により実行結果が変更され、アップグレードの非互換性が発生する可能性があります。
greatest(datetime) union null
が空の文字列#26532を返す問題を修正having
句が正しく動作しない場合がある問題を修正#26496between
式の前後の照合順序が異なる場合に発生する間違った実行結果を修正します#27146extract
関数の引数が負の持続時間の場合に発生する結果が間違っていたのを修正#27236group_concat
関数の列に非ビン照合順序がある場合に発生する間違った実行結果を修正します#27429Apply
演算子をJoin
#27233に変換するときに列情報が欠落する問題を修正- 無効な文字列を
DATE
#26762にキャストするときに予期しない動作が発生する問題を修正 - 新しい照合順序が有効になっている場合、複数の列の
count distinct
結果が間違っているバグを修正#27091
- 新しいセッションで
機能強化
TiKV
- TiCDC 構成の動的変更のサポート#10645
改善点
TiDB
- ヒストグラムの行数に基づいて自動分析をトリガーする#24237
TiKV
PD
- PD 間のリージョン情報の同期パフォーマンスを向上#3932
ツール
バックアップと復元 (BR)
Dumpling
SHOW TABLE STATUS
#337のフィルタリング効率を向上させるために、テーブル情報を取得する前にスキップされたデータベースをフィルタリングします。- #322の MySQL バージョンでは
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 ノードから転送される場合の 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 が長時間実行した後にデルタ データをガベージ コレクションできないという潜在的な問題を修正
ツール
バックアップと復元 (BR)
- バックアップおよびリストア#1405の平均速度が不正確に計算されるバグを修正
TiCDC
- 統合テスト#2422でDDLジョブの重複が発生した場合に発生するエラー
ErrSchemaStorageTableMiss
を修正 ErrGCTTLExceeded
エラーが発生するとチェンジフィードが削除できないバグを修正#2391capture list
コマンド#2388の出力に古いキャプチャが表示されることがある問題を修正します。- TiCDC プロセッサ#2017のデッドロック問題を修正
- このテーブルが再スケジュールされているときに、複数のプロセッサが同じテーブルにデータを書き込む可能性があるために発生するデータの不整合の問題を修正します#2230
- メタデータ管理#2557で
EtcdWorker
スナップショット分離に違反するバグを修正 - DDLシンクエラー#2552によりチェンジフィードを停止できない問題を修正
- TiCDC オープン プロトコルの問題を修正: トランザクションに変更がない場合、TiCDC は空の値を出力します#2612
- TiCDC が unsigned
TINYINT
type #2648でpanicを引き起こすバグを修正しました。 - TiCDC がキャプチャするリージョン#2202が多すぎるときに発生する OOM を回避するには、gRPC ウィンドウ サイズを小さくします。
- TiCDC がキャプチャするリージョン#2673が多すぎる場合に発生する OOM 問題を修正します。
mysql.TypeString, mysql.TypeVarString, mysql.TypeVarchar
などのデータ型を JSON #2758にエンコードするときに発生するプロセスpanicの問題を修正- 新しい変更フィード#2389を作成するときに発生する可能性があるメモリリークの問題を修正します。
- スキーマ変更#2603の終了TSでチェンジフィードが開始されるとDDL処理が失敗するバグを修正
- DDL ステートメントの実行時に所有者がクラッシュした場合に DDL が失われる可能性がある問題を修正します#1260
SinkManager
#2298のマップへの安全でない同時アクセスの問題を修正
- 統合テスト#2422でDDLジョブの重複が発生した場合に発生するエラー