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