重要

古いバージョンの TiDB データベース (TiDB {{ curdocVersion }}) のドキュメントを表示しています。

TiDBデータベースの最新の安定バージョンを使用することをお勧めします。
重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

TiDB4.0.5リリースノート

発売日:2020年8月31日

TiDBバージョン:4.0.5

互換性の変更

  • TiDB

    • 複数のパーティションのID配列をサポートするようにdrop partitiontruncate partitionのジョブ引数を変更します#18930
    • add partitionのレプリカをチェックするための削除専用状態を追加します#18865

新機能

  • TiKV

    • エラーのエラーコードを定義する#8387
  • TiFlash

    • TiDBで統合ログ形式をサポートする
  • ツール

    • TiCDC

      • KafkaSSL接続をサポート#764
      • 古い値の出力をサポート#708
      • 列フラグを追加する#796
      • 以前のバージョン#799のDDLステートメントとテーブルスキーマの出力をサポートします

改善

  • TiDB

    • 大きなユニオンクエリに対してDecodePlanのパフォーマンスを最適化する#18941
    • Region cache missのエラーが発生したときにGCロックスキャンの数を減らします#18876
    • 統計的フィードバックがクラスタのパフォーマンスに与える影響を緩和する#18772
    • RPC応答が返される前のキャンセル操作をサポート#18580
    • HTTP APIを追加して、TiDBメトリックプロファイルを生成します#18531
    • 分割テーブルの分散をサポート#17863
    • Grafana1の各インスタンスの詳細なメモリ使用量を追加し#18679
    • #18892の結果にBatchPointGet演算子の詳細な実行時情報を表示しEXPLAIN
    • #18817の結果にPointGet演算子の詳細な実行時情報を表示しEXPLAIN
    • #18395 remove()Consumeの潜在的なデッドロックを警告する
    • StrToIntStrToFloatの動作を#18159し、JSONをdate 、およびtimeタイプに変換することをサポートしますtimestamp
    • TableReaderオペレーターのメモリ使用量の制限をサポート#18392
    • batch copのリクエストを再試行するときにバックオフを何度も回避する#18999
    • ALTER TABLEアルゴリズムの互換性を向上させる#19270
    • 内側の単一パーティションテーブルサポートIndexJoinを作成します#19151
    • ログに無効な行が含まれている場合でもログファイルの検索をサポート#18579
  • PD

    • 特別なエンジン(TiFlashなど)を備えた店舗での散乱領域のサポート#2706
    • リージョンHTTPAPIをサポートして、特定のキー範囲のリージョンスケジューリングに優先順位を付けます#2687
    • 領域散乱後のリーダー分布を改善する#2684
    • TSOリクエストのテストとログをさらに追加する#2678
    • リージョンのリーダーが変更された後の無効なキャッシュ更新を回避する#2672
    • store.GetLimitがトゥームストーンストアを返すことを許可するオプションを追加します#2743
    • PDリーダーとフォロワーの間でリージョンリーダーの変更を同期することをサポートする#2795
    • GCセーフポイントサービスをクエリするためのコマンドを追加する#2797
    • パフォーマンスを向上させるために、フィルターのregion.Cloneの呼び出しを置き換えます#2801
    • 大規模クラスタのパフォーマンスを向上させるために、リージョンフローキャッシュの更新を無効にするオプションを追加します#2848
  • TiFlash

    • Grafanaパネルをさらに追加して、CPU、I / O、RAM使用量のメトリック、およびストレージエンジンのメトリックを表示します
    • Raftログの処理ロジックを最適化することにより、I/O操作を削減します
    • ブロックされたadd partitionステートメントのリージョンスケジューリングを高速化
    • DeltaTreeのデルタデータの圧縮を最適化して、読み取りと書き込みの増幅を減らします
    • 複数のスレッドを使用してスナップショットを前処理することにより、リージョンスナップショットを適用するパフォーマンスを最適化します
    • TiFlashの読み取り負荷が低いときに開くファイル記述子の数を最適化して、システムリソースの消費を削減します
    • TiFlashの再起動時に作成される不要な小さなファイルの数を最適化する
    • データストレージの保存時の暗号化をサポート
    • データ転送にTLSをサポート
  • ツール

    • TiCDC

      • #801を取得する頻度を下げる
    • バックアップと復元(BR)

      • 一部のログを最適化する#428
    • Dumpling

      • MySQL #121のロック時間を短縮するために、接続が作成された後にFTWRLを解放します
    • TiDB Lightning

      • 一部のログを最適化する#352

バグの修正

  • TiDB

    • builtinCastRealAsDecimalSig関数#18967ErrTruncate/Overflowエラーが正しく処理されなかったために発生したshould ensure all columns have the same lengthエラーを修正します。
    • pre_split_regionsテーブルオプションがパーティションテーブル#18837で機能しない問題を修正します
    • 大規模なトランザクションが途中で終了する可能性がある問題を修正します#18813
    • collation関数を使用すると間違ったクエリ結果が得られる問題を修正します#18735
    • getAutoIncrementID()関数がtidb_snapshotセッション変数を考慮しないというバグを修正します。これにより、ダンパーツールがtable not existエラー#18692で失敗する可能性があります。
    • #18434のようなSQLステートメントのunknown column errorを修正しselect a from t having t.a
    • パーティションキーが整数型#18186の場合、64ビットの符号なし型をハッシュパーティションテーブルに書き込むとオーバーフローが発生し、予期しない負の数が発生するというパニックの問題を修正します。
    • char関数#18122の間違った動作を修正します
    • ADMIN REPAIR TABLEステートメントが範囲パーティション#17988の式の整数を解析できない問題を修正します
    • SET CHARSETステートメント#17289の誤った動作を修正します
    • collation関数#17231の間違った結果につながる間違った照合順序設定によって引き起こされたバグを修正します
    • フォーマットトークン'%r''%h'STR_TO_DATEの処理がMySQL3の処理と矛盾する問題を修正し#18727
    • TiDBのバージョン情報がcluster_info#18413のPD/TiKVのバージョン情報と矛盾する問題を修正します。
    • 悲観的なトランザクションの既存のチェックを修正する#19004
    • union select for updateを実行すると同時レース#19006が発生する可能性がある問題を修正します
    • applyPointGet演算子#19046の子がある場合の間違ったクエリ結果を修正します
    • IndexLookUpApply演算子#19496の内側にあるときに発生する誤った結果を修正します
    • anti-semi-joinクエリの誤った結果を修正#19472
    • #19456の誤った使用によって引き起こされた誤った結果を修正しBatchPointGet
    • UnionScanApply演算子#19496の内側にあるときに発生する誤った結果を修正します
    • EXECUTEステートメントを使用して高価なクエリログを出力することによって引き起こされるパニックを修正します#17419
    • 結合キーがENUMまたは#19235の場合のインデックス結合エラーを修正しSET
    • インデックス列#19358NULLの値が存在する場合、クエリ範囲を構築できない問題を修正します。
    • グローバル構成の更新によって引き起こされるデータ競合の問題を修正します#17964
    • 大文字スキーマ#19286の文字セットを変更するときに発生するパニックの問題を修正します
    • ディスクスピルアクション中に一時ディレクトリを変更することによって引き起こされる予期しないエラーを修正します#18970
    • 10進タイプ#19131の間違ったハッシュキーを修正します
    • PointGetおよびBatchPointGet演算子がパーティション選択構文を考慮せず、誤った結果を取得する問題を修正します#19141
    • Apply演算子をUnionScan演算子と一緒に使用した場合の誤った結果を修正します#19104
    • インデックス付きの仮想生成列が間違った値を返す原因となるバグを修正します#17989
    • 実行時統計のロックを追加して、同時実行によって引き起こされるパニックを修正します#18983
  • TiKV

    • Hibernateリージョンが有効になっている場合のリーダー選挙のスピードアップ#8292
    • スケジューリング中のメモリリークの問題を修正#8357
    • リーダーが急速に休止状態になるのを防ぐために、 hibernate-timeoutの構成アイテムを追加します#8208
  • PD

    • リーダーの変更時にTSOリクエストが失敗する可能性があるバグを修正します#2666
    • 配置ルールが有効になっている場合、リージョンレプリカを最適な状態にスケジュールできないことがある問題を修正します#2720
    • 配置ルールが有効になっているとBalance Leaderが機能しない問題を修正します#2726
    • 異常なストアがストアの負荷統計からフィルタリングされない問題を修正します#2805
  • TiFlash

    • データベースまたはテーブルの名前に特殊文字が含まれている場合、以前のバージョンからアップグレードした後、TiFlashが正常に起動しない問題を修正します
    • 初期化中に例外がスローされた場合にTiFlashプロセスが終了できない問題を修正します
  • ツール

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

      • バックアップサマリーログ#472の合計KVと合計バイトの重複計算の問題を修正します。
      • このモードに切り替えてから最初の5分間はインポートモードが機能しないという問題を修正します#473
    • Dumpling

      • FTWRLロックが時間#128で解放されない問題を修正します
    • TiCDC

      • 失敗したchangefeedを削除できないという問題を修正します#782
      • ハンドルインデックス#787として1つの一意のインデックスを選択することにより、無効なdeleteイベントを修正します。
      • GCセーフポイントが停止したchangefeedのチェックポイントを超えて転送されるバグを修正し#797
      • ネットワークI/O待機がタスクの終了をブロックするバグを修正します#825
      • 一部の不要なデータが誤ってダウンストリームに複製される可能性があるバグを修正します#743
    • TiDB Lightning

      • TiDBバックエンド#357を使用する場合の空のバイナリ/16進リテラルの構文エラーを修正しました