重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

TiDB4.0.14リリースノート

発売日:2021年7月27日

TiDBバージョン:4.0.14

互換性の変更

  • TiDB

    • v4.0では、デフォルト値のtidb_multi_statement_modeWARNからOFFに変更します。代わりに、クライアントライブラリのマルチステートメント機能を使用することをお勧めします。詳細については、 tidb_multi_statement_modeに関するドキュメントを参照してください。 #25749
    • Grafanaダッシュボードをv6.1.16からv7.5.7にアップグレードして、2つのセキュリティの脆弱性を解決します。詳細については、 Grafanaブログ投稿を参照してください。
    • tidb_stmt_summary_max_stmt_count変数のデフォルト値を200から#25872に変更し3000
  • TiKV

    • リージョンのマージプロセスを高速化するには、デフォルト値のmerge-check-tick-interval10から2に変更します#9676

機能の強化

  • TiKV

    • メトリックpendingを追加して、保留中のPDハートビートの数を監視します。これは、遅いPDスレッド#10008の問題を特定するのに役立ちます。
    • 仮想ホストアドレッシングモードの使用をサポートして、BRがS3互換ストレージをサポートするようにする#10242
  • TiDBダッシュボード

    • OIDCSSOをサポートします。 OIDC互換のSSOサービス(OktaやAuth0など)を設定することで、ユーザーはSQLパスワードを入力せずにTiDBダッシュボードにログインできます。 #960
    • 高度なデバッグのためにいくつかの一般的なTiDBおよびPD内部APIを呼び出すためのコマンドラインの代替メソッドであるDebugAPIUIを追加します#927

改善点

  • TiDB

    • UPDATEの読み取りにpoint getまたはbatch point getを使用して、インデックスキーのLOCKレコードをPUTレコードに変更します#26223
    • MySQLシステム変数init_connectとそれに関連する機能#26031をサポートする
    • 安定した結果モードをサポートして、クエリ結果をより安定させます#26003
    • 内蔵機能json_unquote()から#25721へのプッシュダウンをサポート
    • SQL計画管理(SPM)を文字セット#23295の影響を受けないようにする
  • TiKV

    • 最初にステータスサーバーをシャットダウンして、クライアントがシャットダウンステータスを正しく確認できることを確認します#10504
    • 常に古いピアに応答して、これらのピアがより迅速にクリアされるようにします#10400
    • TiCDCシンクのメモリ消費を制限する#10147
    • リージョンが大きすぎる場合は、偶数分割を使用して分割プロセスを高速化します#10275
  • PD

    • 同時に実行される複数のスケジューラー間の競合を減らし#3854 #3858
  • TiDBダッシュボード

    • TiDBダッシュボードをv2021.07.17.1に更新します#3882
    • 現在のセッションを読み取り専用セッションとして共有して、それ以上の変更を回避することをサポートします#960
  • ツール

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

      • 小さなバックアップファイルをマージして復元を高速化#655
    • Dumpling

      • アップストリームがTiDBv3.xクラスタの場合は、常に_tidb_rowidを使用してテーブルを分割します。これにより、TiDBのメモリ使用量が削減されます#306
    • TiCDC

      • PDエンドポイントが証明書を見逃したときに返されるエラーメッセージを改善する#1973
      • ソーターI/Oエラーをよりユーザーフレンドリーにする#1976
      • KVクライアントのリージョンインクリメンタルスキャンに同時実行制限を追加して、TiKV1のプレッシャーを軽減し#1926
      • テーブルのメモリ消費量のメトリックを追加する#1884
      • TiCDCサーバー構成にcapture-session-ttlを追加します#2169

バグの修正

  • TiDB

    • false #24865と評価されたWHERE句を使用してサブクエリを結合すると、 SELECTの結果がMySQLと互換性がないという問題を修正します。
    • 引数がENUMまたはSETタイプ#24944の場合に発生するifnull関数の計算エラーを修正しました
    • 場合によっては、間違った集計プルーニングを修正します#25202
    • 列がSETタイプ#25669の場合に発生する可能性があるマージ結合操作の誤った結果を修正します
    • TiDBがデカルト結合#25591に対して誤った結果を返す問題を修正します
    • SELECT ... FOR UPDATEが結合操作で機能し、結合がパーティションテーブル#20028を使用する場合に発生するpanicの問題を修正します。
    • キャッシュされたpreparedプランが#24741に誤って使用される問題を修正しpoint get
    • LOAD DATAステートメントがutf8以外のデータを異常にインポートする可能性がある問題を修正します#25979
    • HTTPAPIを介して統計にアクセスするときに発生する可能性のあるメモリリークの問題を修正します#24650
    • ALTER USERステートメント#25225の実行時に発生するセキュリティの問題を修正します。
    • TIKV_REGION_PEERSテーブルがDOWNステータス#24879を正しく処理できないバグを修正します
    • DateTimeを解析するときに無効な文字列が切り捨てられない問題を修正し#22231
    • 列タイプが#22159の場合、 select into outfileステートメントで結果が得られない可能性がある問題を修正しYEAR
    • NULLUNIONサブクエリ#26532にある場合、クエリ結果が間違っている可能性がある問題を修正します。
    • 実行中の射影演算子が場合によってはpanicを引き起こす可能性がある問題を修正します#26534
  • TiKV

    • 特定のプラットフォームで期間の計算がpanicになる可能性がある問題を修正します#related-issue
    • DOUBLEから#25200をキャストする間違った関数を修正しDOUBLE
    • 非同期ロガーを使用するとpanicログが失われる可能性がある問題を修正します#8998
    • 暗号化が有効になっている場合にスナップショットを2回作成するときに発生するpanicの問題を修正し#10407 #9786
    • コプロセッサー#10176json_unquote()関数の間違った引数タイプを修正します
    • シャットダウン中の疑わしい警告と#10307からの非決定的な応答の問題を修正します#10353
    • バックアップスレッドリークの問題を修正#10287
    • 分割プロセスが遅すぎてリージョンのマージが進行中の場合、リージョンの分割がpanicになり、メタデータが破損する可能性がある問題を修正します#8456 #8783
    • リージョンのハートビートにより、状況によってはTiKVが大きなリージョンを分割できない問題を修正します#10111
    • TiKVとTiDB1の間のCMスケッチのフォーマットの不一致によって引き起こされる誤った統計を修正し#25638
    • apply wait durationメトリック#9893の誤った統計を修正します
    • Titan #10232delete_files_in_rangeを使用した後、「MissingBlob」エラーを修正しました
  • PD

    • 削除操作の実行後にスケジューラーが再表示される可能性があるバグを修正します#2572
    • 一時構成がロードされる前にスケジューラーが開始されたときに発生する可能性のあるデータ競合の問題を修正します#3771
    • リージョン散乱操作中に発生する可能性のあるPDpanicの問題を修正します#3761
    • 一部の演算子の優先度が正しく設定されていない問題を修正します#3703
    • 存在しないストアからevict-leaderスケジューラーを削除するときに発生する可能性があるPDpanicの問題を修正します#3660
    • 店舗数が多いとPDリーダーの再選が遅くなる問題を修正#3697
  • TiDBダッシュボード

    • プロファイリングUIがすべてのTiDBインスタンスをプロファイリングできない問題を修正します#944
    • ステートメントUIに「プランカウント」が表示されない問題を修正します#939
    • クラスタのアップグレード後にSlowQueryUIに「不明なフィールド」エラーが表示される可能性がある問題を修正します#902
  • TiFlash

    • DAGリクエストのコンパイル時に発生する可能性のあるpanicの問題を修正します
    • 読み取り負荷が大きいときに発生するpanicの問題を修正します
    • 列ストレージでの分割の失敗が原因でTiFlashが再起動し続ける問題を修正します
    • TiFlashがデルタデータを削除できない潜在的なバグを修正します
    • 共有デルタインデックスを同時に複製するときに発生する誤った結果を修正します
    • データが不完全な場合にTiFlashが再起動しないバグを修正します
    • 古いdmファイルを自動的に削除できない問題を修正します
    • 特定の引数を使用してSUBSTRING関数を実行するときに発生するpanicの問題を修正します
    • INTEGERタイプをTIMEタイプにキャストするときの誤った結果の問題を修正します
  • ツール

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

      • mysqlスキーマからのデータ復元が失敗する可能性がある問題を修正します#1142
    • TiDB Lightning

      • TiDBLightningがTiDB Lightningファイル#1276DECIMAL型データの解析に失敗する問題を修正します。
      • TiDB Lightningがインポートされた大きなCSVファイルを分割するときに報告されるEOFエラーを修正します#1133
      • TiDB LightningがFLOATまたはDOUBLEタイプ#1185auto_increment列のテーブルをインポートすると、非常に大きな基本値が生成されるバグを修正します。
      • 4GBを超えるKVデータを生成するときに発生するTiDB Lightningpanicの問題を修正します#1128
    • Dumpling

      • Dumplingを使用してデータをS3ストレージにエクスポートする場合、バケット全体でs3:ListBucketのアクセス許可は不要になりました。この権限は、データソースプレフィックスにのみ必要です。 #898
    • TiCDC

      • 新しいテーブルパーティションを追加した後の余分なパーティションディスパッチの問題を修正します#2205
      • #2023が13の読み取りに失敗したときに発生するpanicの問題を修正し/proc/meminfo
      • #1957のランタイムメモリ消費を削減する#2011
      • MySQLシンクがエラーに遭遇して一時停止した後に一部のMySQL接続がリークする可能性があるバグを修正します#1945
      • 開始TSが現在のTSからGCTTL1を引いた値よりも小さい場合、 #1839チェンジフィードを作成できない問題を修正します。
      • ソートヒープ内のメモリmallocを減らして、CPUオーバーヘッド#1853が多すぎないようにします。
      • テーブルを移動するときにレプリケーションタスクが停止する可能性があるバグを修正します#1827