TiDB 8.1.1 リリースノート
発売日:2024年8月27日
TiDB バージョン: 8.1.1
互換性の変更
TiDB Lightningを使用してCSVファイルをインポートする際、並列性とインポートパフォーマンスを向上させるために大きなCSVファイルを複数の小さなCSVファイルに分割するために
strict-format = true設定する場合は、明示的にterminator指定する必要があります。指定できる値は\r、または\r\n\n。行末文字を指定しないと、CSVファイルデータの解析時に例外が発生する可能性があります#37338 @ ランス6716IMPORT INTO使用してCSVファイルをインポートする際、SPLIT_FILEパラメータを指定して大きなCSVファイルを複数の小さなCSVファイルに分割し、同時実行性とインポートパフォーマンスを向上させる場合は、行末文字LINES_TERMINATED_BY明示的に指定する必要があります。値は\r、\n、または\r\nです。行末文字を指定しないと、CSVファイルデータの解析時に例外が発生する可能性があります#37338 @ ランス6716並列計算中のディスクオーバーフローによるクエリ結果の誤りを回避するため、変数
tidb_enable_parallel_hashagg_spillのデフォルト値をONからOFFに変更してください。v8.0.0またはv8.1.0からv8.1.1にアップグレードしたクラスターの場合、この変数はアップグレード後もデフォルト値のONのままとなるため、手動でOFFに変更することをお勧めします#55290 @ xzhangxian1008TiKV構成項目
server.grpc-compression-typeのスコープを変更します。
オフラインパッケージの変更
v8.1.1 では、 TiDB-community-toolkit バイナリパッケージからarbiter削除されます。
改善点
TiDB
- TiFlash配置ルールを一括削除することで、パーティションテーブル#54068 @ ロイド・ポティガーで
TRUNCATEまたはDROP操作を実行した後のデータGCの処理速度が向上します。 - MPP ロード バランシング#52313 @ xzhangxian1008中にリージョンのないストアを削除する
- TiKV の高負荷時に広範囲にわたるタイムアウトを回避するために、統計を同期的にロードするタスクの優先度を一時的に高く調整します。タイムアウトにより、統計がロードされない可能性があります#50332 @ ウィノロス
EXPLAINステートメントはtidb_redact_log設定の適用をサポートし、ログ処理ロジックをさらに最適化します。EXPLAINステートメントの出力にtidb_redact_log設定を適用し、ログ#54565 @ ホーキングレイの処理ロジックをさらに最適化することをサポート
- TiFlash配置ルールを一括削除することで、パーティションテーブル#54068 @ ロイド・ポティガーで
PD
TiFlash
ツール
バックアップと復元 (BR)
- ログバックアップ中に生成される一時ファイルの暗号化をサポート#15083 @ ユジュンセン
br log restoreサブコマンドを除き、他のbr logサブコマンドはすべて、メモリ消費量を削減するために TiDBdomainデータ構造のロードをスキップすることをサポートしています#52088 @ リーヴルス- 環境変数#45551 @ リドリスRによる Alibaba Cloud アクセス資格情報の設定をサポート
- TiKVが各SSTファイルをダウンロードする前に、TiKVのディスク容量が十分かどうかのチェックをサポートします。容量が不足している場合、 BRは復元を終了し、エラー#17224 @ リドリスRを返します。
TiCDC
- シンプルプロトコルを使用したチェンジフィードが#11315 @ アズドンメンで開始されたときに、すべてのテーブルの BOOTSTRAP メッセージをダウンストリームに一度に送信することをサポートします。
- ダウンストリームがメッセージキュー(MQ)またはクラウドstorageの場合に生のイベントを直接出力することをサポートします#11211 @ チャールズ・チュン96
バグ修正
TiDB
- HashAgg 演算子のディスク スピルにより並列計算#55290 @ xzhangxian1008中に誤ったクエリ結果が発生する問題を修正しました
- SQLが異常中断されたときに
INDEX_HASH_JOIN正常に終了できない問題を修正#54688 @ wshwsh12 - 厳密に自己増分ではないRANGEパーティションテーブルが#54829 @ 定義2014で作成できる問題を修正
_tidb_rowidのPointGet実行プランが#54583 @ 定義2014で生成できる問題を修正- スローログ内の内部SQL文がデフォルトでnullに編集される問題を修正#54190 #52743 #53264 @ lcwangchao
UPDATE操作で複数テーブルシナリオ#53742 @ ホーキングレイで TiDB OOM が発生する可能性がある問題を修正- 関連するサブクエリがある場合にウィンドウ関数がpanic可能性がある問題を修正#42734 @ ハイラスティン
- 照合順序が
utf8_binまたはutf8mb4_bin#53730 @ エルサ0520の場合にLENGTH()条件が予期せず削除される問題を修正しました - トランザクション内のステートメントが OOM によって強制終了された後、TiDB が同じトランザクション内で次のステートメントの実行を継続すると、エラー
Trying to start aggressive locking while it's already startedが発生し、panic#53540 @ ミョンケミンタが発生する可能性がある問題を修正しました。 ?引数を含むCONVEXECUTEPREPAREを複数回実行すると、誤ったクエリ結果が返される可能性がある問題を修正しました#53505 @ qw4990- 再帰 CTE 演算子がメモリ使用量#54181 @ グオシャオゲを誤って追跡する問題を修正しました
SHOW WARNINGS;使用して警告を取得するとpanicが発生する可能性がある問題を修正#48756 @ xhebox- TopN演算子が誤って#37986 @ qw4990にプッシュダウンされる可能性がある問題を修正しました
- 常に
true#46962 @ エルサ0520となる述語を持つSHOW ERRORS文を実行すると TiDB がパニックを起こす問題を修正しました。 STATEのフィールドのうちsize番目が定義されていないため、INFORMATION_SCHEMA.TIDB_TRXのテーブルのSTATEフィールドが空になる問題を修正しました#53026 @ cfzjywxkSELECT DISTINCT CAST(col AS DECIMAL), CAST(col AS SIGNED) FROM ...クエリを実行すると誤った結果が返される可能性がある問題を修正#53726 @ ホーキングレイ- DDL ステートメントが etcd を誤って使用し、タスクが#52335 @ wjhuang2016でキューに入れられる問題を修正しました。
- GlobalStatsの
Distinct_count情報が正しくない可能性がある問題を修正しました#53752 @ ホーキングレイ - 自動統計収集中にシステム変数
tidb_enable_async_merge_global_statsとtidb_analyze_partition_concurrency有効にならない問題を修正#53972 @ ハイラスティン - 最初の引数が
monthで、2番目の引数が負の#54908 @ xzhangxian1008場合にTIMESTAMPADD()関数が無限ループに入る問題を修正しました。 - ハンドシェイクが完了する前に一部の接続が終了した場合に、Grafana の接続数監視メトリックが正しく表示されない問題を修正しました#54428 @ ヤンケオ
- TiProxy とリソース グループ#54545 @ ヤンケオの使用時に各リソース グループの接続数が正しくない問題を修正しました
- 再帰CTE #49721 @ ホーキングレイでビューの使用が機能しない問題を修正
- 大規模並列処理 (MPP) #51362 @ アイリンキッドで
finalAggMode とnon-finalAggMode が共存できない問題を修正しました - オプティマイザーヒント#53767 @ ホーキングレイ使用時に誤った警告情報が表示される問題を修正しました
HashJoinまたはIndexLookUp演算子がApply演算子#54005 @ 徐淮嶼の駆動側サブノードである場合にmemTracker切り離されないことで発生する異常に高いメモリ使用量の問題を修正しました。- 不正な列タイプ
DECIMAL(0,0)場合によっては作成される可能性がある問題を修正#53779 @ 接線 (*PointGetPlan).StatsInfo()#49803 #43339 @ qw4990の実行中に発生する可能性のあるデータ競合の問題を修正しました- 特定の状況下でプランキャッシュを使用する際に、メタデータロックの不適切な使用によって異常なデータが書き込まれる可能性がある問題を修正#53634 @ ジムララ
- JSON関連の関数がMySQLと矛盾するエラーを返す場合がある問題を修正#53799 @ ドヴェーデン
- 外部キー#53652 @ ホーキングレイを持つテーブルを作成するときに、TiDBが対応する統計メタデータ(
stats_meta)を作成しない問題を修正しました。 memory_quotaヒントがサブクエリ#53834 @ qw4990で機能しない可能性がある問題を修正しました- 起動時に統計情報をロードするときにTiDBがGCによるエラーを報告する可能性がある問題を修正#53592 @ あなた06
CREATE OR REPLACE VIEW同時に実行するとtable doesn't existエラー#53673 @ 接線が発生する可能性がある問題を修正- 情報スキーマキャッシュミス#53428 @ crazycs520により、古い読み取りのクエリレイテンシーが増加する問題を修正しました。
- クラスター化インデックスを述語として使用すると
SELECT INTO OUTFILEが機能しない問題を修正#42093 @ qw4990 YEAR型の列を範囲外の符号なし整数と比較すると誤った結果が発生する問題を修正#50235 @ qw4990- データ変更操作#53951 @ qw4990を含むトランザクションで仮想列を含むテーブルをクエリすると、TiDB が誤ったクエリ結果を返す可能性がある問題を修正しました
auth_socket認証プラグイン#54031 @ lcwangchaoを使用しているときに、TiDB が認証されていないユーザーの接続を拒否できないことがある問題を修正しました。- クエリに非相関サブクエリと
LIMIT句が含まれている場合、列のプルーニングが不完全になり、最適でないプラン#54213 @ qw4990になる可能性がある問題を修正しました。 - BIGINT 以外の符号なし整数が文字列/小数点#41736 @ リトルフォールと比較されたときに誤った結果を生成する可能性がある問題を修正しました
- 設定
max-index-lengthで、分散実行フレームワーク(DXF) #53281 @ ジムララを使用してインデックスを追加するときにTiDBがpanic問題を修正しました。 - クエリ内の特定のフィルター条件により、プランナーモジュールが
invalid memory address or nil pointer dereferenceエラー#53582 #53580 #53594 #53603 @ ヤンケオを報告する可能性がある問題を修正しました - 再帰CTEクエリが無効なポインタ#54449 @ ホーキングレイを生成する可能性がある問題を修正しました
- 述語#45783 @ ホーキングレイの
Longlong型のオーバーフローの問題を修正 GROUP BYステートメント内の間接プレースホルダ?参照が列#53872 @ qw4990を見つけられない問題を修正しました- トランザクションで使用されるメモリが複数回追跡される可能性がある問題を修正#53984 @ エキシウム
- 列のデフォルト値として
CURRENT_DATE()使用するとクエリ結果が不正確になる問題を修正#53746 @ 接線 - グローバルソート#54147 @ 接線を使用してインデックスを追加するとパフォーマンスが不安定になる問題を修正しました
- v7.1 #54241 @ 接線からアップグレードした後に
SHOW IMPORT JOBSエラーUnknown column 'summary'を報告する問題を修正しました rootユーザーがtidb_mdl_view#53292 @ 接線を照会できない問題を修正- 分散実行フレームワーク (DXF) を使用してインデックスを追加する際のネットワーク パーティションによって、データ インデックス#54897 @ 接線の不整合が発生する可能性がある問題を修正しました。
- TiDB Lightning物理インポートモードの初期化中にエラーが発生し、リソースリークが発生する可能性がある問題を修正#53659 @ D3ハンター
- ビュー定義#54343 @ ランス6716でサブクエリが列定義として使用されている場合、
information_schema.columnsを使用して列情報を取得すると警告1356が返される問題を修正しました。 - インデックスアクセラレーションを使用して一意のインデックスを追加すると、所有者が#49233 @ ランス6716に切り替えられたときに
Duplicate entryエラーが発生する可能性がある問題を修正しました。 global.tidb_cloud_storage_uri#54096 @ ランス6716を設定するときに不明瞭なエラーメッセージが表示される問題を修正しました- 同期ロードQPSモニタリングメトリックが正しくない問題を修正#53558 @ ホーキングレイ
- 初期統計を同時に#53607 @ ホーキングレイでロードするときに一部の統計情報が失われる可能性がある問題を修正しました
SELECT ... FOR UPDATE#54652 @ qw4990の間違ったポイント取得プランを再利用する問題を修正しました
TiKV
- CDC とログバックアップが
advance-ts-interval構成を使用してcheck_leaderのタイムアウトを制限しないため、TiKV が正常に再起動したときにresolved_ts遅延が大きくなる場合がある問題を修正しました#17107 @ ミョンケミンタ - gRPC メッセージ圧縮方式を
grpc-compression-typeで設定しても、TiKV から TiDB #17176 @ エキシウムに送信されるメッセージには反映されない問題を修正しました。 make dockerとmake docker_testの失敗を修正#17075 @ 藤田俊希- gRPC リクエスト ソースの継続時間メトリックが監視ダッシュボード#17133 @ キング・ディランに誤って表示される問題を修正しました
- tikv-ctlの
raft regionコマンドの出力にリージョンステータス情報#17037 @ 栄光が含まれていない問題を修正しました raftstore.periodic-full-compact-start-times構成項目をオンラインで変更すると、TiKVがpanic可能性がある問題を修正しました#17066 @ スペードA-タン- 破損したRaftデータ スナップショット#15292 @ LykxSassinatorを適用すると TiKV が繰り返しpanic可能性がある問題を修正しました。
- キャッシュエントリが永続化される前に解放すると TiKV がpanic#17040 @ 栄光を起こす問題を修正しました
- CDC とログバックアップが
PD
- テーブル属性#55188 @ Jmポテトを取得するときに誤った PD API が呼び出される問題を修正しました
INFORMATION_SCHEMA.RUNAWAY_WATCHESテーブルの時間データ型が正しくない問題を修正#54770 @ HuSharp- 一部のログが編集されない問題を修正#8419 @ rleungx
Filter監視メトリック#8098 @ ノルーシュでデータが欠落している問題を修正しました- TLS が有効になっているときに HTTP クライアントがpanic可能性がある問題を修正#8237 @ okJiang
- 暗号化マネージャーが使用前に初期化されない問題を修正#8384 @ rleungx
- 同時実行性が高い場合にリソース グループがリソース使用量を効果的に制限できない問題を修正#8435 @ ノルーシュ
store limit#8253 @ lhy1024に関連するデータ競合問題を修正schedulingマイクロサービスが#8331 @ rleungxで有効化された後にスケーリングの進行状況が正しく表示されない問題を修正tsoマイクロサービスが有効になった後、TSO ノードが動的に更新されない問題を修正#8154 @ rleungx- リソースグループ#8267 @ HuSharpのデータ競合問題を修正
- 500 ミリ秒を超えるトークンをリクエストするとリソース グループがクォータ制限に達する問題を修正#8349 @ ノルーシュ
- PDリーダーを手動で転送すると#8225 @ HuSharp失敗する可能性がある問題を修正しました
- 削除されたノードがetcdクライアント#8286 @ Jmポテトの候補接続リストにまだ表示される問題を修正
ALTER PLACEMENT POLICY配置ポリシー#52257 #51712 @ ジフハウスを変更できない問題を修正- 書き込みホットスポットのスケジュール設定により配置ポリシーの制約が破られる可能性がある問題を修正#7848 @ lhy1024
- 配置ルール#7808 @ rleungxを使用しているときに、ダウンしたピアが回復しない可能性がある問題を修正しました。
- リソースグループクエリ#8217 @ ノルーシュをキャンセルするときに再試行回数が多すぎる問題を修正
- PD がオペレータ チェック#8263 @ lhy1024中に遭遇するデータ競合問題を修正しました
- ロールをリソースグループ#54417 @ Jmポテトにバインドするときにエラーが報告されない問題を修正しました
- TiKV構成項目
coprocessor.region-split-size1 MiB未満の値に設定するとPDpanic#8323 @ Jmポテトが発生する問題を修正しました
TiFlash
- TiFlashとPD間のネットワークパーティション(ネットワーク切断)により、読み取り要求タイムアウトエラー#9243 @ ロイド・ポティガーが発生する可能性がある問題を修正しました。
SUBSTRING_INDEX()関数が一部のコーナーケースでTiFlash のクラッシュを引き起こす可能性がある問題を修正#9116 @ wshwsh12- BRまたはTiDB Lightning #9118 @ ジンヘリン経由でデータをインポートした後、FastScanモードで多数の重複行が読み取られる可能性がある問題を修正しました。
- データベースの作成直後に削除されるとTiFlash がpanic可能性がある問題を修正#9266 @ ジェイソン・ファン
- TiFlashで SSL 証明書の構成を空の文字列に設定すると、誤って TLS が有効になり、 TiFlashが起動しなくなる問題を修正しました#9235 @ ジェイソン・ファン
- 分散storageおよびコンピューティングアーキテクチャで、DDL操作#9084 @ ロイド・ポティガーで非NULL列を追加した後にクエリでNULL値が誤って返される可能性がある問題を修正しました。
- データベース#9132 @ ジェイソン・ファンにまたがる空のパーティションを持つパーティションテーブルで
RENAME TABLE ... TO ...実行した後にTiFlash がpanic可能性がある問題を修正しました。 - 空のパーティション#9024 @ ジンヘリンを含むパーティション テーブルでクエリを実行するときに発生するクエリ タイムアウトの問題を修正しました。
- 遅延マテリアライゼーションが有効になった後に、一部のクエリで列タイプの不一致エラーが報告される可能性がある問題を修正#9175 @ ジンヘリン
- 遅延マテリアライゼーションが有効になった後、仮想生成列を含むクエリが誤った結果を返す可能性がある問題を修正#9188 @ ジンヘリン
ツール
バックアップと復元 (BR)
- リージョンリーダー#17168 @ リーヴルスの探索の中断により、チェックポイントバックアップ中のバックアップパフォーマンスが影響を受ける問題を修正しました。
- 増分バックアップ#54139 @ 3ポイントシュート中の DDL ジョブのスキャンの非効率性の問題を修正
- 復元プロセス中に複数のネストされた再試行によりBR がエラーを正しく識別できない問題を修正#54053 @ リドリスR
- 空の
EndKey#52574 @ 3ポイントシュートが原因でBR がトランザクション KV クラスターの復元に失敗する問題を修正しました - アドバンサー所有者の移行#53561 @ リドリスR後にログバックアップが一時停止される可能性がある問題を修正しました
ADD INDEXやMODIFY COLUMNなどのバックフィルを必要とする DDL が、増分リストア#54426 @ 3ポイントシュート中に正しく回復されない可能性がある問題を修正しました。- PD接続障害により、ログバックアップアドバンサ所有者が配置されているTiDBインスタンスがpanic#52597 @ ユジュンセンになる可能性がある問題を修正しました。
TiCDC
- リージョンの変更によりダウンストリームpanicが発生する問題を修正#17233 @ ヒック
- アップストリーム#11371 @ リデジュで新しい照合順序が無効になっている場合、TiCDC がクラスター化インデックス テーブルの主キーを正しくデコードできない問題を修正しました。
UPDATEイベントを#11402 @ 3エースショーハンドに分割した後、チェックサムが正しく0に設定されない問題を修正しました。- マルチノード環境で大量の
UPDATE操作を実行する際にChangefeedを繰り返し再起動するとデータの不整合が発生する可能性がある問題を修正#11219 @ リデジュ - 下流の Kafka にアクセスできない場合にプロセッサモジュールがスタックする可能性がある問題を修正#11340 @ アズドンメン
TiDB データ移行 (DM)
TiDB Lightning
Dumpling
TiDBBinlog