TiDB 5.1.4 リリースノート

リリース日:2022年2月22日

TiDB バージョン: 5.1.4

互換性の変更

  • TiDB

    • システム変数tidb_analyze_versionのデフォルト値を2から1 #31748に変更します。
    • v5.1.4 以降、TiKV がstorage.enable-ttl = trueで構成されている場合、TiKV の TTL 機能はRawKV モード #27303のみをサポートするため、TiDB からのリクエストは拒否されます。
  • ツール

    • TiCDC

      • デフォルト値のmax-message-bytesを 10M に設定#4041

改良点

  • TiDB

    • 範囲パーティション テーブル#26739の組み込みIN式のパーティション プルーニングをサポートします。
    • IndexJoin実行時のメモリ使用量のトラッキング精度を向上#28650
  • TiKV

    • proc ファイルシステム (procfs) を v0.12.0 に更新します#11702
    • Raftクライアント#11959のエラー ログ レポートを改善する
    • 検証プロセスをApplyスレッド プール#11239からImportスレッド プールに移動することで、SST ファイルの挿入速度を向上させます。
  • PD

    • スケジューラーの終了プロセスを高速化する#4146
  • ティフラッシュ

    • ADDDATE()DATE_ADD()の TiFlash へのプッシュ ダウンをサポート
    • INET6_ATON()INET6_NTOA()の TiFlash へのプッシュ ダウンをサポート
    • INET_ATON()INET_NTOA()の TiFlash へのプッシュ ダウンをサポート
    • DAG リクエストでサポートされる式またはプラン ツリーの最大深度を100から200に増やします
  • ツール

    • TiCDC

      • 変更フィードを再開するための指数バックオフ メカニズムを追加します。 #3329
      • 多数のテーブルをレプリケートする場合のレプリケーションレイテンシーを削減する#3900
      • インクリメンタル スキャン#2985の残り時間を監視するためのメトリックを追加します。
      • 「EventFeed retry rate limited」ログのカウントを減らします#4006
      • no owner alertmounter rowtable sink total row 、およびbuffer sink total row #4054 #1606を含む、Prometheus および Grafana のモニタリング メトリックとアラートをさらに追加します。
      • TiKV リロードのレート制限制御を最適化して、変更フィードの初期化中の gPRC の輻輳を軽減します#3110
      • TiKV ストアがダウンしたときに KV クライアントが回復するまでの時間を短縮する#3191

バグの修正

  • TiDB

    • システム変数tidb_analyze_version2 #32499に設定されている場合に発生するメモリ リークのバグを修正します。
    • スローログ#25716MaxDaysMaxBackupsの構成が有効にならない問題を修正
    • INSERT ... SELECT ... ON DUPLICATE KEY UPDATEステートメントを実行するとpanic#28078が発生する問題を修正します。
    • JOIN on ENUM型の列#27831を実行したときに発生する可能性のある間違った結果を修正します。
    • INDEX HASH JOIN がsend on closed channelエラー#31129を返す問題を修正
    • BatchCommands API を使用すると、まれに TiKV への TiDB リクエストの送信がブロックされる可能性があるという問題を修正します#32500
    • オプティミスティック トランザクション モード#30410での潜在的なデータ インデックスの不整合の問題を修正します。
    • トランザクションを使用する場合と使用しない場合で、ウィンドウ関数が異なる結果を返すことがある問題を修正します#29947
    • DecimalからString #29417をキャストするとき、長さの情報が間違っている問題を修正
    • tidb_enable_vectorized_expressionベクトル化された式をoff #29434に設定すると、 GREATEST関数が誤った結果を返す問題を修正します。
    • 場合によってはオプティマイザーがjoinの無効なプランをキャッシュする可能性がある問題を修正します#28087
    • ベクトル化された式のmicrosecondおよびhour関数の誤った結果を修正する#29244 #28643
    • 場合によってはALTER TABLE.. ADD INDEXステートメントを実行すると TiDBpanicが発生する問題を修正#27687
    • 一部のまれなケースで MPP ノードの可用性検出が機能しないバグを修正します#3118
    • MPP task ID #27952を割り当てる際のDATA RACEの問題を修正
    • 空のdual table #28250を削除した後の MPP クエリのINDEX OUT OF RANGEエラーを修正
    • MPP クエリ#1791の誤検知エラー ログinvalid cop task execution summaries lengthの問題を修正します。
    • SET GLOBAL tidb_skip_isolation_level_check=1 が新しいセッション設定に影響しない問題を修正#27897
  • TiKV

    • TiKV が GC ワーカがビジー状態の場合、データの範囲を削除できない ( unsafe_destroy_rangeを実行できない) バグを修正#11903
    • ピアを破棄すると高レイテンシーが発生する可能性がある問題を修正します#10210
    • 領域が空の場合にany_value関数が間違った結果を返すバグを修正#11735
    • 初期化されていないレプリカを削除すると、古いレプリカが再作成される可能性があるという問題を修正します#10533
    • 新しい選択が終了した後にPrepare Mergeがトリガーされたが、隔離されたピアに通知されていない場合のメタデータの破損の問題を修正します#11526
    • コルーチンの実行速度が速すぎる場合に時々発生するデッドロックの問題を修正します#11549
    • フレーム グラフをプロファイリングする際の潜在的なデッドロックとメモリ リークの問題を修正します#11108
    • 悲観的なトランザクションで事前書き込み要求を再試行するときにまれに発生するデータの不整合の問題を修正します#11187
    • 設定resource-metering.enabledが動かない不具合を修正#11235
    • resolved_ts #10965で一部のコルーチンがリークする問題を修正
    • 低い書き込みフロー#9910で誤った「GC can not work」アラートが報告される問題を修正
    • tikv-ctl が正しいリージョン関連の情報を返せないバグを修正#11393
    • TiKV ノードがダウンしていると、解決されたタイムスタンプが#11351遅れる問題を修正します。
    • 極端な状況でリージョンのマージ、ConfChange、およびスナップショットが同時に発生したときに発生するpanicの問題を修正します#11475
    • TiKV がリバース テーブル スキャンを実行すると、TiKV がメモリ ロックを検出できない問題を修正します#11440
    • 10 進数の除算結果がゼロ#29586の場合の負号の問題を修正
    • 統計スレッド#11195の監視データによって引き起こされるメモリ リークを修正します。
    • ダウンストリーム データベースが見つからない場合に発生する TiCDCpanicの問題を修正します#11123
    • Congest エラー#11082により、TiCDC がスキャンの再試行を頻繁に追加する問題を修正します。
    • Raftクライアント実装#9714でバッチ メッセージが大きすぎる問題を修正
    • Grafana ダッシュボード#11681でいくつかの一般的でないストレージ関連の指標を折りたたむ
  • PD

    • リージョンスキャッタによって生成されたスケジュールがピアの数を減らす可能性があるバグを修正します#4565
    • リージョン統計がflow-round-by-digit #4295の影響を受けない問題を修正
    • リージョン シンサー#3936のスタックによるリーダー選出の遅さを修正
    • エビクト リーダー スケジューラが異常なピアを含むリージョンをスケジュールできるようにするサポート#4093
    • コールド ホットスポット データがホットスポット統計から削除できない問題を修正します#4390
    • TiKV ノードが削除された後に発生するpanicの問題を修正します#4344
    • ターゲットストアがダウンしているため、スケジューリングオペレーターが高速に失敗できない問題を修正します#3353
  • ティフラッシュ

    • マイクロ秒を解析するときにstr_to_date()関数が先頭のゼロを正しく処理しないという問題を修正します
    • メモリ制限が有効な場合の TiFlash クラッシュの問題を修正
    • 入力時刻が 1970-01-01 00:00:01 UTC より前の場合、 unix_timestampの動作が TiDB や MySQL の動作と一致しない問題を修正
    • 主キーがハンドルの場合に主キー列を拡張することによって発生する潜在的なデータの不整合を修正します
    • オーバーフローのバグと、 DECIMALのデータ型のデータを比較するときにCan't compareのエラーが報告される問題を修正します。
    • 3rd arguments of function substringUTF8 must be constants.の予期しないエラーを修正します
    • ライブラリがnslつないプラットフォームで TiFlash が起動しない問題を修正
    • データをDECIMALデータ型にキャストする際のオーバーフロー バグを修正
    • castStringAsReal動作が TiFlash と TiDB/TiKV で一致しない問題を修正
    • 再起動後に TiFlash がEstablishMPPConnectionエラーを返すことがある問題を修正
    • TiFlash レプリカの数を 0 に設定した後、古いデータを再利用できないという問題を修正します。
    • CastStringAsDecimal動作が TiFlash と TiDB/TiKV で一致しない問題を修正
    • where <string>句を含むクエリが間違った結果を返す問題を修正
    • MPP クエリが停止したときに TiFlash がpanicになる問題を修正
    • Unexpected type of column: Nullable(Nothing)の予期しないエラーを修正します
  • ツール

    • TiCDC

      • batch-replace-enableが無効になっている場合、MySQL シンクが重複したreplace SQL ステートメントを生成するバグを修正します#4501
      • cached regionモニタリング指標がマイナス#4300になる問題を修正
      • min.insync.replicasreplication-factor #3994より小さい場合にレプリケーションが実行できない問題を修正
      • レプリケーション タスクが削除されたときに発生する潜在的なpanicの問題を修正します#3128
      • 不正確なチェックポイント#3545によって引き起こされる潜在的なデータ損失の問題を修正します。
      • デッドロックが原因でレプリケーション タスクがスタックする潜在的な問題を修正します#4055
      • DDL ステートメントの特殊なコメントによってレプリケーション タスクが停止する問題を修正します#3755
      • EtcdWorker が所有者とプロセッサをハングさせる可能性があるバグを修正します#3750
      • stoppedクラスターのアップグレード後に変更フィードが自動的に再開される問題を修正します#3473
      • デフォルト値をレプリケートできない問題を修正#3793
      • TiCDC のデフォルト値のパディング例外によって引き起こされるデータの不一致を修正します#3918 #3929
      • PD リーダーがシャットダウンして新しいノードに転送すると、所有者がスタックするバグを修正します#3615
      • etcd #2980でタスク ステータスを手動でクリーニングするときに発生する TiCDCpanicの問題を修正します。
      • RHEL リリース#3584でタイムゾーンの問題が原因でサービスを開始できない問題を修正
      • MySQL シンクのデッドロック#2706が原因で頻繁に警告が表示される問題を修正
      • Canal および Maxwell プロトコル#3676enable-old-value構成項目が自動的にtrueに設定されないバグを修正
      • Avro シンクが JSON 型の列の解析をサポートしていない問題を修正します#3624
      • changefeed チェックポイントラグ#3010の負の値のエラーを修正します。
      • コンテナー環境での OOM の問題を修正する#1798
      • 複数の TiKV がクラッシュしたとき、または強制再起動中に TiCDC レプリケーションが中断する問題を修正します#3288
      • DDL #3174の処理後のメモリ リークの問題を修正します。
      • ErrGCTTLExceeded エラーが発生したときに changefeed が十分な速さで失敗しないという問題を修正します#3111
      • アップストリームの TiDB インスタンスが予期せず終了すると、TiCDC レプリケーション タスクが終了する可能性がある問題を修正します#3061
      • TiKV が同じリージョン#2386に重複したリクエストを送信すると、TiCDC プロセスがpanicになる可能性がある問題を修正します。
      • デフォルト値をmax-message-bytesから10M #3081に設定することにより、Kafka が過度に大きなメッセージを送信する可能性がある問題を修正します。
      • Kafka メッセージの書き込み中にエラーが発生すると、TiCDC 同期タスクが一時停止することがある問題を修正します#2978
    • バックアップと復元 (BR)

      • 復元操作の完了後にリージョンが不均一に分散される可能性があるという潜在的な問題を修正します#30425 #31034
    • Binlog

      • CSV ファイルのサイズが約 256MB でstrict-formattrue #27763の場合、DBaaS の CSV インポートが InvalidRange で失敗する問題を修正します。
    • TiDB Lightning

      • S3 ストレージ パスが存在しない場合にTiDB Lightningがエラーを報告しない問題を修正#28031 #30709
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.