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