TiDB 5.3.1 リリースノート
リリース日:2022年3月3日
TiDB バージョン: 5.3.1
互換性の変更
ツール
TiDB Lightning
- デフォルト値の
regionMaxKeyCount
を 1_440_000 から 1_280_000 に変更して、データのインポート後に空のリージョンが多くなりすぎないようにします#30018
- デフォルト値の
改良点
TiDB
- ユーザー ログイン モードのマッピング ロジックを最適化して、ロギングをより MySQL 互換にする#30450
TiKV
PD
DR_STATE
ファイルのコンテンツ形式を最適化する#4341
ツール
TiCDC
- Kafka プロデューサーの構成パラメーターを公開して、TiCDC #4385で構成可能にする
- S3 がバックエンド ストレージとして使用されている場合、TiCDC の起動時に事前クリーンアップ プロセスを追加します#3878
- TiCDC クライアントは、証明書名が指定されていない場合に機能します#3627
- テーブルごとにシンク チェックポイントを管理して、予期しないチェックポイント タイムスタンプの進行を回避する#3545
- 変更フィードを再開するための指数バックオフ メカニズムを追加します。 #3329
- Kafka Sink
partition-num
のデフォルト値を 3 に変更して、TiCDC が Kafka パーティション間でメッセージをより均等に分散するようにします#3337 - 「EventFeed retry rate limited」ログのカウントを減らします#4006
- デフォルト値の
max-message-bytes
を 10M に設定#4041 no owner alert
、mounter row
、table sink total row
、およびbuffer sink total row
#4054 #1606を含む、Prometheus および Grafana のモニタリング メトリックとアラートをさらに追加します。- TiKV ストアがダウンしたときに KV クライアントが回復するまでの時間を短縮する#3191
TiDB Lightning
- ローカル ディスク容量チェックが失敗した場合に、事前チェックの出力メッセージをより使いやすいものに調整します#30395
バグの修正
TiDB
- TiDB の
date_format
が MySQL と互換性のない方法で'\n'
を処理する問題を修正します#32232 alter column set default
テーブル スキーマを誤って更新する問題を修正します#31074tidb_restricted_read_only
を有効にするとtidb_super_read_only
が自動的に有効にならない不具合を修正#31745- 照合順序を伴う
greatest
またはleast
関数が間違った結果を取得する問題を修正します#31789 - クエリ実行時の MPP タスク リストの空エラーを修正します#31636
- innerWorkerpanic#31494によって引き起こされたインデックス結合の誤った結果を修正
- 列の種類を
FLOAT
からDOUBLE
に変更した後の誤ったクエリ結果を修正する#31372 - インデックス ルックアップ ジョイン#30468を使用してクエリを実行するときの
invalid transaction
のエラーを修正します。 Order By
#30271の最適化による間違ったクエリ結果を修正MaxDays
とMaxBackups
の設定がスローログ#25716に反映されない問題を修正INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
ステートメントを実行するとpanic#28078が発生する問題を修正します。
- TiDB の
TiKV
- ピア ステータスが
Applying
#11746のときにスナップショット ファイルを削除すると発生するpanicの問題を修正します。 - フロー制御が有効で、
level0_slowdown_trigger
が明示的に設定されている場合の QPS ドロップの問題を修正し#11424 。 - cgroup コントローラーがマウントされていない場合に発生するpanicの問題を修正します#11569
- TiKVの動作停止後、Resolved TSのレイテンシーが増加する問題を修正#11351
- TiKV が GC ワーカがビジー状態の場合、データの範囲を削除できない (
unsafe_destroy_range
を実行できない) バグを修正#11903 - ピアを破棄すると高レイテンシーが発生する可能性がある問題を修正します#10210
- 領域が空の場合に
any_value
関数が間違った結果を返すバグを修正#11735 - 初期化されていないレプリカを削除すると、古いレプリカが再作成される可能性があるという問題を修正します#10533
- 新しい選択が終了した後に
Prepare Merge
がトリガーされたが、隔離されたピアに通知されていない場合のメタデータの破損の問題を修正します#11526 - コルーチンの実行速度が速すぎる場合に時々発生するデッドロックの問題を修正します#11549
- TiKV ノードがダウンしていると、解決されたタイムスタンプが#11351遅れる問題を修正します。
- Raftクライアント実装#9714でバッチ メッセージが大きすぎる問題を修正
- 極端な状況でリージョンのマージ、ConfChange、およびスナップショットが同時に発生したときに発生するpanicの問題を修正します#11475
- TiKV がリバース テーブル スキャンを実行すると、TiKV がメモリ ロックを検出できない問題を修正します#11440
- ディスク容量がいっぱいになると、RocksDB のフラッシュまたは圧縮によってpanicが発生する問題を修正します#11224
- tikv-ctl が正しいリージョン関連の情報を返せないバグを修正#11393
- インスタンスごとの gRPC リクエストの平均レイテンシーが TiKV メトリクスで不正確である問題を修正します#11299
- ピア ステータスが
PD
ティフラッシュ
- 入力引数
arg
がdecimal(x,y)
の範囲を超えるとcast(arg as decimal(x,y))
が間違った結果を返す問題を修正 max_memory_usage
とmax_memory_usage_for_all_queries
が有効になっているときに発生する TiFlash クラッシュの問題を修正します。cast(string as real)
が間違った結果を返す問題を修正cast(string as decimal)
が間違った結果を返す問題を修正- 主キー列をより大きな int データ型に変更した後の潜在的なデータ不整合を修正
in
がselect (arg0, arg1) in (x,y)
のようなステートメントで複数の引数を持っている場合、in
が間違った結果を返すというバグを修正します- MPP クエリが停止したときに TiFlash がpanicになる問題を修正
- 入力引数の先頭にゼロがある場合に
str_to_date
が間違った結果を返す問題を修正 - フィルターが
where <string>
形式の場合、クエリが間違った結果を返す問題を修正します。 - 入力引数
string
が%Y-%m-%d\n%H:%i:%s
の形式の場合、cast(string as datetime)
が間違った結果を返す問題を修正
- 入力引数
ツール
バックアップと復元 (BR)
- 復元操作の完了後にリージョンが不均一に分散される可能性があるという潜在的な問題を修正します#31034
TiCDC
- 長い varchar がエラーを報告するバグを修正
Column length too big
#4637 - PD リーダーが強制終了されたときに TiCDC ノードが異常終了するバグを修正します#4248
- セーフモードで update ステートメントの実行エラーが発生すると、DM-workerpanic#4317が発生する可能性がある問題を修正します。
- TiKV クライアントのキャッシュされたリージョン メトリックがマイナス#4300になる可能性がある問題を修正します
- 必要なプロセッサ情報が存在しない場合に HTTP API がパニックするバグを修正#3840
- 一時停止中の変更フィードを削除すると、REDO ログがクリーンアップされないバグを修正します#4740
- コンテナ環境で OOM を修正する#1798
- ローディングタスクを停止するとタスクが予期せず転送されるバグを修正#3771
- ローダー#3252の
query-status
コマンドに対して間違った進行状況が返される問題を修正します。 - クラスタ内に異なるバージョンの TiCDC ノードがある場合、HTTP API が機能しない問題を修正します#3483
- S3 ストレージが TiCDC Redo Log #3523で構成されている場合、TiCDC が異常終了する問題を修正します。
- デフォルト値をレプリケートできない問題を修正#3793
batch-replace-enable
が無効になっている場合、MySQL シンクが重複したreplace
SQL ステートメントを生成するバグを修正します#4501- ステータス#4281を照会した場合にのみ syncer メトリクスが更新される問題を修正します。
mq sink write row
監視データがない問題を修正#3431min.insync.replicas
がreplication-factor
#3994より小さい場合にレプリケーションが実行できない問題を修正mq sink write row
監視データがない問題を修正#3431- レプリケーション タスクが削除されたときに発生する潜在的なpanicの問題を修正します#3128
- デッドロックが原因でレプリケーション タスクがスタックする潜在的な問題を修正します#4055
- etcd #2980でタスク ステータスを手動でクリーニングするときに発生する TiCDCpanicの問題を修正します。
- DDL ステートメントの特殊なコメントによってレプリケーション タスクが停止する問題を修正します#3755
config.Metadata.Timeout
#3352の構成が正しくないために発生するレプリケーション停止の問題を修正します。- 一部の RHEL リリースでタイムゾーンの問題が原因でサービスを開始できない問題を修正します#3584
stopped
クラスターのアップグレード後に変更フィードが自動的に再開される問題を修正します#3473- デフォルト値をレプリケートできない問題を修正#3793
- MySQL シンクのデッドロック#2706が原因で頻繁に警告が表示される問題を修正
- Canal および Maxwell プロトコル#3676で
enable-old-value
構成項目が自動的にtrue
に設定されないバグを修正 - Avro シンクが JSON 型の列の解析をサポートしていない問題を修正します#3624
- changefeed チェックポイントラグ#3010の負の値のエラーを修正します。
- 長い varchar がエラーを報告するバグを修正
TiDB データ移行 (DM)
- DM-master と DM-worker を特定の順序で再起動した後、DM #3478 master のリレー ステータスが間違っているというバグを修正します。
- 再起動後に DM-worker が起動しないバグを修正#3344
- PARTITION DDL の実行に時間がかかりすぎると DM タスクが失敗するバグを修正します#3854
- アップストリームが MySQL 8.0 #3847の場合に DM が
invalid sequence
を報告することがあるバグを修正 - DM がよりきめ細かい再試行を行うと、データが失われるバグを修正します#3487
CREATE VIEW
ステートメントがデータ レプリケーションを中断する問題を修正します#4173- DDL ステートメントがスキップされた後にスキーマをリセットする必要がある問題を修正します#4177
TiDB Lightning