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

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値が含まれている場合に TiDB が間違った結果を返す問題を修正しました #26559
      • 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
      • insert ignore on duplicate updateセカンダリインデックスに主キーと同じ列がある場合に間違ったデータが挿入される可能性がある問題を修正#25809
      • パーティションテーブルにクラスター化インデックスがある場合にinsert ignore duplicate updateが間違ったデータを挿入する可能性がある問題を修正しました#25846
      • PointGetまたはバッチPointGetでキーがENUM型の場合にクエリ結果が間違っている可能性がある問題を修正しました #24562
      • BIT型の値を割ったときに発生する誤った結果を修正しました #23479
      • preparedステートメントと直接クエリの結果が矛盾する可能性がある問題を修正#22949
      • YEAR型を文字列または整数型と比較するとクエリ結果が間違っている可能性がある問題を修正しました #23262

機能強化

  • TiDB

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

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

    • TiDB DashboardにOIDCベースのSSOサポートを追加 #3884
  • TiFlash

    • DAGリクエストのHAVING()関数をサポートする
    • DATE()関数をサポートする
    • インスタンスごとの書き込みスループットの Grafana パネルを追加する

改善点

  • TiDB

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

    • 読み取り準備と書き込み準備は別々に処理して読み取りレイテンシーを削減する#10475
    • ネットワーク帯域幅を節約するために、Resolved TSメッセージのサイズを縮小します#2448
    • スロガースレッドが過負荷になりキューがいっぱいになったときに、スレッドをブロックする代わりにログをドロップする#10841
    • TiKVコプロセッサのスローログに、リクエスト処理に費やされた時間のみを考慮するようにする #10841
    • 未確定エラーの可能性を減らすために、できるだけべき等な事前書き込みを行う#10587
    • 書き込みフローが低い場合に"GC can not work"という誤った警告を回避する#10662
    • 復元するデータベースが、バックアップ時の元のクラスタサイズと常に一致するようにします#10643
    • panic出力が確実にログにフラッシュされるようにする #9955
  • PD

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

    • Dumpling

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

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

バグ修正

  • TiDB

    • パーティションテーブルをクエリし、パーティションキーに条件IS NULLがある場合に TiDB がpanicする可能性がある問題を修正しました#23802
    • FLOAT64型のオーバーフローチェックがMySQL と異なる問題を修正 #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
    • 射影演算子を実行するときに TiDB がパニックを起こす問題を修正しました #24264
    • 統計情報によりクエリがpanicになる可能性がある問題を修正#24061
    • BIT列でapprox_percentile関数を使用するとpanicする可能性がある問題を修正しました#23662
    • GrafanaのCoprocessor Cacheパネルのメトリックが間違っている問題を修正しました#26338
    • 同じパーティションを同時に切り捨てるとDDL文がスタックする問題を修正しました#26229
    • セッション変数をGROUP BY項目として使用した場合に発生する誤ったクエリ結果の問題を修正しました #27106
    • テーブルを結合する際のVARCHARとタイムスタンプ間の誤った暗黙的な変換を修正しました #25902
    • 相関サブクエリステートメントの誤った結果を修正する#27233
  • TiKV

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

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

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

    • Dumpling

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

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

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