TiDB 4.0.5 リリースノート
発売日: 2020年8月31日
TiDB バージョン: 4.0.5
互換性の変更
ティビ
新機能
ティクヴ
- エラー#8387のエラー コードを定義する
TiFlash
- TiDBによる統合ログ形式をサポート
ツール
改善点
ティビ
- 大規模なユニオンクエリ#18941の
DecodePlan
のパフォーマンスを最適化する Region cache miss
エラー発生時の GC ロックスキャン回数を減らす#18876- 統計フィードバックがクラスターのパフォーマンスに与える影響を軽減する#18772
- RPC 応答が返される前に操作をキャンセルする機能をサポート#18580
- TiDBメトリックプロファイル#18531を生成するためのHTTP APIを追加する
- 分散パーティションテーブルのサポート#17863
- Grafana #18679で各インスタンスの詳細なメモリ使用量を追加する
EXPLAIN
#18892の結果のBatchPointGet
演算子の詳細な実行時間情報を表示しますEXPLAIN
#18817の結果のPointGet
演算子の詳細な実行時間情報を表示しますremove()
#18395分のConsume
の潜在的なデッドロックを警告するStrToInt
とStrToFloat
の動作を改良し、JSON をdate
、time
、timestamp
型に変換することをサポートする#18159TableReader
演算子#18392のメモリ使用量の制限をサポートbatch cop
リクエスト#18999再試行する際のバックオフ回数の多さを避けるALTER TABLE
アルゴリズム#19270の互換性を向上- 単一のパーティションテーブルを内側#19151に
IndexJoin
サポートする - ログに無効な行が含まれている場合でもログファイルの検索をサポート#18579
- 大規模なユニオンクエリ#18941の
PD
- 特別なエンジン( TiFlashなど)を使用してストア内の散乱領域をサポート#2706
- 特定のキー範囲#2687のリージョンスケジュールを優先するリージョンHTTP API をサポートします。
- リージョン分散後のリーダー分布を改善する#2684
- TSOリクエスト#2678のテストとログを追加する
- リージョンのリーダーが変更された後の無効なキャッシュ更新を回避する#2672
store.GetLimit
墓石ストア#2743を返却できるようにするオプションを追加します- PDリーダーとフォロワー間のリージョンリーダーの変更の同期をサポート#2795
- GCセーフポイントサービス#2797を照会するためのコマンドを追加する
- パフォーマンスを向上させるためにフィルターの
region.Clone
呼び出しを置き換える#2801 - 大規模クラスタのパフォーマンスを向上させるために、リージョンフローキャッシュの更新を無効にするオプションを追加します#2848
TiFlash
- CPU、I/O、RAMの使用状況やstorageエンジンのメトリクスを表示するGrafanaパネルを追加します。
- Raftログの処理ロジックを最適化することでI/O操作を削減
- ブロックされた
add partition
DDL ステートメントのリージョンスケジューリングを高速化する - DeltaTree のデルタデータの圧縮を最適化して、読み取りと書き込みの増幅を削減します。
- 複数のスレッドを使用してスナップショットを前処理することにより、リージョンスナップショットの適用パフォーマンスを最適化します。
- TiFlashの読み取り負荷が低いときに開くファイル記述子の数を最適化して、システムリソースの消費を削減します。
- TiFlashの再起動時に作成される不要な小さなファイルの数を最適化します
- データstorage時の暗号化をサポート
- データ転送にTLSをサポート
ツール
バグ修正
ティビ
builtinCastRealAsDecimalSig
関数#18967でErrTruncate/Overflow
エラーが誤って処理されたために発生するshould ensure all columns have the same length
エラーを修正します。- パーティションテーブル#18837で
pre_split_regions
テーブルオプションが機能しない問題を修正 - 大規模なトランザクションが途中で終了する可能性がある問題を修正#18813
collation
関数を使用すると間違ったクエリ結果が返される問題を修正#18735getAutoIncrementID()
関数がtidb_snapshot
セッション変数を考慮しないバグを修正しました。これにより、ダンパーツールがtable not exist
エラー#18692で失敗する可能性があります。- SQL文の
unknown column error
select a from t having t.a
#18434のように修正します。 - パーティションキーが整数型#18186の場合、64 ビットの符号なし型をハッシュパーティションテーブルに書き込むとオーバーフローが発生し、予期しない負の数値が返されるというpanic問題を修正しました。
char
関数#18122の誤った動作を修正ADMIN REPAIR TABLE
文が範囲パーティション#17988式で整数を解析できない問題を修正SET CHARSET
文#17289の誤った動作を修正する- 間違った照合順序設定によって
collation
関数#17231の間違った結果が発生するバグを修正しました STR_TO_DATE
のフォーマットトークン '%r'、'%h' の処理が MySQL #18727のものと矛盾している問題を修正しました。cluster_info
表#18413の TiDB バージョン情報が PD/TiKV のバージョン情報と一致しない問題を修正- 悲観的トランザクションの既存のチェックを修正#19004
union select for update
実行すると同時競合#19006が発生する可能性がある問題を修正apply
PointGet
演算子#19046の子がある場合の間違ったクエリ結果を修正IndexLookUp
Apply
演算子#19496の内側にある場合に発生する誤った結果を修正します。anti-semi-join
クエリ#19472の誤った結果を修正BatchPointGet
#19456の誤った使用によって生じた誤った結果を修正するUnionScan
Apply
演算子#19496の内側にある場合に発生する誤った結果を修正します。EXECUTE
ステートメントを使用してコストのかかるクエリ ログ#17419を印刷することで発生するpanicを修正- 結合キーが
ENUM
またはSET
場合のインデックス結合エラーを修正しました#19235 - インデックス列#19358に
NULL
値が存在する場合にクエリ範囲を構築できない問題を修正しました。 - グローバル構成の更新によって発生するデータ競合の問題を修正#17964
- 大文字スキーマ#19286で文字セットを変更するときに発生するpanic問題を修正
- ディスクスピルアクション中に一時ディレクトリを変更することによって発生する予期しないエラーを修正#18970
- #19131進数型の間違ったハッシュキーを修正しました。
PointGet
とBatchPointGet
演算子がパーティション選択構文を考慮せず、誤った結果を得る問題を修正しました#19141Apply
演算子とUnionScan
演算子#19104を一緒に使用した場合の誤った結果を修正- インデックス付き仮想生成列が間違った値を返すバグを修正#17989
- 同時実行によるpanicを修正するために実行時統計のロックを追加します#18983
ティクヴ
PD
TiFlash
- データベースまたはテーブルの名前に特殊文字が含まれている場合、以前のバージョンからアップグレードした後にTiFlash が正常に起動できない問題を修正しました。
- 初期化中に例外がスローされた場合にTiFlashプロセスが終了できない問題を修正しました
ツール