TiDB 8.2.0 リリースノート

発売日: 2024年7月11日

TiDB バージョン: 8.2.0

クイックアクセス: クイックスタート

8.2.0 では、次の主要な機能と改善が導入されています。

カテゴリ機能/拡張機能説明
信頼性と可用性TiProxyは複数の負荷分散ポリシーをサポートTiDB v8.2.0 では、TiProxy はステータス、接続数、健全性、メモリ、CPU、場所などのさまざまな次元に基づいて TiDB ノードを評価し、ランク付けします。 policy構成項目で指定された負荷分散ポリシーに従って、TiProxy はデータベース操作を実行する最適な TiDB ノードを動的に選択します。これにより、全体的なリソース使用が最適化され、クラスターのパフォーマンスが向上し、スループットが向上します。
TiDB の並列 HashAgg アルゴリズムはディスク スピル (GA) をサポートしますHashAgg は、同じフィールド値を持つ行を効率的に集計するために TiDB で広く使用されている集計演算子です。TiDB v8.0.0 では、処理速度をさらに向上させるための実験的機能として並列 HashAgg が導入されています。メモリリソースが不足している場合、並列 HashAgg は一時的にソートされたデータをディスクに書き出し、過剰なメモリ使用によって発生する潜在的な OOM リスクを回避します。これにより、ノードの安定性を維持しながらクエリ パフォーマンスが向上します。v8.2.0 では、この機能が一般提供 (GA) され、デフォルトで有効になっているため、 tidb_executor_concurrencyを使用して並列 HashAgg の同時実行を安全に構成できます。
統計読み込み効率を最大10倍向上SaaS や PaaS サービスなど、多数のテーブルとパーティションを持つクラスターの場合、統計の読み込み効率を向上させることで、TiDB インスタンスの起動が遅い問題を解決し、統計の動的読み込みの成功率を高めることができます。この改善により、統計の読み込みの失敗によるパフォーマンスのロールバックが削減され、クラスターの安定性が向上します。
DB 操作と可観測性切り替えリソースグループの権限制御を導入するリソース制御が広く使用されているため、リソース グループの切り替えの権限制御により、データベース ユーザーによるリソースの悪用を防ぎ、管理者の全体的なリソース使用の保護を強化し、クラスターの安定性を向上させることができます。

機能の詳細

パフォーマンス

  • 次の JSON関数を TiKV #50601 @ dbsidにプッシュダウンすることをサポートします。

    • JSON_ARRAY_APPEND()
    • JSON_MERGE_PATCH()
    • JSON_REPLACE()

    詳細についてはドキュメント参照してください。

  • TiDBは並列ソートをサポート#49217 #50746 @ 翻訳者

    v8.2.0 より前のバージョンでは、TiDB は Sort 演算子を順番にのみ実行するため、大量のデータをソートする場合のクエリ パフォーマンスに影響します。

    v8.2.0 以降、TiDB は並列ソートをサポートしており、ソートのパフォーマンスが大幅に向上しています。この機能は手動で構成する必要はありません。TiDB は、 tidb_executor_concurrencyシステム変数の値に基づいて、並列ソートを使用するかどうかを自動的に決定します。

    詳細についてはドキュメント参照してください。

  • TiDB の並列 HashAgg アルゴリズムは、ディスク スピル (GA) #35637 @ 翻訳者をサポートします。

    TiDB v8.0.0 では、ディスク スピルをサポートする並列 HashAgg アルゴリズムが実験的機能として導入されています。v8.2.0 では、この機能が一般提供 (GA) されます。並列 HashAgg アルゴリズムを使用すると、TiDB はメモリ使用量に基づいてデータ スピルを自動的にトリガーし、クエリ パフォーマンスとデータ スループットのバランスをとります。この機能はデフォルトで有効になっています。この機能を制御するシステム変数tidb_enable_parallel_hashagg_spillは、将来のリリースで廃止される予定です。

    詳細についてはドキュメント参照してください。

信頼性

  • 統計読み込み効率を最大10倍向上#52831 @ ホーキングレイ

    SaaS または PaaS アプリケーションには多数のデータ テーブルが存在する可能性があり、これにより初期統計の読み込み速度が遅くなるだけでなく、高負荷時の負荷同期の失敗率も増加します。TiDB の起動時間と実行プランの精度が影響を受ける可能性があります。v8.2.0 では、TiDB は同時実行モデルやメモリ割り当てなどの複数の観点から統計の読み込みプロセスを最適化し、レイテンシーを削減し、スループットを向上させ、ビジネスのスケーリングに影響する統計の読み込み速度の低下を回避します。

    適応型同時ロードがサポートされるようになりました。デフォルトでは、構成項目stats-load-concurrency0に設定され、統計ロードの同時実行性はハードウェア仕様に基づいて自動的に選択されます。

    詳細についてはドキュメント参照してください。

可用性

  • TiProxyは複数の負荷分散ポリシーをサポートします#465 @ 翻訳者 @ xhebox

    TiProxy は、クライアントと TiDBサーバーの間にある、TiDB の公式プロキシコンポーネントです。TiDB の負荷分散機能と接続永続化関数を提供します。v8.2.0 より前のバージョンでは、TiProxy のデフォルトは v1.0.0 で、TiDB サーバーに対してステータスベースおよび接続数ベースの負荷分散ポリシーのみがサポートされます。

    v8.2.0 以降、TiProxy はデフォルトで v1.1.0 に設定され、複数の負荷分散ポリシーが導入されています。ステータスベースおよび接続数ベースのポリシーに加えて、TiProxy はヘルス、メモリ、CPU、および場所に基づく動的な負荷分散をサポートし、TiDB クラスターの安定性を向上させます。

    policy構成項目を通じて、負荷分散ポリシーの組み合わせと優先順位を設定できます。

    • resource : リソース優先度ポリシーは、ステータス、ヘルス、メモリ、CPU、場所、接続数の優先順位に基づいて負荷分散を実行します。
    • location : 場所の優先順位ポリシーは、ステータス、場所、健全性、メモリ、CPU、接続数の優先順位に基づいて負荷分散を実行します。
    • connection : 最小接続数優先ポリシーは、ステータスと接続数の優先順位に基づいて負荷分散を実行します。

    詳細についてはドキュメント参照してください。

構文

  • TiDBはJSONスキーマ検証機能#52779 @ ドヴェーデンをサポートしています

    v8.2.0 より前では、JSON データの検証には外部ツールやカスタマイズされた検証ロジックに頼る必要があり、開発と保守の複雑さが増し、開発効率が低下していました。v8.2.0 からは、 JSON_SCHEMA_VALID()機能が導入されましたCHECK制約でJSON_SCHEMA_VALID()使用すると、データを追加した後にチェックするのではなく、不適合なデータが挿入されるのを防ぐことができます。この機能を使用すると、TiDB で直接 JSON データの有効性を検証できるため、データの整合性と一貫性が向上し、開発効率が向上します。

    詳細についてはドキュメント参照してください。

DB操作

  • TiUPはPDマイクロサービス#5766 @ rleungxの導入をサポートします

    v8.0.0 以降、PD はマイクロサービス モードをサポートします。このモードでは、PD のタイムスタンプ割り当て機能とクラスター スケジューリング関数が、独立してデプロイできる個別のマイクロサービスに分割されるため、リソースの制御と分離が向上し、異なるサービス間の影響が軽減されます。v8.2.0 より前では、PD マイクロサービスはTiDB Operator を使用してのみデプロイできます。

    v8.2.0 以降では、PD マイクロサービスもTiUP を使用してデプロイできます。1 tsoサービスとschedulingマイクロサービスをクラスターに個別にデプロイして、PD パフォーマンスのスケーラビリティを強化し、大規模クラスターの PD パフォーマンスのボトルネックに対処することができます。PD がスケールアップでは解決できない重大なパフォーマンスのボトルネックになった場合は、このモードを使用することをお勧めします。

    詳細についてはユーザードキュメント参照してください。

  • 切り替えリソースグループ#53440 @ 栄光の権限制御を追加

    TiDB では、ユーザーはSET RESOURCE GROUPコマンドまたはRESOURCE_GROUP()ヒントを使用して他のリソース グループに切り替えることができますが、これにより、一部のデータベース ユーザーによるリソース グループの悪用が発生する可能性があります。TiDB v8.2.0 では、リソース グループの切り替えの権限制御が導入されています。5 またはRESOURCE_GROUP_ADMIN RESOURCE_GROUP_USER動的権限が付与されたデータベース ユーザーのみが他のリソース グループに切り替えることができるため、システム リソースの保護が強化されます。

    互換性を維持するために、以前のバージョンから v8.2.0 以降のバージョンにアップグレードする場合、元の動作が保持されます。拡張された権限制御を有効にするには、新しい変数tidb_resource_control_strict_modeONに設定します。

    詳細についてはユーザードキュメント参照してください。

可観測性

  • 実行プランがキャッシュされない理由を記録する#50618 @ qw4990

    シナリオによっては、実行オーバーヘッドを節約し、レイテンシーを減らすために、ほとんどの実行プランをキャッシュする必要がある場合があります。現在、実行プランのキャッシュには SQL に対するいくつかの制限があります。一部の SQL ステートメントの実行プランはキャッシュできません。キャッシュできない SQL ステートメントとその理由を特定することは困難です。

    そのため、v8.2.0 以降では、実行プランをキャッシュできない理由を説明する新しい列PLAN_CACHE_UNQUALIFIEDPLAN_CACHE_UNQUALIFIED_LAST_REASONシステム テーブルSTATEMENTS_SUMMARYに追加され、パフォーマンスの調整に役立ちます。

    詳細についてはドキュメント参照してください。

Security

  • TiFlashログ感度低下を強化#8977 @ ジェイソン・ファン

    TiDB v8.0.0 では、ログの感度低下機能が強化され、TiDB ログ内のユーザー データがマーカー‹ ›で囲まれるかどうかを制御できるようになりました。マークされたログに基づいて、ログを表示するときにマークされた情報を編集するかどうかを決定できるため、ログの感度低下の柔軟性が向上します。v8.2.0 では、 TiFlashでログの感度低下に同様の機能強化が導入されています。この機能を使用するには、 TiFlash構成項目security.redact_info_logmarkerに設定します。

    詳細についてはドキュメント参照してください。

データ移行

  • 複数の変更フィードにわたって TiCDC 同期ポイントを#11212 @ ホンユンヤン揃える

    v8.2.0 より前では、複数の変更フィード間で TiCDC 同期ポイントを揃えることは困難でした。変更フィードの作成時に、他の変更フィードの同期ポイントと揃うように、変更フィードのstartTsを慎重に選択する必要がありました。v8.2.0 以降では、変更フィードの同期ポイントは、変更フィードのsync-point-interval構成の倍数として作成されます。この変更により、同じsync-point-interval構成を持つ複数の変更フィード間で同期ポイントを揃えることができるようになり、複数のダウンストリーム クラスターを揃える機能が簡素化および向上します。

    詳細についてはドキュメント参照してください。

  • TiCDC Pulsar Sinkは、 pulsar+httppulsar+https接続プロトコル#11336 @ サンディープ・パディの使用をサポートしています。

    v8.2.0 より前では、TiCDC Pulsar Sink はpulsarpulsar+ssl接続プロトコルのみをサポートしています。v8.2.0 以降では、TiCDC Pulsar Sink はpulsar+httppulsar+https接続プロトコルもサポートしています。この機能強化により、Pulsar への接続の柔軟性が向上します。

    詳細についてはドキュメント参照してください。

互換性の変更

注記:

このセクションでは、v8.1.0 から現在のバージョン (v8.2.0) にアップグレードするときに知っておく必要のある互換性の変更について説明します。v8.0.0 以前のバージョンから現在のバージョンにアップグレードする場合は、中間バージョンで導入された互換性の変更も確認する必要がある可能性があります。

行動の変化

  • TiDB Lightning を使用して CSV ファイルをインポートする場合、同時実行性とインポート パフォーマンスを向上させるためにstrict-format = true #37338して大きな CSV ファイルを複数の小さな CSV ファイルに分割する場合は、 terminator明示的に指定する必要があります。値は\r\n 、または\r\nです。行末文字を指定しないと、CSV ファイル データを解析するときに例外が発生する可能性があります。11 @ ランス6716

  • IMPORT INTO使用して CSV ファイルをインポートする場合、同時実行性とインポート パフォーマンスを向上させるためにSPLIT_FILEパラメータを指定して大きな CSV ファイルを複数の小さな CSV ファイルに分割する場合は、行末文字LINES_TERMINATED_BYを明示的に指定する必要があります。値#37338 \r\n 、または\r\nです。行末文字を指定しないと、CSV ファイル データを解析するときに例外が発生する可能性があります。13 @ ランス6716

  • BR v8.2.0 より前では、TiCDC レプリケーション タスクを含むクラスターでBRデータの復元実行することはサポートされていません。v8.2.0 以降、 BR はTiCDC のデータ復元に関する制限を緩和します。復元するデータの BackupTS (バックアップ時間) が changefeed CheckpointTS (現在のレプリケーションの進行状況を示すタイムスタンプ) よりも前であれば、 BR はデータ復元を正常に続行できます。5 BackupTS通常#53131もっと早いため、ほとんどのシナリオでBR はTiCDC レプリケーション タスクを含むクラスターのデータの復元をサポートしていると想定できます。7 @ ユジュンセン

MySQL 互換性

  • v8.2.0 より前では、 PASSWORD REQUIRE CURRENT DEFAULTオプションを指定してCREATE USERステートメントを実行すると、このオプションはサポートされておらず解析#53305ないため、エラーが返されます。v8.2.0 以降、TiDB は MySQL との互換性のためにこのオプションの解析と無視をサポートしています。5 @ ドヴェーデン

システム変数

変数名タイプを変更説明
tidb_analyze_distsql_scan_concurrency修正済み最小値を1から0に変更します。 0に設定すると、TiDB はクラスターのサイズに基づいてANALYZE操作を実行するときにscan操作の同時実行性を適応的に調整します。
tidb_analyze_skip_column_types修正済みv8.2.0 以降、TiDB は潜在的な OOM リスクを回避するために、デフォルトではMEDIUMTEXTLONGTEXT型の列を収集しません。
tidb_enable_historical_stats修正済みデフォルト値をONからOFFに変更し、潜在的な安定性の問題を回避するために履歴統計をオフにします。
tidb_executor_concurrency修正済みsort演算子の同時実行性を設定するためのサポートが追加されました。
tidb_sysproc_scan_concurrency修正済み最小値を1から0に変更します。 0に設定すると、TiDB はクラスター サイズに基づいて内部 SQL ステートメントを実行するときに実行されるscan操作の同時実行性を適応的に調整します。
tidb_resource_control_strict_mode新しく追加されたSET RESOURCE GROUPのステートメントとRESOURCE_GROUP()オプティマイザ ヒントに権限制御が適用されるかどうかを制御します。

コンフィグレーションファイルのパラメータ

コンフィグレーションファイルコンフィグレーションパラメータタイプを変更説明
ティビstats-load-concurrency修正済みデフォルト値を5から0に、最小値を1から0に変更します。値0は自動モードを意味し、サーバーの構成に基づいて同時実行性を自動的に調整します。
ティビtoken-limit修正済み最大値を18446744073709551615 (64 ビット プラットフォーム) および4294967295 (32 ビット プラットフォーム) から1048576に変更し、設定値が大きすぎる場合に TiDB サーバーの OOM が発生するのを回避します。つまり、同時にリクエストを実行できるセッションの数は最大1048576に設定できます。
ティクヴmax-apply-unpersisted-log-limit修正済みデフォルト値を0から1024に変更して、TiKV ノードの I/O ジッターによって発生するロングテールレイテンシーを削減します。つまり、コミットされているが永続化されていないRaftログの適用可能な最大数は、デフォルトで1024なります。
ティクヴserver.grpc-compression-type修正済みこの構成項目は、TiKV から TiDB に送信される応答メッセージの圧縮アルゴリズムも制御するようになりました。圧縮を有効にすると、CPU リソースの消費量が増える可能性があります。
TiFlashsecurity.redact_info_log修正済み新しい値オプションmarkerが導入されました。値をmarkerに設定すると、ログ内のすべてのユーザー データが‹ ›でラップされます。

システムテーブル

コンパイラのバージョン

  • TiFlash開発エクスペリエンスを向上させるために、TiDB のコンパイルとビルドに必要な LLVM の最小バージョンが 13.0 から 17.0 にアップグレードされました。TiDB 開発者の場合は、スムーズなビルドを確実に行うために LLVM コンパイラのバージョンをアップグレードする必要があります#7193 @ ロイド・ポティガー

廃止された機能

  • 以下の機能は、v8.2.0 以降では非推奨となります。

    • v8.2.0 以降、 enable-replica-selector-v2構成項目は非推奨になりました。TiKV に RPC 要求を送信するときは、新しいバージョンのリージョンレプリカ セレクターがデフォルトで使用されます。
    • v8.2.0 以降、 BRスナップショット復元パラメータ--concurrencyは非推奨になりました。代わりに、 --tikv-max-restore-concurrency使用して、スナップショット復元中に TiKV ノードごとに同時実行タスクの最大数を設定できます。
    • v8.2.0 以降では、 BRスナップショット復元パラメータ--granularity非推奨となり、 粗粒度リージョン分散アルゴリズムデフォルトで有効になります。
  • 以下の機能は将来のバージョンで廃止される予定です。

    • v8.0.0 では、TiDB は、自動統計収集タスクの順序を最適化するために優先キューを有効にするかどうかを制御するtidb_enable_auto_analyze_priority_queueシステム変数を導入しました。将来のバージョンでは、優先キューが自動統計収集タスクを順序付ける唯一の方法となり、 tidb_enable_auto_analyze_priority_queueシステム変数は廃止される予定です。
    • v8.0.0 では、TiDB は、同時 HashAgg アルゴリズムのディスク スピルをサポートするかどうかを制御するtidb_enable_parallel_hashagg_spillシステム変数を導入します。将来のバージョンでは、 tidb_enable_parallel_hashagg_spillシステム変数は非推奨になります。
    • v7.5.0 では、TiDB はtidb_enable_async_merge_global_statsシステム変数を導入し、TiDB がパーティション統計を非同期にマージして OOM の問題を回避できるようにします。将来のバージョンでは、パーティション統計はデフォルトで非同期にマージされ、 tidb_enable_async_merge_global_statsシステム変数は非推奨になります。
    • 以降のリリースでは実行計画バインディングの自動進化再設計する予定であり、関連する変数と動作が変更されます。
    • TiDB Lightningパラメータconflict.max-record-rowsは、将来のリリースで廃止される予定であり、その後削除されます。このパラメータはconflict.thresholdに置き換えられます。これは、競合するレコードの最大数が、単一のインポート タスクで許容できる競合するレコードの最大数と一致することを意味します。
  • 以下の機能は将来のバージョンで削除される予定です:

    • v8.0.0 以降、 TiDB Lightning物理インポート モードの競合検出の旧バージョン戦略が廃止され、 conflict.strategyパラメータを使用して論理インポート モードと物理インポート モードの両方の競合検出戦略を制御できるようになりました。競合検出の旧バージョンのduplicate-resolutionパラメータは、将来のリリースで削除される予定です。

改善点

  • ティビ

    • 論理 DDL ステートメント (一般的な DDL)の並列実行をサポートします。v8.1.0と比較して、10セッションを使用して異なるDDL文を同時に送信する場合、パフォーマンスは3〜6倍向上します#53246 @ D3ハンター
    • ((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3ような式を使用して複数列のインデックスを一致させるロジックを改善し、より正確なRange #41598 @ ガザルファミリーを生成します。
    • 大量のデータを持つテーブルに対して単純なクエリを実行するときに、データ分布情報を取得するパフォーマンスを最適化します#53850 @ あなた06
    • 集約された結果セットはIndexJoinの内部テーブルとして使用でき、より複雑なクエリをIndexJoinに一致させることが可能になり、インデックス#37068 @ エルサ0520を通じてクエリの効率が向上します。
    • TiFlash配置ルールを一括削除することで、パーティションテーブル#54068 @ ロイド・ポティガーTRUNCATEまたはDROP操作を実行した後のデータGCの処理速度が向上します。
    • Azure Identity Libraries と Microsoft Authentication Library のバージョンをアップグレードしてセキュリティを強化する#53990 @ ホーキングレイ
    • 最大値をtoken-limitから1048576設定して、設定値が大きすぎる場合にTiDBサーバーのOOMが発生しないようにします#53312 @ 翻訳者
    • MPP 実行プランの列プルーニングを改善して、 TiFlash MPP 実行パフォーマンスを向上#52133 @ いびん87
    • 大量のデータ(>1024行)を含むテーブルを検索するときのIndexLookUp演算子のパフォーマンスオーバーヘッドを最適化します#53871 @ クレイジーcs520
    • MPP ロード バランシング中にリージョンのないストアを削除する#52313 @ 翻訳者
  • ティクヴ

    • 圧縮ジョブサイズ(ファイル)メトリックを追加して、単一の圧縮ジョブに含まれる SST ファイルの数を表示します#16837 @ 張金鵬87
    • 早期申請機能をデフォルトで有効にします。この機能を有効にすると、 Raftリーダーは、リーダー自身がログを永続化するのを待たずに、クォーラム ピアがログを永続化した後にログを適用できるため、いくつかの TiKV ノードのジッターが書き込み要求のレイテンシー#16717 @ 栄光に与える影響が軽減されます。
    • Raft のドロップされたメッセージの観測可能性を改善し、書き込み速度が遅い原因を特定します#17093 @ コナー1996
    • クラスターのレイテンシーの問題をトラブルシューティングするために、取り込みファイルのレイテンシーの観測性を向上させる#17078 @ リクササシネーター
    • 重要なRaft の読み取りと書き込みの安定したレイテンシーを確保するために、別のスレッドを使用してリージョンのレプリカをクリーンアップします#16001 @ ビシェン
    • 適用されるスナップショットの数の観測性を向上させる#17078 @ ビシェン
  • PD

  • TiFlash

    • 同時実行性の高いデータ読み取り操作でのロック競合を減らし、短いクエリのパフォーマンスを最適化します#9125 @ ジンヘリン
    • Join演算子#9057 @ ゲンリキの結合キーの冗長コピーを排除する
    • HashAgg演算子#8956 @ ゲンリキで2レベルハッシュテーブルを変換する処理を同時に実行する
    • HashAgg演算子の冗長な集計関数を削除して計算オーバーヘッドを削減する#8891 @ グオシャオゲ
  • ツール

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

      • バックアップ機能を最適化し、ノードの再起動、クラスターのスケールアウト、および多数のテーブルをバックアップする際のネットワークジッター中のバックアップパフォーマンスと安定性を向上させます#52534 @ 3ポインター
      • データ復元中に TiCDC の変更フィードのきめ細かなチェックを実装します。変更フィードCheckpointTSデータ バックアップ時間より遅い場合、復元操作は影響を受けないため、不要な待機時間が短縮され、ユーザー エクスペリエンスが向上します#53131 @ ユジュンセン
      • BACKUP文とRESTORE文に、よく使われるパラメータをいくつか追加します(例: CHECKSUM_CONCURRENCY #53040 @ リドリス
      • br log restoreサブコマンドを除き、他のbr logサブコマンドはすべて、メモリ消費量を削減するために TiDB domainデータ構造のロードをスキップすることをサポートしています#52088 @ リーヴルス
      • ログバックアップ中に生成される一時ファイルの暗号化をサポート#15083 @ ユジュンセン
      • Grafanaダッシュボードにtikv_log_backup_pending_initial_scan監視メトリックを追加する#16656 @ 3ポインター
      • PITRログの出力形式を最適化し、ログにRestoreTSフィールドを追加します#53645 @ ドヴェーデン
    • ティCDC

      • ダウンストリームがメッセージキュー(MQ)またはクラウドstorageの場合、生のイベントを直接出力することをサポートします#11211 @ チャールズ・チュン96

バグ修正

  • ティビ

    • SQL 文に外部結合が含まれ、結合条件にfalse IN (column_name)式が含まれている場合、クエリ結果に一部のデータが欠落する問題を修正しました#49476 @ ガザルファミリー
    • TiDB がテーブル#53403 @ ハイラスティンの統計をPREDICATE COLUMNS収集するときに、システム テーブルの列の統計が収集される問題を修正しました。
    • tidb_persist_analyze_optionsシステム変数がOFF #53478 @ ハイラスティンに設定されている場合にtidb_enable_column_trackingシステム変数が有効にならない問題を修正しました
    • (*PointGetPlan).StatsInfo() #49803 #43339 @ qw4990の実行中に発生する可能性のあるデータ競合の問題を修正しました
    • データ変更操作#53951 @ qw4990を含むトランザクションで仮想列を持つテーブルをクエリすると、TiDB が誤ったクエリ結果を返す可能性がある問題を修正しました。
    • 自動統計収集中にシステム変数tidb_enable_async_merge_global_statstidb_analyze_partition_concurrencyが有効にならない問題を修正#53972 @ ハイラスティン
    • TABLESAMPLE #54015 @ タンジェンタをクエリしたときに TiDB がplan not supportedエラーを返す可能性がある問題を修正しました
    • SELECT DISTINCT CAST(col AS DECIMAL), CAST(col AS SIGNED) FROM ...クエリを実行すると誤った結果が返される可能性がある問題を修正#53726 @ ホーキングレイ
    • クライアント側でデータ読み取りタイムアウト後にクエリを終了できない問題を修正#44009 @ うわー
    • 述語#45783 @ ホーキングレイLonglong型のオーバーフローの問題を修正
    • 関連するサブクエリがある場合にウィンドウ関数がpanicになる可能性がある問題を修正#42734 @ ハイラスティン
    • TopN演算子が誤ってプッシュダウンされる可能性がある問題を修正#37986 @ qw4990
    • クラスター化インデックスを述語として使用するとSELECT INTO OUTFILE機能しない問題を修正#42093 @ qw4990
    • 情報スキーマキャッシュミス#53428 @ クレイジーcs520により、古い読み取りのクエリレイテンシーが増加する問題を修正しました。
    • YEAR型の列を範囲外の符号なし整数と比較すると誤った結果が発生する問題を修正#50235 @ qw4990
    • TiDB #37548 @ ホーキングレイを再起動した後、主キー列統計のヒストグラムと TopN がロードされない問題を修正しました。
    • 超並列処理 (MPP) #51362 @ アイリンキッドfinal AggMode とnon-final AggMode が共存できない問題を修正
    • 常にtrue #46962 @ エルサ0520の述語を持つSHOW ERRORSステートメントを実行すると TiDB がパニックになる問題を修正しました。
    • 再帰 CTE #49721 @ ホーキングレイでビューの使用が機能しない問題を修正
    • 起動時に統計をロードするときに TiDB が GC によるエラーを報告する可能性がある問題を修正#53592 @ あなた06
    • ?引数を含むCONVの式を持つPREPARE EXECUTEを複数回実行すると、誤ったクエリ結果が返される可能性がある問題を修正しました#53505 @ qw4990
    • BIGINT 以外の符号なし整数を文字列/小数と比較すると誤った結果が生成される可能性がある問題を修正#41736 @ リトルフォール
    • 外部キー#53652 @ ホーキングレイを持つテーブルを作成するときに、TiDBが対応する統計メタデータ( stats_meta )を作成しない問題を修正しました
    • クエリ内の特定のフィルター条件により、プランナーモジュールがinvalid memory address or nil pointer dereferenceエラー#53582 #53580 #53594 #53603 ヤンケオを報告する可能性がある問題を修正しました。
    • CREATE OR REPLACE VIEW同時に実行するとtable doesn't existエラー#53673 @ タンジェンタが発生する可能性がある問題を修正
    • STATEフィールドのうちsizeが定義されていないため、 INFORMATION_SCHEMA.TIDB_TRXテーブルのSTATEフィールドが空になる問題を修正しました#53026 @ 翻訳
    • tidb_enable_async_merge_global_statsが無効になっている場合に、グローバル統計のDistinct_count情報が正しくなくなる可能性がある問題を修正#53752 @ ホーキングレイ
    • オプティマイザーヒント#53767 @ ホーキングレイ使用時に誤った警告情報が表示される問題を修正しました
    • 時間型を否定すると誤った値#52262 @ ソロッツになる問題を修正しました
    • REGEXP()空のパターン引数#53221 @ いびん87に対してエラーを明示的に報告しない問題を修正
    • JSON を datetime に変換すると精度が失われる場合がある問題を修正#53352 @ ヤンケオ
    • JSON_QUOTE()場合によっては誤った結果を返す問題を修正#37294 @ ドヴェーデン
    • ALTER TABLE ... REMOVE PARTITIONING実行するとデータが失われる可能性がある問題を修正#53385 @ ミョンス
    • auth_socket認証プラグイン#54031 @ lcwangchaoを使用する場合、TiDB が認証されていないユーザー接続を拒否できないことがある問題を修正しました。
    • JSON関連の関数がMySQLと一致しないエラーを返す場合がある問題を修正#53799 @ ドヴェーデン
    • INFORMATION_SCHEMA.PARTITIONSのパーティションテーブルのINDEX_LENGTHフィールドが正しくない#54173 @ 定義2014という問題を修正
    • INFORMATION_SCHEMA.TABLESテーブルのTIDB_ROW_ID_SHARDING_INFOフィールドが正しくない#52330 @ タンジェンタという問題を修正
    • 生成された列が不正なタイムスタンプ#52509 @ lcwangchaoを返す問題を修正
    • 分散実行フレームワーク (DXF) #53281 @ ジムララを使用してインデックスを追加するときにmax-index-lengthを設定すると TiDB がpanicになる問題を修正しました。
    • 場合によっては不正な列タイプDECIMAL(0,0)が作成される可能性がある問題を修正#53779 @ タンジェンタ
    • 列のデフォルト値としてCURRENT_DATE()使用するとクエリ結果が不正確になる問題を修正#53746 @ タンジェンタ
    • ALTER DATABASE ... SET TIFLASH REPLICA文が誤ってTiFlashレプリカをSEQUENCEテーブル#51990 @ ジフハウスに追加する問題を修正しました。
    • INFORMATION_SCHEMA.KEY_COLUMN_USAGEテーブルのREFERENCED_TABLE_SCHEMAフィールドが正しくない#52350 @ 0517 ...という問題を修正
    • 1つのステートメントに複数の行を挿入すると、 AUTO_ID_CACHE=1 #52465 @ 天菜まおのときにAUTO_INCREMENT列目が不連続になる問題を修正しました。
    • 非推奨警告の形式を修正#52515 @ ドヴェーデン
    • copr.buildCopTasks #53085 @ 時間と運命TRACEコマンドが欠落している問題を修正
    • memory_quotaヒントがサブクエリ#53834 @ qw4990で機能しない可能性がある問題を修正しました
    • 特定の状況下でプラン キャッシュを使用する際に、メタデータ ロックを不適切に使用すると異常なデータが書き込まれる可能性がある問題を修正しました#53634 @ ジムララ
    • トランザクション内のステートメントが OOM によって強制終了された後、TiDB が同じトランザクション内で次のステートメントの実行を継続すると、エラーTrying to start aggressive locking while it's already startedが発生し、panic#53540 @ ミョンケミンタが発生する可能性がある問題を修正しました。
  • ティクヴ

    • JSON_ARRAY_APPEND()関数を TiKV にプッシュダウンすると TiKV が#16930 @ dbsidでpanicになる問題を修正しました
    • リーダーが失敗したスナップショットファイルを時間#16976 @ ビシェン内にクリーンアップしない問題を修正しました
    • 同時実行性の高いコプロセッサー要求により TiKV OOM #16653 @ 金星の上が発生する可能性がある問題を修正
    • raftstore.periodic-full-compact-start-times構成項目をオンラインで変更すると TiKV がpanicになる可能性がある問題を修正#17066 @ スペードA-タン
    • make dockermake docker_testの失敗を修正#17075 @ 藤田俊樹
    • gRPC リクエスト ソースの継続時間メトリックが監視ダッシュボード#17133 @ キング・ディランに正しく表示されない問題を修正しました
    • gRPC メッセージ圧縮方式をgrpc-compression-typeで設定しても、TiKV から TiDB #17176 @ エキシウムに送信されるメッセージには反映されない問題を修正しました。
    • tikv-ctlのraft regionコマンドの出力にリージョンステータス情報#17037 @ 栄光が含まれていない問題を修正
    • CDC とログバックアップがadvance-ts-interval構成を使用してcheck_leaderのタイムアウトを制限しないため、TiKV が正常に再起動したときにresolved_ts遅延が大きくなる場合がある問題を修正しました#17107 @ ミョンケミンタ
  • PD

    • ALTER PLACEMENT POLICY配置ポリシーを変更できない問題を修正#52257 #51712 @ ジフハウス
    • 書き込みホットスポットのスケジュール設定により配置ポリシーの制約が破られる可能性がある問題を修正#7848 @ 翻訳者
    • 配置ルール#7808 @ rleungxを使用すると、ダウンしたピアが回復しない可能性がある問題を修正しました。
    • リソース グループ クエリ#8217 @ ノルーシュをキャンセルするときに再試行が大量に発生する問題を修正しました
    • PDリーダーを手動で転送すると失敗する可能性がある問題を修正#8225 @ ヒューシャープ
  • TiFlash

    • 空のパーティション#9024 @ ジンヘリンを含むパーティション テーブルでクエリを実行するときに発生するクエリ タイムアウトの問題を修正しました。
    • 分散storageおよびコンピューティングアーキテクチャで、DDL 操作#9084 @ ロイド・ポティガーで非 NULL 列を追加した後にクエリで NULL 値が誤って返される可能性がある問題を修正しました。
    • SUBSTRING_INDEX()関数が一部のコーナーケースでTiFlash をクラッシュさせる可能性がある問題を修正#9116 @ うわー
    • BRまたはTiDB Lightning #9118 @ ジンヘリン経由でデータをインポートした後、FastScan モードで多数の重複行が読み取られる可能性がある問題を修正しました。
  • ツール

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

      • 空のEndKey #52574 @ 3ポインターが原因でBR がトランザクション KV クラスターを復元できない問題を修正しました。
      • PD 接続障害により、ログ バックアップ アドバンサ所有者が配置されている TiDB インスタンスがpanicになる可能性がある問題を修正しました#52597 @ ユジュンセン
      • アドバンサー所有者の移行#53561 @ リドリス後にログバックアップが一時停止される可能性がある問題を修正
      • 復元プロセス中に複数のネストされた再試行が原因でBR がエラーを正しく識別できない問題を修正#54053 @ リドリス
      • TiKV 構成を取得するために使用される接続が閉じられない可能性がある問題を修正#52595 @ リドリス
      • TestStoreRemovedテストケースが不安定になる問題を修正#52791 @ ユジュンセン
      • ポイントインタイムリカバリ(PITR)中にTiFlashがクラッシュする問題を修正#52628 @ リドリス
      • 増分バックアップ#54139 @ 3ポインター中の DDL ジョブのスキャンにおける非効率性の問題を修正
      • リージョンリーダー#17168 @ リーヴルスシークの中断により、チェックポイントバックアップ中のバックアップパフォーマンスが影響を受ける問題を修正しました。
    • ティCDC

      • Grafana #10777 @ アズドンメンKafka 送信バイトパネルの不正確な表示を修正
      • マルチノード環境で大量のUPDATE操作を実行する際にChangefeedを繰り返し再起動するとデータの不整合が発生する可能性がある問題を修正#11219 @ リデズ
    • TiDB データ移行 (DM)

    • TiDB Lightning

      • zstd 圧縮ファイルをインポートするときにTiDB Lightning がエラーを報告する可能性がある問題を修正#53587 @ ランス6716
    • Dumpling

      • テーブルとビューを同時にエクスポートするとDumpling がエラーを報告する問題を修正#53682 @ タンジェンタ
    • TiDBBinlog

      • TiDB Binlogが有効な場合、 ADD COLUMNの実行中に行を削除するとエラーdata and columnID count not matchが報告される可能性がある問題を修正#53133 @ タンジェンタ

寄稿者

TiDB コミュニティの以下の貢献者に感謝いたします。

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