TiDB 6.5.9 リリースノート
リリース日:2024年4月12日
TiDB バージョン: 6.5.9
クイックアクセス: クイックスタート | 本番環境へのデプロイ
互換性の変更
- RocksDB の TiKV 設定項目
track-and-verify-wals-in-manifestを追加します。これは、Write Ahead Log (WAL) の破損の可能性を調査するのに役立ちます。 #16549 @v01dstar - DR自動同期は
wait-recover-timeout設定をサポートしており、ネットワークが回復した後、sync-recover状態に戻るまでの待機時間を制御できます#6295 @disksing
改善点
TiDB
force-init-statsをtrueに設定すると、TiDB は起動時にサービスを提供する前に統計情報の初期化が完了するのを待ちます。この設定により HTTP サーバーの起動がブロックされなくなり、ユーザーは監視を継続できます。 #50854 @hawkingreiANALYZE文がメタデータロックをブロックする問題を最適化します #47475 @wjhuang2016
TiKV
- 不要な非同期ブロックを削除してメモリ使用量を削減する#16540 @overvenus
- TiKV の安定性を向上させるために、raftstore スレッドでスナップショットファイルに対する IO 操作を実行しないようにします#16564 @Connor1996
- ピアおよびストアのメッセージのスローログを追加します #16600 @Connor1996
ツール
Backup & Restore (BR)
- ローリング再起動時のログバックアップのRPO(目標復旧時点)を最適化します。これにより、ローリング再起動時のログバックアップタスクのチェックポイントラグが短縮されます#15410 @YuJuncen
- ログバックアップのマージ操作に対する許容度を向上します。比較的長いマージ操作が発生した場合、ログバックアップタスクがエラー状態に陥る可能性が低くなります。 #16554 @YuJuncen
- チェックポイントの遅延が大きい場合にログバックアップタスクを自動的に中止する機能をサポートし、GC の長時間のブロッキングや潜在的なクラスターの問題を回避します#50803 @RidRisR
- リージョンリーダーシップの移行が発生すると、PITR ログバックアップの進行のレイテンシーが長くなるという問題を軽減します#13638 @YuJuncen
- より効率的なアルゴリズムを使用して、データ復元中に SST ファイルをマージする速度を改善します #50613 @Leavrth
- データ復元中に SST ファイルをバッチで取り込むことをサポート#16267 @3pointer
- Google Cloud Storage(GCS)を外部ストレージとして使用する場合の古い互換性チェックを削除します#50533 @lance6716
- ログバックアップ中に、グローバルチェックポイントの進行に影響を与える最も遅いリージョンの情報をログとメトリックに出力します。 #51046 @YuJuncen
- BR例外処理メカニズムをリファクタリングして、未知のエラーに対する許容度を高めます#47656 @3pointer
バグ修正
TiDB
- ドロップされたテーブルがGrafana
Stats Healthy Distributionパネルでまだカウントされる問題を修正 #39349 @xuyifangreeneyes - SQL文のクエリに
MemTableScanの演算子が含まれている場合、TiDBがSQL文のWHERE <column_name>のフィルタリング条件を処理しない問題を修正しました。 #40937 @zhongzc - サブクエリの
HAVING句に相関列が含まれている場合にクエリ結果が正しくない可能性がある問題を修正しました。 #51107 @hawkingrei - 共通テーブル式 (CTE) を使用して、統計情報が欠落しているパーティションテーブルにアクセスすると、クエリ結果が正しくなくなる可能性がある問題を修正しました#51873 @qw4990
- SQL 文に
JOINが含まれ、文内のSELECTリストに定数のみが含まれる場合に、MPP を使用してクエリを実行すると、誤ったクエリ結果が返される可能性がある問題を修正しました。 #50358 @yibin87 - AUTO_INCREMENT ID を割り当てるときに、
AUTO_INCREMENT属性によって不要なトランザクション競合が発生し、ID が連続しなくなる問題を修正しました。 #50819 @tiancaiamao - Grafana の監視メトリック
tidb_statistics_auto_analyze_totalが整数として表示されない問題を修正しました #51051 @hawkingrei - パーティションテーブルのグローバル統計の同時マージ中にエラーが返される可能性がある問題を修正しました。 #48713 @hawkingrei
- 列のデフォルト値が削除されている場合、列のデフォルト値を取得するとエラーが返される問題を修正#50043 #51324 @crazycs520
- 列が書き込み専用の場合に
INSERT ignore文でデフォルト値を入力できない問題を修正#40192 @YangKeao shuffleExecが予期せず終了すると TiDB がクラッシュする問題を修正#48230 @wshwsh12HashJoinオペレーターがディスクにスピルできない場合に発生する可能性のある goroutine リークの問題を修正しました。 #50841 @wshwsh12- トランザクションで複数のステートメントをコミットするときにテーブル名の変更が有効にならない問題を修正しました #39664 @tiancaiamao
IN()述語にNULLが含まれている場合にクエリ結果が正しくない問題を修正しました #51560 @winorosBINARYタイプの JSON をクエリすると、場合によってはエラーが発生する可能性がある問題を修正しました#51547 @YangKeao- テーブルにクラスター化インデックスがある場合に並列
Applyで誤った結果が生成される可能性がある問題を修正しました。 #51372 @guo-shaoge init-statsプロセスが TiDB をpanicに陥らせ、load statsプロセスが終了する可能性がある問題を修正しました。 #51581 @hawkingreiauto analyzeがパーティションテーブルを処理しているときにtidb_merge_partition_stats_concurrency変数が有効にならない問題を修正しました #47594 @hawkingrei- 自動統計更新の時間枠を設定した後、その時間枠外でも統計が更新される可能性がある問題を修正#49552 @hawkingrei
approx_percentile関数が TiDB panicを引き起こす可能性がある問題を修正しました #40463 @xzhangxian1008BIT型の列が一部の関数の計算に関係する場合にデコード失敗によりクエリエラーが発生する可能性がある問題を修正しました#49566 #50850 #50855 @jiyfhust- CTEクエリのメモリ使用量が制限を超えたときに発生するゴルーチンリークの問題を修正しました #50337 @guo-shaoge
force-init-statsが設定されている場合に TiDB が対応するポートを listen しない問題を修正しました #51473 @hawkingrei- 主キーの型が
VARCHARの場合にALTER TABLE ... COMPACT TIFLASH REPLICAが誤って終了する可能性がある問題を修正しました #51810 @breezewish tidb_server_memory_limit変数が変更された後、tidb_gogc_tuner_thresholdシステム変数がそれに応じて調整されない問題を修正しました #48180 @hawkingrei- 集計関数をグループ計算に使用すると発生する可能性のある
Can't find column ...エラーを修正#50926 @qw4990 BITタイプの列 を処理するときにREVERSE関数がエラーを報告する問題を修正しました #50855 @jiyfhust #50850- DDL操作を実行しているテーブルにデータを一括挿入するときに
INSERT IGNOREがエラーを報告する問題を修正しました #50993 @YangKeao - TiDBサーバーがHTTPインターフェース経由でラベルを追加し成功を返すが、それが有効にならない問題を修正#51427 @you06
IFNULL関数によって返される型が MySQL と一致しない問題を修正しました #51765 @YangKeao- 初期化が完了する前に TiDBサーバーが正常とマークされる問題を修正#51596 @shenqidebaozi
TIDB_HOT_REGIONSテーブルをクエリすると、誤ってINFORMATION_SCHEMAテーブルが返される可能性がある問題を修正しました。 #50810 @Defined2014EXCHANGE PARTITIONが外部キーを誤って処理する問題を修正 #51807 @YangKeao- CTE を含むクエリを実行すると TiDB がpanicになる問題を修正#41688 @srstack
- ドロップされたテーブルがGrafana
TiKV
- スナップショットの適用によってピアの破棄処理が中断された後、スナップショットの適用が完了しても再開されない問題を修正#16561 @tonyxuqqi
- RocksDB の非アクティブな Write Ahead Logs (WAL) によってデータが破損する可能性がある問題を修正しました#16705 @Connor1996
- TiKVがブラジルとエジプトのタイムゾーンを誤って変換する問題を修正#16220 @overvenus
- 監視メトリック
tikv_unified_read_pool_thread_countにデータがない場合がある問題を修正#16629 @YuJuncen INT64の最大値より大きくUINT64の最大値より小さい JSON 整数が TiKV によってFLOAT64として解析され、TiDB との不整合が発生する問題を修正しました。 #16512 @YangKeao- 楽観的トランザクションの実行中に、他のトランザクションがそのトランザクションのロック解決操作を開始すると、トランザクションの主キーに非同期コミットまたは 1PC モードで以前にコミットされたデータがある場合、トランザクションの原子性が壊れる可能性がわずかにあるという問題を修正しました。 #16620 @MyonKeminta
PD
- スケーリングの進行状況が正しく表示されない問題を修正#7726 @CabinfeverB
MergeLabels関数が呼び出されたときにデータ競合が発生する問題を修正しました #7535 @lhy1024- リーダースイッチ後にPD監視項目
learner-peer-countが古い値を同期しない問題を修正 #7728 @CabinfeverB SHOW CONFIGのクエリ結果に非推奨の設定項目trace-region-flowが含まれる問題を修正しました #7917 @rleungx
TiFlash
- レプリカ移行中に PD とのネットワーク接続が不安定になり、 TiFlash がpanicする可能性がある問題を修正しました #8323 @JaySon-Huang
- リモート読み取りの場合にデータ競合によりTiFlash がクラッシュする可能性がある問題を修正しました #8685 @solotzg
- チャンクエンコード中に
ENUM列がTiFlashのクラッシュを引き起こす可能性がある問題を修正しました #8674 @yibin87 - 非厳密モードの
sql_modeで無効なデフォルト値を持つ列にデータを挿入するとTiFlash がpanicする可能性がある問題を修正しました #8803 @Lloyd-Pottiger TIME列の精度が変更された後にリージョンの移行、分割、またはマージが発生すると、クエリが失敗する可能性がある問題を修正しました。 #8601 @JaySon-Huang
ツール
Backup & Restore (BR)
- フルバックアップが失敗したときにログが過剰に出力される問題を修正#51572 @Leavrth
- ログバックアップタスクを一時停止後に削除しても、GCセーフポイントがすぐに復元されない問題を修正しました。 #52082 @3pointer
- BRが
AUTO_RANDOM列を含むユニオンクラスター化インデックスのAUTO_RANDOMID割り当ての進行状況をバックアップできなかった問題を修正しました。 #52255 @Leavrth - ログバックアップタスクを停止すると TiDB がクラッシュする問題を修正#50839 @YuJuncen
- 一部の極端なケースで、フルバックアップでピアが見つからない場合に TiKV がパニックを起こす問題を修正#16394 @Leavrth
TiCDC
- 変更フィードを再開するときに
snapshot lost caused by GCが時間内に報告されず、変更フィードのcheckpoint-tsが TiDB の GC セーフポイントよりも小さい問題を修正しました。 #10463 @sdojjy - DDL文が頻繁に実行されるシナリオで、間違ったBarrierTSが原因でデータが間違ったCSVファイルに書き込まれる問題を修正#10668 @lidezhu
- 同期ポイントテーブルが誤って複製される可能性がある問題を修正#10576 @asddongmen
- テーブルレプリケーションタスクをスケジュールするときに TiCDC がパニックになる問題を修正しました #10613 @CharlesCheung96
- KVクライアントのデータ競合によりTiCDCがpanicになる問題を修正 #10718 @asddongmen
- ストレージシンク使用時に、ストレージサービスによって生成されたファイルシーケンス番号が正しく増加しない可能性がある問題を修正しました。 #10352 @CharlesCheung96
- ストレージシンクシナリオでTiCDCがAzureとGCSに正しくアクセスできない問題を修正 #10592 @CharlesCheung96
open-protocolの古い値部分が、実際のタイプではなく、タイプSTRINGに応じて誤ってデフォルト値を出力する問題を修正しました。 #10803 @3AceShowHand- オブジェクトストレージシンクに一時的な障害が発生した場合に、結果整合性が有効になっている変更フィードが失敗する可能性がある問題を修正しました#10710 @CharlesCheung96
- 変更フィードを再開するときに
TiDB Data Migration (DM)
TiDB Lightning