TiDB5.0.4リリースノート

発売日:2021年9月27日

TiDBバージョン:5.0.4

互換性の変更

  • TiDB

    • 新しいセッションでSHOW VARIABLESを実行すると時間がかかる問題を修正します。この修正により、 #19341で行われたいくつかの変更が元に戻され、互換性の問題が発生する可能性があります。 #24326
    • tidb_stmt_summary_max_stmt_count変数のデフォルト値を200から#25873に変更し3000
    • 次のバグ修正により、実行結果が変更され、アップグレードの非互換性が発生する可能性があります。
      • UNIONの子にNULLの値#26559が含まれている場合にTiDBが誤った結果を返す問題を修正します
      • greatest(datetime) union nullが空の文字列#26532を返す問題を修正します
      • last_day関数の動作がSQLモード#26000で互換性がないという問題を修正します
      • having句が正しく機能しない可能性がある問題を修正します#26496
      • between式の周りの照合が異なる場合に発生する誤った実行結果を修正します#27146
      • group_concat関数の列に非ビン照合順序#27429がある場合に発生する誤った実行結果を修正します
      • 複数の列でcount(distinct)式を使用すると、新しい照合順序が有効になっているときに誤った結果が返される問題を修正します#27091
      • extract関数の引数が負の期間#27236である場合に発生する誤った結果を修正します
      • SQL_MODE' #26762の場合、無効な日付を挿入してもエラーが報告されない問題を修正します。
      • SQL_MODEが「NO_ZERO_IN_DATE」の場合に無効なデフォルトの日付を使用してもエラーが報告されない問題を修正します#26766
      • プレフィックスインデックス#26029のクエリ範囲のバグを修正
      • LOAD DATAステートメントがutf8以外のデータを異常にインポートする可能性がある問題を修正します#25979
      • 二次インデックスが主キー#25809と同じ列を持っている場合、 insert ignore on duplicate updateが間違ったデータを挿入する可能性がある問題を修正します。
      • パーティション表にクラスター化インデックス#25846がある場合、 insert ignore duplicate updateが間違ったデータを挿入する可能性がある問題を修正します。
      • キーがENUMタイプのポイント取得またはバッチポイント取得#24562の場合、クエリ結果が間違っている可能性がある問題を修正します。
      • BIT型の値を除算するときに発生する間違った結果を修正します#23479
      • preparedステートメントと直接クエリの結果に一貫性がない可能性があるという問題を修正します#22949
      • YEAR型を文字列または整数型#23262と比較すると、クエリ結果が間違っている可能性がある問題を修正します。

機能拡張

  • TiDB

    • オプティマイザ推定を無視し、MPPモード#26382を強制的に使用するには、設定tidb_enforce_mpp=1をサポートします。
  • TiKV

    • TiCDC構成の動的な変更をサポート#10645
  • PD

    • TiDBダッシュボード#3884のOIDCベースのSSOサポートを追加します
  • TiFlash

    • DAGリクエストでHAVING()の機能をサポートする
    • DATE()機能をサポート
    • インスタンスごとの書き込みスループットのためにGrafanaパネルを追加します

改善

  • TiDB

    • ヒストグラムの行数に基づいて自動分析をトリガーする#24237
    • ノードに障害が発生し、 #26757より前に再起動した場合は、TiFlashノードへの要求の送信を一定期間停止します。
    • split regionの上限を増やして、 split tablepresplitをより安定させます#26657
    • MPPクエリの再試行をサポート#26483
    • MPPクエリを起動する前にTiFlashの可用性を確認してください#1807
    • 安定した結果モードをサポートして、クエリ結果をより安定させます#26084
    • MySQLシステム変数init_connectとそれに関連する機能をサポートする#18894
    • MPPモード#25861COUNT(DISTINCT)集約機能を徹底的に押し下げます。
    • EXPLAINのステートメントで集計関数をプッシュダウンできない場合のログ警告の出力#25736
    • Grafanaダッシュボード#25327TiFlashQueryTotalCounterのエラーラベルを追加します
    • #24209によるセカンダリインデックスを介したクラスター化インデックステーブルのMVCCデータの取得をサポートします。
    • パーサー#24371preparedのステートメントのメモリ割り当てを最適化します
  • TiKV

    • 読み取りの待ち時間を短縮するために、読み取り準備と書き込み準備を別々に処理します#10475
    • 解決されたTSメッセージのサイズを減らして、ネットワーク帯域幅を節約します#2448
    • sloggerスレッドが過負荷になり、キューがいっぱいになったときにスレッドをブロックする代わりにログをドロップする#10841
    • TiKVコプロセッサーの遅いログに、要求の処理に費やされた時間のみを考慮させる#10841
    • 未確定のエラーの可能性を減らすために、可能な限りべき等の事前書き込みを行います#10587
    • 書き込みフローが少ない場合の誤った「GCが機能しない」アラートを回避する#10662
    • 復元するデータベースを、バックアップ中に常に元のクラスタサイズと一致させるようにします。 #10643
    • パニック出力がログ#9955にフラッシュされることを確認します
  • PD

    • PD間でリージョン情報を同期するパフォーマンスを向上させる#3993
  • ツール

    • Dumpling

      • START TRANSACTION ... WITH CONSISTENT SNAPSHOTまたはSHOW CREATE TABLE構文をサポートしないMySQL互換データベースのバックアップをサポートする#309
    • TiCDC

      • UnifiedSorterがメモリを使用して#2553をソートするときにメモリ管理を最適化する
      • メジャーバージョンまたはマイナーバージョン間でのTiCDCクラスターの運用を禁止する#2598
      • テーブルのリージョンがすべてTiKVノードから転送される場合のゴルーチンの使用量を減らします#2284
      • #2326を削除しfile sorter
      • 常にTiKVから古い値を取得し、出力はenable-old-valueに従って調整され#2301
      • PDエンドポイントが証明書を見逃したときに返されるエラーメッセージを改善する#1973
      • 同時実行性が高い場合に、ワーカープールを最適化してゴルーチンを減らします#2211
      • グローバルgRPC接続プールを追加し、KVクライアント間でgRPC接続を共有します#2533

バグの修正

  • TiDB

    • パーティションテーブルをクエリするときにTiDBがパニックになり、パーティションキーの条件がIS NULLになる問題を修正し#23802
    • FLOAT64タイプのオーバーフローチェックがMySQL3のオーバーフローチェックと異なる問題を修正し#23897
    • case when#26662の間違った文字セットと照合順序を修正します
    • 悲観的なトランザクションをコミットすると書き込みの競合が発生する可能性があるという問題を修正します#25964
    • 悲観的なトランザクションのインデックスキーが繰り返しコミットされる可能性があるバグを修正し#10600 #26359
    • 非同期コミットロックを解決するときにTiDBがパニックになる可能性がある問題を修正します#25778
    • #25045を使用すると列が見つからない可能性があるバグを修正しINDEX MERGE
    • ALTER USER REQUIRE SSLがユーザーの#25225をクリアするバグを修正しauthentication_string
    • 新しいクラスタのtidb_gc_scan_lock_modeのグローバル変数の値が実際のデフォルトモード「LEGACY」ではなく「PHYSICAL」と表示されるバグを修正します#25100
    • TIKV_REGION_PEERSシステムテーブルに正しいDOWNステータスが表示されないバグを修正します#24879
    • HTTPAPIの使用時に発生するメモリリークの問題を修正します#24649
    • ビューが#24414をサポートしない問題を修正しDEFINER
    • tidb-server --helpがコード#24046で終了する問題を修正し2
    • グローバル変数dml_batch_sizeの設定が有効にならない問題を修正します#24709
    • read_from_storageとパーティションテーブルを同時に使用するとエラー#20372が発生する問題を修正します
    • 射影演算子#24264を実行するときにTiDBがパニックになる問題を修正します
    • 統計によってクエリがパニックになる可能性がある問題を修正します#24061
    • BIT列でapprox_percentile関数を使用するとパニックになる可能性がある問題を修正します#23662
    • Grafanaのコプロセッサーキャッシュパネルのメトリックが間違っている問題を修正します#26338
    • 同じパーティションを同時に切り捨てると、DDLステートメントがスタックする問題を修正します#26229
    • セッション変数がGROUP BY項目として使用されたときに発生する誤ったクエリ結果の問題を修正します#27106
    • テーブル#25902を結合するときのVARCHARとタイムスタンプの間の誤った暗黙の変換を修正
    • 関連するサブクエリステートメントの間違った結果を修正する#27233
  • TiKV

    • 破損したスナップショットファイルによって引き起こされる潜在的なディスクフルの問題を修正する#10813
    • Titanが有効になっている5.0より前のバージョンからアップグレードするときに発生するTiKVパニックの問題を修正します#10843
    • 新しいバージョンのTiKVをv5.0.xにロールバックできない問題を修正します#10843
    • 5.0より前のバージョンから5.0以降のバージョンにアップグレードするときに発生するTiKVパニックの問題を修正します。アップグレード前にTitanを有効にしてクラスタをTiKVv3.xからアップグレードした場合、このクラスタで問題が発生する可能性があります。 #10774
    • 左の悲観的なロックによって引き起こされた解析の失敗を修正します#26404
    • 特定のプラットフォームで期間を計算するときに発生するパニックを修正する#10571
    • LoadBaseSplitのbatch_get_commandのキーがエンコードされていない#10542の問題を修正します
  • PD

    • PDが時間内にダウンピアを修正しないという問題を修正します#4077
    • replication.max-replicasが更新された後、デフォルトの配置ルールのレプリカ数が一定のままになる問題を修正します#3886
    • TiKV1をスケールアウトするときにPDがパニックになる可能性があるバグを修正し#3868
    • 複数のスケジューラーが同時に実行されている場合に発生するスケジュールの競合の問題を修正します#3807
    • スケジューラーが削除された場合でもスケジューラーが再び表示される可能性がある問題を修正します#2572
  • TiFlash

    • テーブルスキャンタスクの実行時に発生する可能性のあるパニックの問題を修正します
    • MPPタスクの実行時に発生する可能性のあるメモリリークの問題を修正します
    • DAQリクエストを処理するときにTiFlashがduplicated regionエラーを発生させるバグを修正します
    • 集計関数COUNTまたはCOUNT DISTINCTを実行するときに予期しない結果が発生する問題を修正します
    • MPPタスクの実行時に発生する可能性のあるパニックの問題を修正します
    • 複数のディスクにデプロイしたときにTiFlashがデータを復元できない潜在的なバグを修正します
    • SharedQueryBlockInputStreamを解体するときに発生する可能性のあるパニックの問題を修正します
    • MPPTaskを解体するときに発生する可能性のあるパニックの問題を修正します
    • TiFlashがMPP接続の確立に失敗した場合の予期しない結果の問題を修正します
    • ロックを解決するときに発生する可能性のあるパニックの問題を修正します
    • 大量の書き込みの下でメトリックのストアサイズが不正確になる問題を修正します
    • <=CONSTANTなどの>が含まれている場合に発生するCOLUMNた結果の>=を修正し<
    • TiFlashが長時間実行した後にデルタデータをガベージコレクションできないという潜在的な問題を修正します
    • メトリックが間違った値を表示する潜在的なバグを修正します
    • TiFlashが複数のディスクに展開されているときに発生するデータの不整合の潜在的な問題を修正します
  • ツール

    • Dumpling

      • MySQL8.0.3以降のバージョン#322show table statusの実行がスタックする問題を修正します
    • TiCDC

      • mysql.TypeString, mysql.TypeVarString, mysql.TypeVarcharなどのデータ型をJSON3にエンコードするときに発生するプロセスパニックの問題を修正し#2758
      • このテーブルが再スケジュールされているときに複数のプロセッサが同じテーブルにデータを書き込む可能性があるために発生するデータの不整合の問題を修正します#2417
      • TiCDCがあまりにも多くのリージョンをキャプチャするときに発生するOOMを回避するために、gRPCウィンドウサイズを小さくします#2724
      • メモリの負荷が高いときにgRPC接続が頻繁に切断されるというエラーを修正します#2202
      • 符号なしTINYINTタイプ#2648でTiCDCがパニックになるバグを修正します
      • トランザクションを挿入し、アップストリーム#2612の同じ行のデータを削除すると、TiCDCOpenProtocolが空の値を出力する問題を修正します。
      • スキーマ変更の終了TSで変更フィードが開始されたときにDDL処理が失敗するバグを修正します#2603
      • タスクがタイムアウトするまで、応答しないダウンストリームが古い所有者のレプリケーションタスクを中断する問題を修正します#2295
      • メタデータ管理のバグを修正する#2558
      • TiCDC所有者の切り替え後に発生するデータの不整合の問題を修正します#2230
      • capture listコマンドの出力に古いキャプチャが表示される可能性がある問題を修正します#2388
      • 統合テスト#2422でDDLジョブの重複が発生したときに発生するErrSchemaStorageTableMissのエラーを修正します。
      • ErrGCTTLExceededエラーが発生した場合にチェンジフィードを削除できないというバグを修正します#2391
      • 大きなテーブルを#2424に複製できないバグを修正します#1259
      • CLIの下位互換性の問題を修正する#2373
      • #2299のマップへの安全でない同時アクセスの問題を修正しSinkManager
      • DDLステートメントの実行時に所有者がクラッシュした場合の潜在的なDDL損失の問題を修正します#1260
      • リージョンが初期化された直後にロックが解決される問題を修正します#2188
      • 新しいパーティションテーブルを追加するときに発生する余分なパーティションディスパッチの問題を修正します#2263
      • TiCDCが削除されたチェンジフィードで警告を表示し続ける問題を修正します#2156

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

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.