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