TiDB 5.0.4 リリースノート

リリース日:2021年9月27日

TiDB バージョン: 5.0.4

互換性の変更

  • TiDB

    • 新しいセッションでSHOW VARIABLESを実行すると遅いという問題を修正します。この修正により、 #19341で行われた一部の変更が元に戻されるため、互換性の問題が発生する可能性があります。 #24326
    • tidb_stmt_summary_max_stmt_count変数のデフォルト値を200から3000に変更します#25873
    • 次のバグ修正により実行結果が変更され、アップグレードの非互換性が発生する可能性があります。
      • 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'STRICT_TRANS_TABLES' #26762の場合、無効な日付を挿入してもエラーが報告されない問題を修正します。
      • SQL_MODE'NO_ZERO_IN_DATE' #26766の場合、無効なデフォルト日付を使用してもエラーが報告されない問題を修正します。
      • プレフィックスインデックス#26029のクエリ範囲のバグを修正
      • LOAD DATAステートメントが非 utf8 データを異常にインポートする可能性がある問題を修正します#25979
      • セカンダリ インデックスに主キー#25809と同じ列がある場合、 insert ignore on duplicate updateで間違ったデータが挿入される可能性がある問題を修正します。
      • パーティションテーブルにクラスタード インデックスがある場合、 insert ignore duplicate update間違ったデータを挿入する可能性がある問題を修正します#25846
      • ポイント取得、バッチポイント取得#24562においてキーがENUM型の場合、クエリ結果が不正になる場合がある問題を修正
      • 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をサポートします。
    • COUNT(DISTINCT) MPPモードのアグリゲーション機能を徹底的に突き詰める#25861
    • 集計関数をEXPLAINステートメントでプッシュダウンできない場合にログ警告を出力する#25736
    • Grafana ダッシュボード#25327TiFlashQueryTotalCounterエラー ラベルを追加します
    • HTTP API #24209によるセカンダリ インデックスを介したクラスター化インデックス テーブルの MVCC データの取得をサポートします。
    • パーサー#24371preparedステートメントのメモリ割り当てを最適化します。
  • TiKV

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

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

    • Dumpling

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

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

バグの修正

  • TiDB

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

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

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

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

    • Dumpling

      • MySQL 8.0.3 以降のバージョン#322show table statusの実行が停止する問題を修正
    • TiCDC

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

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

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