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