TiDB 4.0.16 リリースノート
発売日:2021年12月17日
TiDB バージョン: 4.0.16
互換性の変更
TiKV
- v4.0.16 より前では、TiDB が不正な UTF-8 文字列を Real 型に変換すると、エラーが直接報告されます。 v4.0.16 以降、TiDB は文字列#11466の正当な UTF-8 プレフィックスに従って変換を処理します。
ツール
改良点
TiDB
- Grafana のバージョンを 7.5.7 から 7.5.11 にアップグレードする
TiKV
- バックアップと復元を使用してデータを復元するとき、またはTiDB Lightning #11469のローカル バックエンドを使用してデータをインポートするときに、zstd アルゴリズムを採用して SST ファイルを圧縮することにより、ディスク容量の消費を削減します。
ツール
バグの修正
TiDB
- コスト見積もりのために範囲をポイントに変換するときに、統計モジュールのオーバーフローによって引き起こされるクエリpanicを修正します#23625
- 制御関数(
IF
やCASE WHEN
など) のような関数のパラメーターとしてENUM
型のデータを使用する場合の誤った結果を修正します#23114 tidb_enable_vectorized_expression
(on
またはoff
) #29434の値が異なるためにGREATEST
関数が一貫性のない結果を返す問題を修正します。- 場合によっては、プレフィックス インデックスにインデックス結合を適用する際のpanicを修正します#24547
- Planner が
join
の無効なプランをキャッシュする場合がある問題を修正します#28087 sql_mode
が空の場合、TiDB が null 以外の列にnull
を挿入できないバグを修正#11648GREATEST
およびLEAST
関数の誤った結果タイプを修正します#29019grant
およびrevoke
の操作を実行してグローバル レベルの権限を付与および取り消すときのprivilege check fail
のエラーを修正します#29675ENUM
データ型#29357でCASE WHEN
関数を使用したときのpanicを修正- ベクトル化された式#29244の
microsecond
関数の間違った結果を修正 - ベクトル化された式#28643の
hour
関数の間違った結果を修正 - 楽観的なトランザクションの競合により、トランザクションが相互にブロックされる可能性があるという問題を修正します#11148
auto analyze
結果#29188の不完全なログ情報の問題を修正SQL_MODE
が 'NO_ZERO_IN_DATE' #26766の場合、無効なデフォルト日付を使用してもエラーが報告されない問題を修正します。- Grafana の Coprocessor Cache パネルにメトリックが表示されない問題を修正します。これで、Grafana は
hits
/miss
/evict
#26338の数を表示します - 同じパーティションを同時に切り捨てると DDL ステートメントがスタックする問題を修正します#26229
Decimal
をString
#29417に変換するときに長さ情報が間違っている問題を修正NATURAL JOIN
を使用して複数のテーブルを結合する場合に、クエリ結果に余分な列が含まれる問題を修正します#29481IndexScan
がプレフィックス インデックス#29711を使用すると、TopN
が誤ってindexPlan
にプッシュ ダウンされる問題を修正します。- タイプ
DOUBLE
の自動インクリメント列でトランザクションを再試行するとデータが破損する問題を修正します#29892
TiKV
- 極端な状況でリージョンのマージ、ConfChange、およびスナップショットが同時に発生したときに発生するpanicの問題を修正します#11475
- 10 進数の除算結果がゼロ#29586の場合の負号の問題を修正
- インスタンスごとの gRPC リクエストの平均レイテンシーが TiKV メトリクスで不正確である問題を修正します#11299
- ダウンストリーム データベースが見つからない場合に発生する TiCDCpanicの問題を修正します#11123
- チャネルがいっぱいになるとRaft接続が切断される問題を修正します#11047
- TiDB が
Max
/Min
関数のInt64
型が符号付き整数かどうかを正しく識別できず、Max
/Min
#10158という誤った計算結果になる問題を修正 - Congest エラー#11082により、CDC が頻繁にスキャンの再試行を追加する問題を修正します。
PD
ティフラッシュ
- ライブラリ
nsl
が存在しないため、一部のプラットフォームで TiFlash が起動しない問題を修正
- ライブラリ
ツール
Binlog
- 1 GB を超えるトランザクションを転送するとDrainerが終了するバグを修正します#28659
TiCDC
- changefeed チェックポイントラグ#3010の負の値のエラーを修正します。
- コンテナ環境で OOM を修正する#1798
- 複数の TiKV がクラッシュしたとき、または強制再起動中に TiCDC レプリケーションが中断する問題を修正します#3288
- DDL #3174の処理後のメモリ リークの問題を修正します。
- ErrGCTTLExceeded エラーが発生したときに changefeed が十分な速さで失敗しないという問題を修正します#3111
- アップストリームの TiDB インスタンスが予期せず終了すると、TiCDC レプリケーション タスクが終了する可能性がある問題を修正します#3061
- TiKV が同じリージョン#2386に重複したリクエストを送信すると、TiCDC プロセスがpanicになる可能性がある問題を修正します。
- TiCDC によって生成される Kafka メッセージの量が
max-message-size
#2962によって制限されないという問題を修正します tikv_cdc_min_resolved_ts_no_change_for_1m
変更フィードがないときにアラートが鳴り続ける問題を修正#11017- Kafka メッセージの書き込み中にエラーが発生すると、TiCDC 同期タスクが一時停止することがある問題を修正します#2978
force-replicate
が有効な場合、有効なインデックスのない一部のパーティション テーブルが無視される可能性があるという問題を修正します#2834- 新しい変更フィード#2389を作成するときのメモリ リークの問題を修正します。
- シンク コンポーネントが解決済みの ts を早期に進めることにより、データの不整合が発生する可能性がある問題を修正します#3503
- 株式データのスキャンに時間がかかりすぎると、 #2470が GC を実行するために株式データのスキャンが失敗する可能性がある問題を修正します。
- changefeed update コマンドがグローバル コマンド ライン パラメーターを認識しない問題を修正します#2803