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