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