TiDB4.0.9リリースノート
発売日:2020年12月21日
TiDBバージョン:4.0.9
互換性の変更
TiDB
enable-streaming
構成アイテム#21055を廃止します
TiKV
- 静止時の暗号化が有効になっている場合のI/Oとミューテックスの競合を減らします。変更は後方互換性がありません。ユーザーがクラスタをv4.0.9より前のバージョンにダウングレードする必要がある場合は、ダウングレードの前に
security.encryption.enable-file-dictionary-log
を無効にし、TiKVを再起動する必要があります。 #9195
- 静止時の暗号化が有効になっている場合のI/Oとミューテックスの競合を減らします。変更は後方互換性がありません。ユーザーがクラスタをv4.0.9より前のバージョンにダウングレードする必要がある場合は、ダウングレードの前に
新機能
TiFlash
- ストレージエンジンの最新データを複数のディスクに保存することをサポートします(実験的)
TiDBダッシュボード
改善
TiDB
- 等しい条件を他の条件に変換するときは、ヒューリスティックな方法で(インデックス)マージ結合を避けてください#21146
- ユーザー変数の種類を区別する#21107
- 構成ファイル#20922での
GOGC
変数の設定のサポート - ダンプされたバイナリ時間(
Timestamp
およびDatetime
)を#21135との互換性を高めます LOCK IN SHARE MODE
構文#21005を使用するステートメントにエラーメッセージを提供します- ショートカット可能な式で定数を折りたたむときに、不要な警告やエラーを出力しないようにする#21040
LOAD DATA
ステートメント#21199を準備するときにエラーを発生させます- 整数列タイプを変更するときは、整数のゼロフィルサイズの属性を無視します#20986
EXPLAIN ANALYZE
#21066の結果に、DMLステートメントのエグゼキュータ関連のランタイム情報を追加します。- 単一のSQLステートメントの主キーに対する複数の更新を禁止する#21113
- 接続アイドル時間の監視メトリックを追加します#21301
runtime/trace
のツールが実行されているときに一時的にスローログを有効にします#20578
TiKV
- タグを追加して、
split
コマンドのソースをトレースします#8936 pessimistic-txn.pipelined
構成の動的変更をサポート#9100- Backup&Restoreと#9098を実行する際のパフォーマンスへの影響を減らす
- 取り込み中のSSTエラーの監視メトリックを追加する#9096
- 一部のピアがまだログを複製する必要があるときにリーダーが休止状態になるのを防ぐ#9093
- パイプライン化された悲観的ロックの成功率を上げる#9086
- デフォルト値の
apply-max-batch-size
とstore-max-batch-size
を#9020に変更し1024
。 max-background-flushes
の構成アイテム#8947を追加します- パフォーマンスを向上させるために、デフォルトで
force-consistency-checks
を無効にします#9029 - リージョンサイズのクエリを
pd heartbeat worker
から#9185までオフロードしsplit check worker
- タグを追加して、
PD
TiDBダッシュボード
TiFlash
- レプリカ読み取りの待ち時間を短縮する
- TiFlashのエラーメッセージを調整する
- データ量が膨大な場合は、キャッシュデータのメモリ使用量を制限してください
- 処理されているコプロセッサー・タスクの数のモニター・メトリックを追加します
ツール
バックアップと復元(BR)
TiCDC
Dumpling
TiDB Lightning
TiDB Binlog
- アップストリームPDがダウンしている場合、またはダウンストリームへのDDLまたはDMLステートメントの適用が失敗した場合は、ゼロ以外のコードでDrainerプロセスを終了します#1012
バグの修正
TiDB
OR
条件#21287でプレフィックスインデックスを使用した場合の誤った結果の問題を修正します。- 自動再試行が有効になっているときにパニックを引き起こす可能性のあるバグを修正します#21285
- 列タイプ#21273に従ってパーティション定義をチェックするときに発生するバグを修正します
- パーティション式の値タイプがパーティション列タイプ#21136と一致しないバグを修正します
- ハッシュタイプのパーティションがパーティション名が一意であるかどうかをチェックしないバグを修正します#21257
- 非
INT
タイプの値をハッシュ分割テーブル#21238に挿入した後に返される誤った結果を修正します - 場合によっては
INSERT
ステートメントでインデックス結合を使用するときの予期しないエラーを修正します#21249 CASE WHEN
演算子のBigInt
の符号なし列の値がBigInt
の符号付きの値に誤って変換される問題を修正します#21236- インデックスハッシュ結合とインデックスマージ結合が照合順序を考慮しないバグを修正します#21219
- パーティション化されたテーブルが
CREATE TABLE
およびSELECT
構文の照合順序を考慮しないバグを修正します#21181 slow_query
のクエリ結果が一部の行#21211を見逃す可能性がある問題を修正します- データベース名が純粋な下位表現でない場合に
DELETE
がデータを正しく削除しない可能性があるという問題を修正します#21206 - DML操作後にスキーマ変更を引き起こすバグを修正します#21050
- 結合#21021を使用すると合体した列を照会できないバグを修正します
- 一部の半結合クエリの誤った結果を修正する#21019
- テーブルロックが
UPDATE
ステートメント#21002で有効にならない問題を修正します。 - 再帰ビューを構築するときに発生するスタックオーバーフローの問題を修正します#21001
- 外部結合#20954でインデックスマージ結合操作を実行したときに返される予期しない結果を修正しました
- 結果が不明なトランザクションが失敗したものとして扱われることがあるという問題を修正します#20925
EXPLAIN FOR CONNECTION
が最後のクエリプラン#21315を表示できない問題を修正します- 読み取りコミット分離レベルのトランザクションでインデックスマージを使用すると、結果が正しくない可能性があるという問題を修正します#21253
- 書き込みの競合後のトランザクションの再試行によって引き起こされる自動ID割り当ての失敗を修正します#21079
- 13を使用してJSONデータを#21074に正しくインポートできない問題を修正し
LOAD DATA
- 新しく追加された
Enum
型列のデフォルト値が正しくない問題を修正します#20998 adddate
関数が無効な文字を挿入する問題を修正します#21176- ある状況で生成された間違った
PointGet
プランが間違った結果を引き起こすという問題を修正します#21244 - MySQL #20888と互換性があるように、
ADD_DATE
関数の夏時間の変換を無視します - 末尾のスペースが
varchar
またはchar
の長さの制約を超える文字列を挿入できないバグを修正します#21282 int
とyear
を比較するときに、整数を[1, 69]
から[2001, 2069]
または[70, 99]
から[1970, 1999]
に変換しない#21283を修正します。Double
タイプのフィールド#21272を計算するときに、sum()
関数のオーバーフロー結果によって引き起こされるパニックを修正します。DELETE
が一意キー#20705にロックを追加できないバグを修正します- スナップショットの読み取りがロックキャッシュにヒットするバグを修正#21539
- 長期間のトランザクションで大量のデータを読み取った後の潜在的なメモリリークの問題を修正します#21129
- サブクエリでテーブルエイリアスを省略すると、構文エラーが返される問題を修正します#20367
- クエリの
IN
関数の引数が時間型の場合、クエリが誤った結果を返す可能性がある問題を修正します#21290
TiKV
- 列が255を超える場合、コプロセッサーが誤った結果を返す可能性がある問題を修正します#9131
- リージョンマージがネットワークパーティション#9108の間にデータ損失を引き起こす可能性がある問題を修正します
latin1
文字セット#9082を使用すると、ANALYZE
ステートメントがパニックを引き起こす可能性がある問題を修正します。- 数値タイプを時間タイプ#9031に変換したときに返される誤った結果を修正します
- 透過的データ暗号化(TDE)が有効になっている場合、TiDBLightningがインポーターバックエンドまたはローカルバックエンドを使用してSSTファイルをTiKVに取り込めないバグを修正します#8995
- 無効な
advertise-status-addr
の値を修正します(0.0.0.0
) #9036 - コミットされたトランザクションでこのキーがロックされて削除されたときにキーが存在することを示すエラーが返される問題を修正します#8930
- RocksDBキャッシュマッピングエラーがデータ破損を引き起こす問題を修正します#9029
- リーダーが転送された後、フォロワー読み取りが古いデータを返す可能性があるバグを修正します#9240
- 古い値が悲観的なロックで読み取られる可能性がある問題を修正します#9282
- リーダーの転送後にレプリカの読み取りで古いデータが取得される可能性があるバグを修正します#9240
- プロファイリング#9229の後に
SIGPROF
を受信したときに発生するTiKVクラッシュの問題を修正します
PD
TiDBダッシュボード
TiFlash
INFORMATION_SCHEMA.CLUSTER_HARDWARE
に使用されていないディスクの情報が含まれている可能性があるという問題を修正します- DeltaCacheのメモリ使用量の見積もりが実際の使用量よりも小さいという問題を修正します
- スレッド情報の統計によって引き起こされるメモリリークを修正します
ツール
バックアップと復元(BR)
- S3シークレットアクセスキー#617の特殊文字によって引き起こされる障害を修正します
TiCDC
- 所有者キャンペーンキーが削除されたときに複数の所有者が存在する可能性がある問題を修正します#1104
- TiKVノードがクラッシュしたとき、またはクラッシュから回復したときに、TiCDCがデータの複製を続行できない可能性があるバグを修正します。このバグはv4.0.8にのみ存在します。 #1198
- テーブルが初期化される前にメタデータがetcdに繰り返しフラッシュされる問題を修正します#1191
- 初期のGCまたはスキーマストレージがTiDBテーブルをキャッシュするときの更新
TableInfo
の遅延によって引き起こされるレプリケーションの中断の問題を修正します#1114 - DDL操作が頻繁に行われる場合にスキーマストレージのメモリコストが高くなる問題を修正します#1127
- チェンジフィードが一時停止または停止したときのゴルーチンリークを修正する#1075
- ダウンストリームKafka1のサービスまたはネットワークジッターによって引き起こされるレプリケーションの中断を防ぐために、Kafkaプロデューサーの最大再試行タイムアウトを600秒に増やし#1118 。
- Kafkaバッチサイズが有効にならないバグを修正します#1112
- TiCDCとPDの間のネットワークにジッターがあり、同時に再開される一時停止された変更フィードがある場合に、一部のテーブルの行変更が失われる可能性があるバグを修正します#1213
- TiCDCとPDの間のネットワークが安定していない場合にTiCDCプロセスが終了する可能性があるバグを修正します#1218
- TiCDCでシングルトンPDクライアントを使用し、TiCDCが誤ってPDクライアントを閉じてレプリケーションブロック#1217を引き起こすバグを修正します。
- TiCDC所有者がetcdウォッチクライアントで大量のメモリを消費する可能性があるバグを修正します#1224
Dumpling
- MySQLデータベースサーバーへの接続が閉じられたときにDumplingがブロックされる可能性がある問題を修正します#190
TiDB Lightning