📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB 7.1.2 リリースノート



リリース日:2023年10月25日

TiDB バージョン: 7.1.2

クイックアクセス: クイックスタート | 本番環境へのデプロイ

互換性の変更

  • セキュリティ強化モード(SEM)でrequire_secure_transportをONに設定することを禁止し、ユーザーの潜在的な接続問題を防ぎます。 #47665 @tiancaiamao
  • スムーズなアップグレード機能はデフォルトで無効になっています。有効にするには、 /upgrade/startとupgrade/finish HTTPリクエストを送信します。 #47172 @zimulala
  • オプティマイザがテーブルに対してハッシュ結合を選択するかどうかを制御するtidb_opt_enable_hash_joinシステム変数を導入します。 #46695 @coderplay
  • RocksDBの定期的な圧縮をデフォルトで無効にすることで、TiKV RocksDBのデフォルトの動作がv6.5.0より前のバージョンと一致するようになりました。この変更により、アップグレード後に大量の圧縮が行われることによるパフォーマンスへの影響を回避できます。さらに、TiKVでは2つの新しい設定項目rocksdb.[defaultcf|writecf|lockcf].periodic-compaction-secondsとrocksdb.[defaultcf|writecf|lockcf].ttlが導入され、RocksDB の定期的な圧縮を手動で設定できるようになりました。 #15355 @LykxSassinator
  • TiCDCは、CSVプロトコルにおけるバイナリデータのエンコード方式を制御するための設定項目sink.csv.binary-encoding-methodを導入しました。デフォルト値は'base64' です。 #9373 @CharlesCheung96
  • TiCDC では、設定項目large-message-handle-optionが導入されています。デフォルトでは空で、メッセージサイズが Kafka トピックの制限を超えると changefeed が失敗します。この設定を"handle-key-only"に設定すると、メッセージがサイズ制限を超えた場合、メッセージサイズを縮小するためにハンドルキーのみが送信されます。縮小されたメッセージでも制限を超える場合、changefeed は失敗します。 #9680 @3AceShowHand

動作の変更

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

改善点

  • TiDB

  • TiKV

    • 圧縮メカニズムを最適化します。リージョンが分割されるときに、分割するキーがない場合、圧縮がトリガーされ、過剰な MVCC バージョンが排除されます。 #15282 @SpadeA-Tang
    • ルータオブジェクトのLRUCacheを排除してメモリ使用量を削減し、OOM を防止します。 #15430 @Connor1996
    • Max gap of safe-tsとMin safe ts regionメトリックを追加し、 tikv-ctl get-region-read-progressコマンドを導入して、resolved-tsとsafe-ts の状態をより適切に観察および診断します#15082 @ekexium
    • TiKV で RocksDB の設定を公開し、ユーザーが TTL や定期的な圧縮などの機能を無効にできるようにします#14873 @LykxSassinator
    • 接続再試行のプロセスでPDクライアントのバックオフメカニズムを追加し、エラー再試行中に再試行間隔を徐々に増やしてPD圧力を軽減します。 #15428 @nolouch
    • Titan マニフェストファイルを書き込むときにミューテックスを保持しないようにして、他のスレッドに影響を与えないようにします#15351 @Connor1996
    • OOM を防ぐためにリゾルバのメモリ使用量を最適化します #15458 @overvenus
  • PD

    • PD 呼び出し元のバックオフ メカニズムを最適化して、呼び出しが失敗したときの RPC リクエストの頻度を減らします#6556 @nolouch @rleungx @HuSharp
    • 発信者が切断されたときにCPUとメモリを時間内に解放するために、 GetRegionsインターフェースにキャンセルメカニズムを導入する#6835 @lhy1024
  • TiFlash

    • Grafana のインデックスデータのメモリ使用量の監視メトリックを追加します #8050 @hongyunyan
  • ツール

    • Backup & Restore (BR)

      • HTTPクライアントでMaxIdleConnsとMaxIdleConnsPerHostパラメータを設定することにより、ログバックアップとPITRリストアタスクの接続再利用のサポートを強化します。 #46011 @Leavrth
      • ログバックアップのresolve lockのCPUオーバーヘッドを削減 #40759 @3pointer
      • 新しい復元パラメータWaitTiflashReadyを追加します。このパラメータを有効にすると、 TiFlashレプリカが正常に複製された後に復元操作が完了します#43828 #46302 @3pointer
    • TiCDC

      • 複数の TiCDC 監視メトリックとアラームルールを最適化します #9047 @asddongmen
      • Kafka Sink は、メッセージが大きすぎる場合にハンドルキーデータのみを送信するサポートし、過剰なメッセージ サイズによって引き起こされる変更フィードの失敗を回避します。 #9680 @3AceShowHand
      • ADD INDEX DDL操作を複製する実行ロジックを最適化して、後続のDML文をブロックしないようにします。 #9644 @sdojjy
      • TiCDC が失敗後に再試行するときのステータス メッセージを改善する#9483 @asddongmen
    • TiDB Data Migration (DM)

      • 互換性のない DDL文に対して厳密な楽観的モードをサポートする #9112 @GMHDBJD
    • TiDB Lightning

      • インポートタスクのパフォーマンスを向上させるために、デフォルト値のchecksum-via-sqlをfalseに変更します#45368 #45094 @GMHDBJD
      • データインポートフェーズ中のno leaderエラーに対するTiDB Lightningの再試行ロジックを最適化します。 #46253 @lance6716

バグ修正

  • TiDB

    • GROUP_CONCATがORDER BY列を解析できない問題を修正 #41986 @AilinKid
    • システムテーブルINFORMATION_SCHEMA.TIKV_REGION_STATUSをクエリすると、場合によっては誤った結果が返される問題を修正しました#45531 @Defined2014
    • メタデータの読み取りに 1つの DDL リースよりも長い時間がかかる場合に TiDB のアップグレードが停止する問題を修正しました #45176 @zimulala
    • CTE を含む DML 文を実行するとpanicが発生する問題を修正しました #46083 @winoros
    • パーティション交換中にパーティション定義に準拠していないデータを検出できない問題を修正 #46492 @mjonss
    • MERGE_JOINの結果が間違っている問題を修正#46580 @qw4990
    • 符号なし型とDuration型定数を比較したときに発生する誤った結果を修正しました #45410 @wshwsh12
    • AUTO_ID_CACHE=1 に設定されている場合にDuplicate entryが発生する可能性がある問題を修正しました #46444 @tiancaiamao
    • TTLが実行されているときのメモリリークの問題を修正しました #45510 @lcwangchao
    • 接続を切断すると go コルーチン リークが発生する可能性がある問題を修正#46034 @pingyu
    • インデックス結合のエラーによりクエリが停止する可能性がある問題を修正#45716 @wshwsh12
    • ハッシュパーティションテーブルに対してBatchPointGetオペレーターが誤った結果を返す問題を修正しました #46779 @jiyfhust
    • EXCHANGE PARTITIONが失敗またはキャンセルされた場合に、パーティションテーブルの制限が元のテーブルに残る問題を修正#45920 #45791 @mjonss
    • 2つのサブクエリを結合するときにTIDB_INLJヒントが有効にならない問題を修正しました #46160 @qw4990
    • DATETIMEまたはTIMESTAMP列を数値定数と比較するときに、MySQL と動作が一致しない問題を修正しました。 #38361 @yibin87
    • 深くネストされた式に対してハッシュコードが繰り返し計算され、メモリ使用量が増加し、OOM が発生する問題を修正しました。 #42788 @AilinKid
    • アクセスパスプルーニングロジックがREAD_FROM_STORAGE(TIFLASH[...])ヒントを無視し、 Can't find a proper physical planエラーが発生する問題を修正しました。 #40146 @AilinKid
    • CAST に精度損失がないのに条件cast(col)=rangeで FullScan が発生する問題を修正#45199 @AilinKid
    • plan replayer dump explainがエラーを報告する問題を修正 #46197 @time-and-fate
    • tmp-storage-quota設定が有効にならない問題を修正 #26806 @wshwsh12 #45161
    • TiDBパーサーが状態のままになり、解析エラーが発生する問題を修正#45898 @qw4990
    • MPP実行計画で集計がユニオンを介してプッシュダウンされると、結果が正しくなくなる問題を修正#45850 @AilinKid
    • AUTO_ID_CACHE=1 に設定されている場合に、panic後に TiDB がゆっくりと回復する問題を修正しました。 #46454 @tiancaiamao
    • ソート演算子がスピルプロセス中に TiDB をクラッシュさせる可能性がある問題を修正#47538 @windtalker
    • BRを使用してAUTO_ID_CACHE=1 の非クラスター化インデックステーブルを復元するときに重複する主キーの問題を修正しました。 #46093 @tiancaiamao
    • 静的プルーニングモードでパーティションテーブルをクエリし、実行計画にIndexLookUp が含まれている場合にクエリがエラーを報告する可能性がある問題を修正しました。 #45757 @Defined2014
    • パーティションテーブルと配置ポリシーテーブル間でパーティションを交換した後に、パーティションテーブルへのデータの挿入が失敗する可能性がある問題を修正しました。 #45791 @mjonss
    • タイムゾーン情報が正しくない時間フィールドをエンコードする問題を修正#46033 @tangenta
    • tmpディレクトリが存在しない場合にインデックスを高速に追加する DDL 文がスタックする問題を修正しました#45456 @tangenta
    • 複数の TiDB インスタンスを同時にアップグレードするとアップグレードプロセスがブロックされる可能性がある問題を修正#46228 @zimulala
    • リージョンを分割する際に誤ったパラメータが使用されることで発生する、リージョンが不均一に分散される問題を修正しました。 #46135 @zimulala
    • TiDB の再起動後に DDL 操作が停止する可能性がある問題を修正#46751 @wjhuang2016
    • 非整数クラスター化インデックスでのテーブル分割操作を禁止する #47350 @tangenta
    • 不正なMDL処理によりDDL操作が永続的にブロックされる可能性がある問題を修正 #46920 @wjhuang2016
    • テーブルの名前変更によって発生するinformation_schema.columnsの重複行の問題を修正 #47064 @jiyfhust
    • client-goのbatch-clientのpanic問題を修正 #47691 @crazycs520
    • パーティション化されたテーブルの統計収集が、メモリ使用量がメモリ制限を超えたときに時間内に強制終了されない問題を修正しました。 #45706 @hawkingrei
    • クエリにUNHEX条件が含まれている場合にクエリ結果が不正確になる問題を修正しました #45378 @qw4990
    • TiDBがGROUP_CONCAT のクエリに対してCan't find columnを返す問題を修正 #41957 @AilinKid
  • TiKV

    • ttl-check-poll-interval設定項目がRawKV API V2 で有効にならない問題を修正 #15142 @pingyu
    • raftstore-applys が継続的に増加するデータエラーを修正しました #15371 @Connor1996
    • データレプリケーション自動同期モードで同期回復フェーズでQPSがゼロに低下する問題を修正しました。 #14975 @nolouch
    • 1つのTiKVノードが分離され、別のノードが再起動されたときに発生する可能性のあるデータの不整合の問題を修正しました#15035 @overvenus
    • オンラインアンセーフリカバリがマージ中止を処理できない問題を修正 #15580 @v01dstar
    • PDとTiKV間のネットワーク中断によりPITRが停止する可能性がある問題を修正しました #15279 @YuJuncen
    • FLASHBACK を実行した後にリージョンマージがブロックされる可能性がある問題を修正しました #15258 @overvenus
    • ストアハートビートの再試行回数を減らして、ハートビートストームの問題を修正しました。 #15184 @nolouch
    • オンラインアンセーフリカバリがタイムアウトで中止されない問題を修正 #15346 @Connor1996
    • 暗号化により部分書き込み中にデータ破損が発生する可能性がある問題を修正 #15080 @tabokie
    • リージョンのメタデータが正しくないことによって引き起こされるTiKV panic問題を修正しました #13311 @cfzjywxk
    • オンラインワークロードがある場合にTiDB Lightningチェックサムコプロセッサのリクエストがタイムアウトする問題を修正しました #15565 @lance6716
    • ピアを移動するとFollower Readのパフォーマンスが低下する可能性がある問題を修正#15468 @YuJuncen
  • PD

    • v2 スケジューラ アルゴリズムでホットリージョンがスケジュールされない可能性がある問題を修正しました #6645 @lhy1024
    • TLSハンドシェイクにより空のクラスタでCPU使用率が上昇する可能性がある問題を修正 #6913 @nolouch
    • PDノード間の注入エラーによりPD panicが発生する可能性がある問題を修正しました #6858 @HuSharp
    • ストア情報の同期によりPDリーダーが終了して停止する可能性がある問題を修正しました。 #6918 @rleungx
    • フラッシュバック後にリージョン情報が更新されない問題を修正 #6912 @overvenus
    • 終了時に PD がpanicになる可能性がある問題を修正しました #7053 @HuSharp
    • コンテキストタイムアウトによりlease timeoutエラーが発生する可能性がある問題を修正 #6926 @rleungx
    • ピアがグループごとに適切に分散されず、リーダーの分布が不均等になる可能性がある問題を修正しました。 #6962 @rleungx
    • pd-ctl を使用して更新するときに分離レベル ラベルが同期されない問題を修正しました #7121 @rleungx
    • evict-leader-schedulerが構成を失う可能性がある問題を修正 #6897 @HuSharp
    • プラグインディレクトリとファイルの潜在的なセキュリティリスクを修正#7094 @HuSharp
    • リソース制御を有効にした後に DDL がアトミック性を保証しない可能性がある問題を修正しました #45050 @glorv
    • ルールチェッカーがピアを選択した場合に、不健全なピアを削除できない問題を修正しました #6559 @nolouch
    • etcd がすでに起動しているがクライアントがまだ接続していない場合、クライアントを呼び出すと PD がpanicになる可能性がある問題を修正しました。 #6860 @HuSharp
    • RU消費量が0未満の場合にPDがクラッシュする問題を修正 #6973 @CabinfeverB
    • クラスタが大きい場合、client-go がmin-resolved-tsを定期的に更新することで PD OOMを引き起こす可能性がある問題を修正しました#46664 @HuSharp
  • TiFlash

    • MemoryTracker によって報告されるメモリ使用量が不正確であるという問題を修正#8128 @JinheLin
    • リージョンの無効な範囲キーによりTiFlashデータが不整合になる問題を修正しました #7762 @lidezhu
    • DATETIME 、 TIMESTAMP 、またはTIMEデータ型のfspを変更した後にクエリが失敗する問題を修正しました #7809 @JaySon-Huang
    • 同じ MPP タスク内に複数の HashAgg オペレーターがある場合、MPP タスクのコンパイルに非常に長い時間がかかり、クエリのパフォーマンスに重大な影響を与える可能性がある問題を修正しました#7810 @SeaRise
  • ツール

    • Backup & Restore (BR)

      • PITR を使用して暗黙の主キーを回復すると競合が発生する可能性がある問題を修正#46520 @3pointer
      • PITRがGCS からデータを回復できない問題を修正 #47022 @Leavrth
      • RawKVモードのきめ細かなバックアップフェーズで発生する可能性のあるエラーを修正 #37085 @pingyu
      • PITRを使用してメタkvを回復するとエラーが発生する可能性がある問題を修正しました #46578 @Leavrth
      • BR統合テストケースのエラーを修正 #46561 @purelind
      • BRで使用されるグローバルパラメータTableColumnCountLimitとIndexLimitのデフォルト値を最大値に増やすことで、復元が失敗する問題を修正しました。 #45793 @Leavrth
      • 復元されたデータをスキャンするときに br CLI クライアントが停止する問題を修正しました #45476 @3pointer
      • PITRがCREATE INDEX DDL文の復元をスキップする可能性がある問題を修正しました #47482 @Leavrth
      • 1分以内にPITRを複数回実行するとデータ損失が発生する可能性がある問題を修正#15483 @YuJuncen
    • TiCDC

      • 異常な状態のレプリケーションタスクが上流のGC をブロックする問題を修正しました #9543 @CharlesCheung96
      • オブジェクトストレージにデータを複製するとデータの不整合が発生する可能性がある問題を修正#9592 @CharlesCheung96
      • redo-resolved-tsを有効にすると、changefeed が失敗する可能性がある問題を修正#9769 @CharlesCheung96
      • 間違ったメモリ情報を取得すると、一部のオペレーティングシステムで OOM 問題が発生する可能性がある問題を修正#9762 @sdojjy
      • scale-outが有効になっている場合のノード間の書き込みキーの不均等な配布の問題を修正#9665 @sdojjy
      • ログに機密ユーザー情報が記録される問題を修正 #9690 @sdojjy
      • TiCDC が誤って名前変更 DDL 操作を同期する可能性がある問題を修正#9488 #9378 #9531 @asddongmen
      • すべての変更フィードが削除された後に上流の TiDB GC がブロックされる問題を修正#9633 @sdojjy
      • 一部のコーナーケースで TiCDC レプリケーションタスクが失敗する可能性がある問題を修正#9685 #9697 #9695 #9736 @hicqu @CharlesCheung96
      • PDノードのネットワーク分離によって発生するTiCDCレプリケーションのレイテンシーが大きくなる問題を修正 #9565 @asddongmen
      • PD のスケールアップおよびスケールダウン中に TiCDC が無効な古いアドレスにアクセスする問題を修正#9584 @fubinzh @asddongmen
      • 上流にリージョンが多数ある場合、TiCDC が TiKV ノード障害から迅速に回復できない問題を修正しました。 #9741 @sdojjy
      • CSV形式を使用するとTiCDCが誤ってUPDATE操作をINSERTに変更する問題を修正 #9658 @3AceShowHand
      • アップストリームで同じDDL文で複数のテーブルの名前を変更するとレプリケーションエラーが発生する問題を修正 #9488 @CharlesCheung96 #9476 @asddongmen
      • Kafka に同期するときに再試行間隔が短いためにレプリケーションタスクが失敗する問題を修正しました #9504 @3AceShowHand
      • アップストリームで 1つのトランザクションで複数の行の一意のキーが変更されると、レプリケーション書き込み競合が発生する可能性がある問題を修正しました。 #9430 @sdojjy
      • ダウンストリームで短期的な障害が発生したときにレプリケーションタスクが停止する可能性がある問題を修正#9542 #9272 #9582 #9592 @hicqu
      • ダウンストリームでエラーが発生して再試行すると、レプリケーションタスクが停止する可能性がある問題を修正しました。 #9450 @hicqu
      • Kafka にデータを複製するときに TiCDC が停止する可能性がある問題を修正しました #9855 @hicqu
    • TiDB Data Migration (DM)

      • 失敗した DDL がスキップされ、後続の DDL が実行されない場合に、DM によって返されるレプリケーション ラグが増大し続ける問題を修正しました#9605 @D3Hunter
      • DM が大文字と小文字を区別しない照合順序で競合を正しく処理できない問題を修正しました #9489 @hihihuhu
      • DM バリデーターのデッドロック問題を修正し、再試行を強化しました。 #9257 @D3Hunter
      • 楽観的モードでタスクを再開するときに DM がすべての DML をスキップする問題を修正しました #9588 @GMHDBJD
      • オンライン DDL をスキップするときに DM が上流のテーブルスキーマを適切に追跡できない問題を修正しました #9587 @GMHDBJD
      • DMが楽観的モードでパーティションDDLをスキップする問題を修正 #9788 @GMHDBJD
    • TiDB Lightning

      • AUTO_ID_CACHE=1を含むテーブルをインポートするときに、間違ったrow_idが割り当てられる問題を修正しました #46100 @D3Hunter
      • NEXT_GLOBAL_ROW_ID を保存するときにデータ型が間違っている問題を修正しました #45427 @lyzx2001
      • checksum = "optional" のときでもチェックサムがエラーを報告する問題を修正しました #45382 @lyzx2001
      • PDクラスタアドレスが変更されるとデータのインポートが失敗する問題を修正しました #43436 @lichunzhu
      • PDトポロジが変更されるとTiDB Lightningが起動に失敗する問題を修正#46688 @lance6716
      • CSVデータをインポートする際にルートがpanicになる可能性がある問題を修正 #43284 @lyzx2001
    • TiDB Binlog

      • 1 GB を超えるトランザクションを転送するときにDrainer が終了する問題を修正しました #28659 @jackysp

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