TiDB 5.3.1 リリースノート
リリース日:2022年3月3日
TiDB バージョン: 5.3.1
互換性の変更
ツール
TiDB Lightning
- データのインポート後に空の領域が多すぎるのを避けるため、デフォルト値
regionMaxKeyCount
を 1_440_000 から 1_280_000 に変更します#30018
- データのインポート後に空の領域が多すぎるのを避けるため、デフォルト値
改善点
ティビ
- ユーザーログインモードのマッピングロジックを最適化して、ログ記録をよりMySQL互換にします#32648
ティクヴ
PD
DR_STATE
ファイル#4341のコンテンツフォーマットを最適化する
ツール
ティCDC
- Kafka プロデューサーの設定パラメータを公開して、TiCDC #4385で設定できるようにします。
- S3 をバックエンドstorageとして使用する場合、TiCDC 起動時に事前クリーンアップ プロセスを追加します#3878
- TiCDCクライアントは証明書名が指定されていない場合でも動作します#3627
- チェックポイントのタイムスタンプが予期せず進むのを避けるために、テーブルごとにシンクのチェックポイントを管理する#3545
- チェンジフィードを再開するための指数バックオフメカニズムを追加します#3329
- TiCDC がメッセージを Kafka パーティション間でより均等に分散するように、Kafka シンクのデフォルト値を
partition-num
から 3 に変更します#3337 - 「EventFeed 再試行レート制限」ログの数を減らす#4006
- デフォルト値
max-message-bytes
を10M #4041に設定する no owner alert
table sink total row
含むPrometheusと#4054mounter row
監視buffer sink total row
とアラートを追加します#1606- TiKVストアがダウンしたときにKVクライアントが回復するまでの時間を短縮する#3191
TiDB Lightning
- ローカルディスク容量チェックが失敗した場合の事前チェックの出力メッセージを改良し、よりユーザーフレンドリーなものにします#30395
バグ修正
ティビ
- TiDBの
date_format
'\n'
MySQLと互換性のない方法で処理する問題を修正#32232 alter column set default
テーブルスキーマ#31074を誤って更新する問題を修正tidb_restricted_read_only
が有効になっているときにtidb_super_read_only
が自動的に有効にならないバグを修正#31745- 照合順序を伴う
greatest
またはleast
関数が間違った結果を返す問題を修正#31789 - クエリ#31636を実行するときに MPP タスク リストが空になるエラーを修正
- innerWorkerpanicによって発生するインデックス結合の誤った結果を修正#31494
- 列タイプを
FLOAT
からDOUBLE
#31372に変更した後の間違ったクエリ結果を修正 - インデックスルックアップ結合#30468使用してクエリを実行するときに発生する
invalid transaction
エラーを修正 Order By
#30271の最適化による誤ったクエリ結果を修正MaxDays
とMaxBackups
の設定がスローログ#25716に反映されない問題を修正INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
文を実行するとpanic#28078が発生する問題を修正
- TiDBの
ティクヴ
- ピアステータスが
Applying
#11746ときにスナップショットファイルを削除すると発生するpanic問題を修正しました。 - フロー制御が有効で、
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 メトリック#11299でインスタンスごとの gRPC リクエストの平均レイテンシーが不正確になる問題を修正
- ピアステータスが
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 データ型に変更した後に発生する可能性のあるデータの不整合を修正します。
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
ティCDC
- 長いvarcharがエラーを報告するバグを修正
Column length too big
#4637 - PDリーダーが強制終了するとTiCDCノードが異常終了するバグを修正#4248
- セーフモードでの更新ステートメントの実行エラーにより、DM ワーカーがpanicになる可能性がある問題を修正しました#4317
- TiKVクライアントのキャッシュされたリージョンメトリックが負になる可能性がある問題を修正#4300
- 必要なプロセッサ情報が存在しない場合にHTTP APIがパニックになるバグを修正#3840
- 一時停止された変更フィード#4740を削除するときに、REDO ログがクリーンアップされないバグを修正しました。
- コンテナ環境の OOM を修正#1798
- 読み込みタスクを停止するとタスク#3771が予期せず転送されるバグを修正
- ローダー#3252の
query-status
コマンドで間違った進行状況が返される問題を修正しました - クラスター内に異なるバージョンの TiCDC ノードがある場合に HTTP API が動作しない問題を修正#3483
- S3storageが TiCDC Redo Log #3523で構成されている場合に TiCDC が異常終了する問題を修正しました。
- デフォルト値を複製できない問題を修正#3793
batch-replace-enable
が無効になっている場合、MySQL シンクが重複したreplace
SQL ステートメントを生成するバグを修正#4501- ステータス#4281を照会するときにのみ同期メトリックが更新される問題を修正しました
mq sink write row
に監視データがない問題を修正#3431min.insync.replicas
がreplication-factor
より小さい場合にレプリケーションを実行できない問題を修正しました#3994mq sink write row
に監視データがない問題を修正#3431- レプリケーションタスクが削除されたときに発生する可能性のあるpanic問題を修正#3128
- デッドロックによりレプリケーションタスクが停止する可能性がある問題を修正#4055
- etcd #2980でタスク ステータスを手動でクリーンアップするときに発生する TiCDCpanicの問題を修正しました。
- DDL ステートメント内の特別なコメントによってレプリケーション タスクが停止する問題を修正#3755
config.Metadata.Timeout
#3352の誤った構成によって発生するレプリケーション停止の問題を修正- 一部の RHEL リリース#3584でタイムゾーンの問題によりサービスを開始できない問題を修正しました。
- クラスターのアップグレード後に
stopped
チェンジフィードが自動的に再開される問題を修正#3473 - デフォルト値を複製できない問題を修正#3793
- MySQLシンクデッドロック#2706による警告が頻繁に発生する問題を修正
- Canalプロトコル#3676で設定項目
enable-old-value
がtrue
に自動的に設定されないバグを修正 - AvroシンクがJSON型列#3624の解析をサポートしていない問題を修正
- チェンジフィードチェックポイントラグ#3010の負の値エラーを修正
- 長いvarcharがエラーを報告するバグを修正
TiDB データ移行 (DM)
- DM マスターと DM ワーカーを特定の順序で再起動した後に DM マスターのリレー ステータスが間違っているというバグを修正#3478
- DM-workerが再起動後に起動に失敗するバグを修正#3344
- PARTITION DDLの実行に時間がかかりすぎるとDMタスクが失敗するバグを修正#3854
- アップストリームがMySQL 8.0 #3847の場合にDMが
invalid sequence
を報告することがあるバグを修正 - DM がより細かい粒度の再試行を行うときにデータが失われるバグを修正#3487
CREATE VIEW
ステートメントがデータレプリケーション#4173を中断する問題を修正- DDL ステートメントをスキップした後にスキーマをリセットする必要がある問題を修正#4177
TiDB Lightning