TiDB 6.5.4 リリースノート

発売日: 2023年8月28日

TiDB バージョン: 6.5.4

クイックアクセス: クイックスタート | 実稼働環境への導入

互換性の変更

  • Cursor Fetchを使用して大きな結果セットを取得するときにTiDBがメモリを大量に消費する問題を修正するために、TiDBは結果セットを自動的にディスクに書き込んでメモリを解放します#43233 @ ヤンケオ
  • RocksDB の定期的な圧縮をデフォルトで無効にし、TiKV RocksDB のデフォルトの動作がバージョン 6.5.0 より前のバージョンと一致するようにしました。この変更により、アップグレード後に大量の圧縮によって発生するパフォーマンスへの影響を回避できます。さらに、TiKV では 2 つの新しい構成項目rocksdb.[defaultcf|writecf|lockcf].periodic-compaction-secondsrocksdb.[defaultcf|writecf|lockcf].ttlが導入され、RocksDB #15355 @ リクササシネーターの定期的な圧縮を手動で構成できるようになりました。

行動の変化

  • 複数の変更を含むトランザクションの場合、更新イベントで主キーまたは null 以外の一意のインデックス値が変更されると、TiCDC はイベントを削除イベントと挿入イベントに分割し、すべてのイベントが挿入イベントに先行する削除イベントのシーケンスに従うようにします。詳細については、 ドキュメント参照してください。

改善点

  • ティビ

    • 代入式#46081 @ ゲンリキを含むLOAD DATAのステートメントのパフォーマンスを最適化します
    • ディスク#45125 @ ヤンケオからダンプされたチャンクの読み取りパフォーマンスを最適化します
    • PDスケジュール#6493 @ じゃがいもを一時停止するための構成項目をhalt-schedulingつ追加します
  • ティクヴ

    • check_leaderリクエストに gzip 圧縮を使用してトラフィックを削減#14553 @ あなた06
    • Max gap of safe-tsMin safe ts regionメトリックを追加し、 tikv-ctl get-region-read-progressコマンドを導入して、resolved-tsと安全な ts の状態をより適切に観察および診断します#15082 @ エキシウム
    • TiKV で RocksDB の設定を公開し、ユーザーが TTL や定期的な圧縮などの機能を無効にできるようにします#14873 @ リクササシネーター
    • 他のスレッドに影響を与えないように、Titan マニフェスト ファイルを書き込むときにミューテックスを保持しないようにします#15351 @ コナー1996
    • 圧縮メカニズムを最適化します。リージョンが分割されるときに、分割するキーがない場合、圧縮がトリガーされ、過剰な MVCC バージョン#15282 @ スペードA-タンが排除されます。
  • PD

  • TiFlash

    • IOバッチ最適化#7735 @ リデズによるTiFlash書き込みパフォーマンスの向上
    • 不要な fsync 操作を削除してTiFlash の書き込みパフォーマンスを向上#7736 @ リデズ
    • TiFlashコプロセッサ タスク キューの最大長を制限して、コプロセッサ タスクの過剰なキューイングを回避します。これは TiFlash のサービス可用性に影響します#7747 @ リトルフォール
  • ツール

    • バックアップと復元 (BR)

      • HTTPクライアント#46011 @ リーヴルスMaxIdleConnsMaxIdleConnsPerHostパラメータを設定することで接続の再利用のサポートを強化します
      • PD または外部 S3storageへの接続に失敗した場合のBRのフォールト トレランスを向上#42909 @ リーヴルス
      • 新しい復元パラメータWaitTiflashReadyを追加します。このパラメータを有効にすると、 TiFlashレプリカが正常に複製された後に復元操作が完了します#43828 #46302 @ 3ポインター
    • ティCDC

      • TiCDC が失敗後に再試行するときのステータス メッセージを改善する#9483 @ アズドンメン
      • TiCDC が Kafka に同期するときに制限を超えるメッセージを処理する方法を最適化し、主キーのみをダウンストリーム#9574 @ 3エースショーハンドに送信することをサポートしました。
      • ストレージシンクは、HEX 形式のデータの 16 進エンコードをサポートするようになり、AWS DMS 形式仕様#9373 @ チャールズ・チュン96と互換性を持つようになりました。
    • TiDB データ移行 (DM)

      • 互換性のない DDL ステートメント#9112 @ GMHDBJDに対して厳密な楽観的モードをサポートする
    • Dumpling

      • -sqlパラメータ#45239 @ ランス6716を使用してデータをエクスポートするときに、すべてのデータベースとテーブルのクエリをスキップすることで、エクスポートのオーバーヘッドを削減します。

バグ修正

  • ティビ

    • STREAM_AGG()演算子#40857 @ ドゥージール9を押し下げるとindex out of rangeエラーが報告される可能性がある問題を修正しました
    • CREATE TABLEステートメントにサブパーティション定義が含まれている場合、TiDB がすべてのパーティション情報を無視し、パーティションテーブルを作成する問題を修正しました#41198 #41200 @ ミョンス
    • stale_read_ts設定が間違っているとPREPARE stmtデータを誤って読み取る可能性がある問題を修正#43044 @ あなた06
    • ActivateTxn #42092 @ ホーキングレイで起こり得るデータ競合の問題を修正
    • バッチクライアントがタイムリーに再接続しない問題を修正#44431 @ クレイジーcs520
    • SQL コンパイル エラー ログが編集されない問題を修正#41831 @ ランス6716
    • CTEと相関サブクエリを同時に使用すると、クエリ結果が不正確になったりpanicが発生したりする可能性がある問題を修正#44649 #38170 #44774 @ ウィノロス @ グオシャオゲ
    • TTLタスクが時間#40109 @ ヤンケオで統計更新をトリガーできない問題を修正
    • GC ロック解決ステップで一部の悲観的ロックが見逃される可能性がある問題を修正#45134 @ ミョンケミンタ
    • バイナリプロトコルを使用して TiDB に接続し、多数のPREPAREおよびEXECUTEステートメント#44612 @ うわーを実行すると、メモリリークと実行時間が増加し続ける問題を修正しました。
    • INFORMATION_SCHEMA.DDL_JOBSテーブルのQUERY列目のデータ長が列定義#42440 @ 天菜まおを超える可能性がある問題を修正しました。
    • 多数のリージョンがあるが、 PrepareまたはExecute #39605 @ 翻訳者を使用して一部の仮想テーブルをクエリするときにテーブル ID をプッシュダウンできない PD OOM 問題を修正しました。
    • パーティションテーブルに新しいインデックスを追加した後、パーティションテーブルテーブルで統計の自動収集が正しくトリガーされない可能性がある問題を修正しました#41638 @ 翻訳者
    • 統計情報におけるSQL実行詳細のメモリ消費量が多すぎると、極端な場合にTiDB OOMが発生する問題を修正#44047 @ うわー
    • バッチ コプロセッサの再試行によって誤ったリージョン情報が生成さ れ、クエリが失敗する可能性がある問題を修正#44622 @ 風の話し手
    • indexMergeのクエリが#45279 @ 翻訳者で強制終了されたときに発生するハングアップの問題を修正しました
    • システムテーブルINFORMATION_SCHEMA.TIKV_REGION_STATUSをクエリすると、場合によっては誤った結果が返される問題を修正しました#45531 @ 定義2014
    • tidb_enable_parallel_apply有効になっている場合に MPP モードでクエリ結果が正しくない問題を修正#45299 @ 風の話し手
    • tidb_opt_agg_push_downが有効になっている場合にクエリが誤った結果を返す可能性がある問題を修正#44795 @ アイリンキッド
    • 仮想列#41014 @ アイリンキッドによって発生する適切な物理プランが見つからない問題を修正
    • 空のprocessInfo #43829 @ ジムララによって発生するpanic問題を修正
    • ステートメントのn負の数#44786 @ xheboxの場合に、ステートメントSELECT CAST(n AS CHAR)のクエリ結果が正しくない問題を修正しました。
    • MySQL カーソルフェッチプロトコルを使用すると、結果セットのメモリ消費がtidb_mem_quota_query制限を超え、TiDB OOM が発生する可能性がある問題を修正しました。修正後、TiDB は結果セットを自動的にディスクに書き込み、メモリを解放します#43233 @ ヤンケオ
    • BR #44716 @ 天菜まおを使用してAUTO_ID_CACHE=1テーブルを復元するときに発生するduplicate entryエラーを修正します。
    • テーブルパーティション定義でFLOOR()関数を使用してパーティション列を#42323 @ ジフハウスに丸めた場合、 SELECTステートメントがパーティションテーブルに対してエラーを返す問題を修正しました。
    • 同時ビューによって DDL 操作がブロックされる可能性がある問題を修正#40352 @ 沢民州
    • datetime#39336 @ 翻訳者が正しくないために統計収集タスクが失敗する問題を修正しました
    • クラスターの PD ノードが置き換えられた後、一部の DDL ステートメントが一定期間停止する可能性がある問題を修正しました#33908
    • PD時間#44822 @ ジグアンに突然の変化があった場合にresolve lockハングする可能性がある問題を修正
    • インデックススキャン#45126 @ うわーでの潜在的なデータ競合問題を修正
    • FormatSQL()メソッドが入力#44542 @ ホーキングレイの非常に長い SQL 文を適切に切り捨てることができない問題を修正しました。
    • 権限がなくてもユーザーがINFORMATION_SCHEMA.TIFLASH_REPLICAテーブルの情報を表示できる問題を修正#45320 @ ロイド・ポティガー
    • DATETIMEまたはTIMESTAMP列を数値定数#38361 @ いいえと比較するときに動作が MySQL と一致しない問題を修正しました。
    • インデックス結合のエラーによりクエリが停止する可能性がある問題を修正#45716 @ うわー
    • 接続を切断すると go コルーチン リークが発生する可能性がある問題を修正#46034 @ ピンギュ
    • tmp-storage-quota設定が有効にならない問題を修正#45161 #26806 @ うわー
    • クラスター#38484 @ ヘヘチェンでTiFlashノードがダウンするとTiFlashレプリカが利用できなくなる問題を修正しました。
    • Config.Labels同時に読み書きすると、データ競合が発生して TiDB がクラッシュする問題を修正#45561 @ ゲンリキ
    • クラスターが大きい場合、クライアントが定期的に更新するとmin-resolved-ts PD OOM が発生する可能性がある問題を修正#46664 @ ヒューシャープ
  • ティクヴ

    • RawKV API V2 #15142 @ ピンギュttl-check-poll-interval設定項目が有効にならない問題を修正
    • オンライン安全でないリカバリがタイムアウト#15346 @ コナー1996で中止されない問題を修正
    • FLASHBACK #15258 @ 金星の上を実行した後にリージョンマージがブロックされる可能性がある問題を修正しました
    • 1 つの TiKV ノードが分離され、別のノードが再起動されたときに発生する可能性のあるデータの不整合の問題を修正#15035 @ 金星の上
    • データレプリケーション自動同期モード#14975 @ ノルーシュでの同期回復フェーズで QPS がゼロに低下する問題を修正しました。
    • 暗号化により部分書き込み中にデータが破損する可能性がある問題を修正#15080 @ タボキ
    • ストアハートビートの再試行回数を#15184 @ ノルーシュに減らすことで、ハートビートストームの問題を修正しました。
    • 保留中の圧縮バイト#14392 @ コナー1996の量が多い場合にトラフィック制御が機能しない可能性がある問題を修正しました。
    • PDとTiKV間のネットワーク中断によりPITRが#15279 @ ユジュンセンで停止する可能性がある問題を修正
    • TiCDC の古い値機能が有効になっている場合に TiKV がより多くのメモリを消費する可能性がある問題を修正#14815 @ ユジュンセン
  • PD

    • etcd がすでに起動しているがクライアントがまだ接続していない場合、クライアントを呼び出すと PD がpanicになる可能性がある問題を修正しました#6860 @ ヒューシャープ
    • リーダーが長時間退出できない問題を修正#6918 @ バッファフライ
    • 配置ルールがLOCATION_LABELS使用する場合、SQL とルールチェッカーが#38605 @ ノルーシュと互換性がない問題を修正しました
    • PD が予期せず複数の学習者をリージョン#5786 @ ハンダンDMに追加する可能性がある問題を修正しました。
    • ルール チェッカーがピア#6559 @ ノルーシュを選択した場合に、不健全なピアを削除できない問題を修正しました。
    • unsafe recoveryで不合格になった学習者のピアがauto-detectモード#6690 @ v01dスターで無視される問題を修正
  • TiFlash

    • fsp DATETIMETIMESTAMP 、またはTIMEデータ型#7809 @ ジェイソン・ファンに変更するとクエリが失敗する問題を修正しました。
    • 領域#7762 @ リデズの無効な範囲キーによりTiFlashデータが不整合になる問題を修正しました。
    • 同じ MPP タスク内に複数の HashAgg 演算子がある場合、MPP タスクのコンパイルに非常に長い時間がかかり、クエリのパフォーマンスに重大な影響を与える可能性がある問題を修正しました#7810 @ シーライズ
    • Online Unsafe Recovery #7671 @ ホンユンヤンを使用した後、 TiFlash の再起動に時間がかかりすぎる問題を修正しました。
    • TiFlash が#6462 @ リトルフォールの割り算を行うときにDECIMAL結果を誤って丸める問題を修正しました。
  • ツール

    • バックアップと復元 (BR)

      • BRが使用するグローバル パラメータTableColumnCountLimitIndexLimitのデフォルト値を最大値#45793 @ リーヴルスに増やすことで、復元失敗の問題を修正しました。
      • PITR #43184 @ リーヴルスで DDL メタ情報を処理するときに書き換えが失敗する問題を修正しました
      • PITR 実行中に関数の戻り値をチェックしないことで発生するpanicの問題を修正#45853 @ リーヴルス
      • Amazon S3以外のS3互換storage使用時に無効なリージョンIDが取得される問題を修正#41916 #42033 @ 3ポインター
      • RawKV モード#37085 @ ピンギュのきめ細かいバックアップ フェーズで発生する可能性のあるエラーを修正しました。
      • TiDB クラスター#40759 @ ジョッカウに PITR バックアップ タスクがない場合にresolve lockの頻度が高すぎる問題を修正
      • リージョンリーダーシップの移行が発生すると、PITR ログバックアップの進行のレイテンシーが長くなるという問題を緩和します#13638 @ ユジュンセン
    • ティCDC

      • ダウンストリームでエラーが発生し、 #9450 @ ヒックで再試行すると、レプリケーション タスクが停止する可能性がある問題を修正しました。
      • Kafka #9504 @ 3エースショーハンドに同期するときに再試行間隔が短いためにレプリケーション タスクが失敗する問題を修正しました。
      • TiCDC がアップストリーム#9430 @ スドジの 1 つのトランザクションで複数の一意のキー行を変更するときに同期書き込み競合を引き起こす可能性がある問題を修正しました。
      • TiCDC が名前変更 DDL 操作を誤って同期する可能性がある問題を修正#9488 #9378 #9531 @ アズドンメン
      • ダウンストリームで短期的な障害が発生したときにレプリケーションタスクが停止する可能性がある問題を修正#9542 #9272 #9582 #9592 @ ヒック
      • TiCDC ノードのステータスが#9354 @ スドジに変化したときに発生する可能性のあるpanic問題を修正しました。
      • Kafka Sink がエラーに遭遇すると、changefeed の進行が無期限にブロックされる可能性がある問題を修正しました#9309 @ ヒック
      • ダウンストリームが Kafka の場合、TiCDC がダウンストリームのメタデータを頻繁にクエリしすぎて、ダウンストリームに過度の負荷がかかる問題を修正しました#8957 #8959 @ ハイラスティン
      • 一部の TiCDC ノードがネットワークから分離されている場合に発生する可能性のあるデータの不整合の問題を修正#9344 @ チャールズ・チュン96
      • REDOログが有効で、下流に例外がある場合にレプリケーションタスクが停止する可能性がある問題を修正#9172 @ チャールズ・チュン96
      • PD #9294 @ アズドンメンが一時的に利用できないために変更フィードが失敗する問題を修正しました
      • TiDB または MySQL #9180 @ アズドンメンにデータを複製するときに、下流の双方向レプリケーション関連の変数を頻繁に設定することによって発生する下流ログが多すぎる問題を修正しました。
      • AvroプロトコルがEnum型の値#9259 @ 3エースショーハンドを誤って識別する問題を修正
    • TiDB データ移行 (DM)

      • 一意のキー列名が null の場合にpanicが発生する問題を修正#9247 @ ランス6716
      • バリデーターがエラーを誤って処理した場合に発生する可能性のあるデッドロックの問題を修正し、再試行メカニズムを最適化します#9257 @ D3ハンター
      • 因果関係キー#9489 @ ヒヒフフを計算するときに照合順序が考慮されない問題を修正
    • TiDB Lightning

      • エンジンがデータをインポートしているときにディスククォータチェックがブロックされる可能性がある問題を修正#44867 @ D3ハンター
      • ターゲット クラスタ#45462 @ D3ハンターで SSL が有効になっている場合にチェックサムがエラーRegion is unavailableを報告する問題を修正しました
      • エンコードエラーが正しく記録されない問題を修正#44321 @ 翻訳者
      • CSVデータ#43284 @ 翻訳者をインポートする際にルートがpanicになる可能性がある問題を修正
      • 論理インポートモードでテーブル A をインポートすると、テーブル B が存在しないと誤って報告される可能性がある問題を修正#44614 @ ダシュン
      • NEXT_GLOBAL_ROW_ID #45427 @ 翻訳者を保存するときにデータ型が間違っている問題を修正
      • checksum = "optional" #45382 @ 翻訳者のときにチェックサムがエラーを報告する問題を修正しました
      • PD クラスタ アドレスが#43436 @ リチュンジュに変更されるとデータのインポートが失敗する問題を修正しました
      • 一部のPDノードが#43400 @ リチュンジュで失敗した場合にデータのインポートが失敗する問題を修正
      • 自動増分列を持つテーブルがAUTO_ID_CACHE=1を設定すると、ID アロケータのベース値が正しくなくなる問題を修正しました#46100 @ D3ハンター
    • Dumpling

      • Amazon S3 #45353 @ リチュンジュにエクスポートするときに、未処理のファイル ライターの終了エラーによりエクスポートされたファイルが失われる問題を修正しました。
    • TiDBBinlog

      • etcdクライアントが初期化中に最新のノード情報を自動的に同期しない問題を修正#1236 @ リチュンジュ

このページは役に立ちましたか?