TiDB5.1.2リリースノート
発売日:2021年9月27日
TiDBバージョン:5.1.2
互換性の変更
TiDB
次のバグ修正により、実行結果が変更され、アップグレードの非互換性が発生する可能性があります。
greatest(datetime) union null
が空の文字列#26532を返す問題を修正しますhaving
句が正しく機能しない可能性がある問題を修正します#26496between
式の周りの照合が異なる場合に発生する誤った実行結果を修正します#27146group_concat
関数の列に非ビン照合順序#27429がある場合に発生する誤った実行結果を修正します- 複数の列で
count(distinct)
式を使用すると、新しい照合順序が有効になっているときに誤った結果が返される問題を修正します#27091 extract
関数の引数が負の期間#27236である場合に発生する誤った結果を修正しますSQL_MODE
が' #26762の場合、無効な日付を挿入してもエラーが報告されない問題を修正します。SQL_MODE
が「NO_ZERO_IN_DATE」の場合に無効なデフォルトの日付を使用してもエラーが報告されない問題を修正します#26766
ツール
TiCDC
- 互換性のあるバージョンを
5.1.0-alpha
から#2659に設定し5.2.0-alpha
- 互換性のあるバージョンを
改善
TiDB
- ヒストグラムの行数で自動分析をトリガーし、このトリガーアクションの精度を高めます#24237
TiKV
PD
TiFlash
DATE()
機能をサポート- インスタンスごとの書き込みスループットのためにGrafanaパネルを追加します
leader-read
のプロセスのパフォーマンスを最適化する- MPPタスクをキャンセルするプロセスを加速します
ツール
TiCDC
Dumpling
START TRANSACTION ... WITH CONSISTENT SNAPSHOT
およびSHOW CREATE TABLE
をサポートしない#309互換データベースのバックアップをサポートする
バグの修正
TiDB
- ハッシュ列が
ENUM
タイプ#27893の場合に、インデックスハッシュ結合の潜在的な誤った結果を修正します。 - まれに、アイドル状態の接続をリサイクルするとリクエストの送信がブロックされる可能性があるバッチクライアントのバグを修正します#27678
FLOAT64
タイプのオーバーフローチェックがMySQL3のオーバーフローチェックと異なる問題を修正し#23897- TiDBが
pd is timeout
エラー#26147を返す必要があるのにunknow
エラーを返す問題を修正します case when
式#26662の間違った文字セットと照合順序を修正します- MPPクエリの潜在的な
can not found column in Schema column
エラーを修正します#28148 - TiFlashがシャットダウンしているときにTiDBがパニックになる可能性があるバグを修正します#28096
enum like 'x%'
を使用することによって引き起こされる間違った範囲の問題を修正し#27130- IndexLookupJoin #27410で使用した場合の、共通テーブル式(CTE)のデッドロックの問題を修正します。
- 再試行可能なデッドロックが
INFORMATION_SCHEMA.DEADLOCKS
テーブル#27400に誤って記録されるバグを修正します。 - パーティション化されたテーブルからの
TABLESAMPLE
のクエリ結果が期待どおりにソートされない問題を修正します#27349 - 未使用の
/debug/sub-optimal-plan
を削除し#27265 - ハッシュ分割テーブルが署名されていないデータを処理するときにクエリが間違った結果を返す可能性があるバグを修正します#26569
NO_UNSIGNED_SUBTRACTION
が設定されている場合にパーティションの作成が失敗するバグを修正します#26765Apply
が#26958に変換されるときにdistinct
フラグが欠落する問題を修正しJoin
- 新しく回復されたTiFlashノードのブロック期間を設定して、この期間中にクエリがブロックされないようにします#26897
- CTEが複数回参照されるときに発生する可能性のあるバグを修正します#26212
- MergeJoinが使用されている場合のCTEバグを修正します#25474
- 通常のテーブルがパーティション化されたテーブル#26251に結合するときに、
SELECT FOR UPDATE
ステートメントがデータを正しくロックしないというバグを修正します。 - 通常のテーブルがパーティションテーブル#26250に結合すると、
SELECT FOR UPDATE
ステートメントがエラーを返す問題を修正します。 PointGet
がロック#26562を解決するライトバージョンを使用しないという問題を修正します
- ハッシュ列が
TiKV
- TiKVがv3.xからそれ以降のバージョンにアップグレードされた後に発生するパニックの問題を修正します#10902
- 破損したスナップショットファイルによって引き起こされる潜在的なディスクフルの問題を修正する#10813
- TiKVコプロセッサーの遅いログに、要求の処理に費やされた時間のみを考慮させる#10841
- sloggerスレッドが過負荷になり、キューがいっぱいになったときにスレッドをブロックする代わりにログをドロップする#10841
- コプロセッサー要求の処理がタイムアウトしたときに発生するパニックの問題を修正します#10852
- Titanが有効になっている5.0より前のバージョンからアップグレードするときに発生するTiKVパニックの問題を修正します#10842
- 新しいバージョンのTiKVをv5.0.xにロールバックできない問題を修正します#10842
- RocksDB1にデータを取り込む前にTiKVがファイルを削除する可能性がある問題を修正し#10438
- 左の悲観的なロックによって引き起こされた解析の失敗を修正します#26404
PD
TiFlash
- TiFlashがMPP接続の確立に失敗した場合の予期しない結果の問題を修正します
- TiFlashが複数のディスクに展開されているときに発生するデータの不整合の潜在的な問題を修正します
- TiFlashサーバーに高負荷がかかっているときにMPPクエリが間違った結果を取得するバグを修正します
- MPPクエリが永久にハングする潜在的なバグを修正します
- ストアの初期化とDDLを同時に操作するときのパニックの問題を修正します
<=
にCONSTANT
などの>
が含まれている場合に発生するCOLUMN
た結果の>=
を修正し<
Snapshot
が複数のDDL操作と同時に適用される場合の潜在的なパニックの問題を修正します- 大量の書き込みの下でメトリックのストアサイズが不正確になる問題を修正します
- TiFlashが長時間実行した後にデルタデータをガベージコレクションできないという潜在的な問題を修正します
- 新しい照合順序が有効になっている場合の誤った結果の問題を修正します
- ロックを解決するときに発生する可能性のあるパニックの問題を修正します
- メトリックが間違った値を表示する潜在的なバグを修正します
ツール
バックアップと復元(BR)
- データのバックアップと復元中に平均速度が正確でないという問題を修正します#1405
Dumpling
TiCDC
string
または#2758の文字列型の値を処理するときにJSONエンコーディングがパニックを引き起こす可能性があるバグを修正し[]byte
- OOM #2673を回避するために、gRPCウィンドウサイズを縮小します
- 高いメモリプレッシャーの下での
keepalive
エラーを修正します#2202 - 署名されていない
tinyint
がTiCDCをパニックに陥らせるバグを修正します#2648 - TiCDCOpenProtocolの空の値の問題を修正します。 1つのトランザクションに変更がない場合、空の値は出力されなくなりました。 #2612
- 手動再起動中のDDL処理のバグを修正#2603
- メタデータを管理するときに
EtcdWorker
のスナップショットアイソレーションが誤って違反される可能性があるという問題を修正します#2559 - TiCDCがテーブルを再スケジュールしているときに複数のプロセッサが同じテーブルにデータを書き込む可能性があるバグを修正します#2230
- TiCDCが
ErrSchemaStorageTableMiss
エラー#2422を取得したときにchangefeedが予期せずリセットされる可能性があるバグを修正します - TiCDCが
ErrGCTTLExceeded
エラー#2391を取得したときにchangefeedを削除できないバグを修正します - TiCDCが大きなテーブルを#1259に同期できないバグを修正し#2424 。