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

TiDB4.0.9リリースノート

発売日:2020年12月21日

TiDBバージョン:4.0.9

互換性の変更

  • TiDB

    • enable-streaming構成アイテム#21055を非推奨
  • TiKV

    • 静止時の暗号化が有効になっている場合のI/Oとミューテックスの競合を減らします。変更は後方互換性がありません。ユーザーがクラスタをv4.0.9より前のバージョンにダウングレードする必要がある場合は、ダウングレードの前にsecurity.encryption.enable-file-dictionary-logを無効にし、TiKVを再起動する必要があります。 #9195

新機能

  • TiFlash

    • ストレージエンジンの最新データを複数のディスクに保存することをサポート(実験的)
  • TiDBダッシュボード

    • SQLステートメントページ#749のすべてのフィールドによる表示と並べ替えをサポート
    • トポロジグラフのズームとパンをサポート#772
    • SQLステートメントおよび低速クエリページ#777でのディスク使用量情報の表示のサポート
    • SQLステートメントおよび低速クエリページ#778でのリストデータのエクスポートのサポート
    • Prometheusアドレスのカスタマイズをサポート#808
    • クラスタ統計のページを追加する#815
    • 低速クエリの詳細に時間関連のフィールドを追加する#810

改善点

  • TiDB

    • 等しい条件を他の条件に変換するときに、ヒューリスティックな方法で(インデックス)マージ結合を回避します#21146
    • ユーザー変数の種類を区別する#21107
    • 構成ファイル#20922でのGOGC変数の設定のサポート
    • ダンプされたバイナリ時間( TimestampおよびDatetime )を#21135との互換性を高めます
    • LOCK IN SHARE MODE構文#21005を使用するステートメントにエラーメッセージを提供します
    • ショートカット可能な式で定数を折りたたむときに、不要な警告やエラーを出力しないようにする#21040
    • LOAD DATAステートメント#21199を準備するときにエラーを発生させます
    • 整数列タイプを変更するときは、整数のゼロフィルサイズの属性を無視します#20986
    • EXPLAIN ANALYZE #21066の結果に、DMLステートメントのエグゼキュータ関連のランタイム情報を追加します。
    • 単一のSQLステートメントの主キーに対する複数の更新を禁止する#21113
    • 接続アイドル時間の監視メトリックを追加します#21301
    • runtime/traceのツールが実行されているときに一時的に遅いログを有効にします#20578
  • TiKV

    • タグを追加して、 splitコマンドのソースをトレースします#8936
    • pessimistic-txn.pipelined構成の動的変更をサポート#9100
    • Backup& #9098とTiDB Lightningを実行する際のパフォーマンスへの影響を軽減する
    • 取り込みSSTエラーの監視メトリックを追加する#9096
    • 一部のピアがまだログを複製する必要があるときにリーダーが休止状態になるのを防ぐ#9093
    • パイプライン化された悲観的ロックの成功率を高める#9086
    • デフォルト値のapply-max-batch-sizestore-max-batch-size#9020に変更し1024
    • max-background-flushesの構成アイテム#8947を追加します
    • パフォーマンスを向上させるには、デフォルトでforce-consistency-checksを無効にします#9029
    • リージョンサイズのクエリをpd heartbeat workerから#9185までオフロードしsplit check worker
  • PD

    • TiKVストアがTombstoneになったときにTiKVクラスタのバージョンを確認します。これにより、ユーザーはダウングレードまたはアップグレードのプロセス中に互換性のない機能を有効にできなくなります#3213
    • 下位バージョンの#3206ストアをTombstoneから35に変更することを禁止しUp
  • TiDBダッシュボード

    • SQLステートメント#775[展開]をクリックしても展開を続ける
    • SQLステートメント低速クエリの詳細ページを新しいウィンドウで開きます#816
    • SlowQueriesの詳細#817の時間関連フィールドの説明を改善する
    • 詳細なエラーメッセージを表示する#794
  • TiFlash

    • レプリカ読み取りの待ち時間を短縮する
    • TiFlashのエラーメッセージを調整する
    • データ量が膨大な場合は、キャッシュデータのメモリ使用量を制限してください
    • 処理されているコプロセッサー・タスクの数のモニター・メトリックを追加します
  • ツール

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

      • チェックサムを正しく無効にしない、コマンドラインのあいまいな--checksum false引数を禁止します。 --checksum=falseだけ受け入れられます。 #588
      • BRが誤って存在した後にPDが元の構成を復元できるように、PD構成を一時的に変更することをサポートします#596
      • 復元後のテーブル分析のサポート#622
      • read index not readyproposal in merging modeのエラーを再試行します#626
    • TiCDC

      • TiKVの休止状態リージョン機能を有効にするためのアラートを追加する#1120
      • スキーマストレージのメモリ使用量を削減する#1127
      • インクリメンタルスキャンのデータサイズが大きい場合にレプリケーションを高速化する統合ソーターの機能を追加します(実験的) #1122
      • TiCDC Open Protocolメッセージの最大メッセージサイズと最大メッセージバッチの構成をサポート(Kafkaシンクの場合のみ) #1079
    • Dumpling

      • 失敗したチャンクでデータのダンプを再試行します#182
      • -Fつと-rの引数の両方を同時に構成することをサポートします#177
      • デフォルトで--filterのシステムデータベースを除外します#194
      • --transactional-consistencyパラメータをサポートし、再試行#199中のMySQL接続の再構築をサポートします
      • Dumplingで使用される圧縮アルゴリズムを指定するための-c,--compressパラメーターの使用をサポートします。空の文字列は、圧縮されていないことを意味します。 #202
    • TiDB Lightning

      • デフォルトですべてのシステムスキーマを除外します#459
      • ローカルバックエンドまたはインポーターバックエンド#457の自動ランダム主キーのデフォルト値の設定をサポート
      • 範囲プロパティを使用して、ローカルバックエンド#422で範囲分割をより正確にします
      • tikv-importer.region-split-size 、およびmydumper.batch-size mydumper.read-block-sizeで人間が読める形式(「 mydumper.max-region-size 」など)を#471する
    • TiDB Binlog

      • アップストリームPDがダウンしている場合、またはダウンストリームへのDDLまたはDMLステートメントの適用が失敗した場合は、ゼロ以外のコードでDrainerプロセスを終了します#1012

バグの修正

  • TiDB

    • OR条件#21287でプレフィックスインデックスを使用する場合の誤った結果の問題を修正します
    • 自動再試行が有効になっているときにpanicを引き起こす可能性があるバグを修正します#21285
    • 列タイプ#21273に従ってパーティション定義をチェックするときに発生するバグを修正します
    • パーティション式の値タイプがパーティション列タイプ#21136と一致しないバグを修正しました
    • ハッシュタイプのパーティションがパーティション名が一意であるかどうかをチェックしないバグを修正します#21257
    • INT以外のタイプの値をハッシュパーティションテーブルに挿入した後に返される誤った結果を修正します#21238
    • 場合によってはINSERTステートメントでインデックス結合を使用するときの予期しないエラーを修正します#21249
    • CASE WHEN演算子のBigIntの符号なし列の値がBigIntの符号付きの値に誤って変換される問題を修正します#21236
    • インデックスハッシュ結合とインデックスマージ結合が照合順序を考慮しないバグを修正します#21219
    • パーティションテーブルがCREATE TABLEおよびSELECT構文の照合順序を考慮しないバグを修正します#21181
    • slow_queryのクエリ結果が一部の行#21211を見逃す可能性がある問題を修正します
    • データベース名が純粋な下位表現でない場合、 DELETEがデータを正しく削除しない可能性があるという問題を修正します#21206
    • DML操作後にスキーマ変更を引き起こすバグを修正します#21050
    • 結合#21021を使用すると合体した列をクエリできないバグを修正しました
    • 一部の半結合クエリの誤った結果を修正する#21019
    • テーブルロックがUPDATEステートメント#21002で有効にならない問題を修正します。
    • 再帰ビューを構築するときに発生するスタックオーバーフローの問題を修正します#21001
    • 外部結合#20954でインデックスマージ結合操作を実行したときに返される予期しない結果を修正しました
    • 結果が不明なトランザクションが失敗したものとして扱われることがあるという問題を修正します#20925
    • EXPLAIN FOR CONNECTIONが最後のクエリプラン#21315を表示できない問題を修正します
    • 読み取りコミット分離レベルのトランザクションでインデックスマージを使用すると、結果が正しくない可能性があるという問題を修正します#21253
    • 書き込みの競合後のトランザクションの再試行によって引き起こされる自動ID割り当ての失敗を修正します#21079
    • 13を使用してJSONデータを#21074に正しくインポートできない問題を修正しLOAD DATA
    • 新しく追加されたEnumタイプの列のデフォルト値が正しくない問題を修正します#20998
    • adddate関数が無効な文字を挿入する問題を修正します#21176
    • いくつかの状況で生成された間違ったPointGetプランが間違った結果を引き起こすという問題を修正します#21244
    • MySQL #20888と互換性があるように、 ADD_DATE関数の夏時間の変換を無視します
    • 末尾のスペースがvarcharまたはcharの長さの制約を超える文字列の挿入を妨げるバグを修正します#21282
    • intyearを比較するときに、整数を[1, 69]から[2001, 2069]または[70, 99]から[1970, 1999]に変換しない#21283を修正します。
    • Doubleタイプのフィールド#21272を計算するときに、 sum()関数の結果がオーバーフローすることによって引き起こされるpanicを修正します。
    • DELETEが一意キー#20705にロックを追加できないバグを修正します
    • スナップショットの読み取りがロックキャッシュにヒットするバグを修正#21539
    • 長期間のトランザクションで大量のデータを読み取った後の潜在的なメモリリークの問題を修正します#21129
    • サブクエリでテーブルエイリアスを省略すると、構文エラーが返される問題を修正します#20367
    • クエリのIN関数の引数が時間タイプの場合、クエリが誤った結果を返す可能性がある問題を修正します#21290
  • TiKV

    • 255を超える列がある場合にコプロセッサーが誤った結果を返す可能性がある問題を修正します#9131
    • リージョンマージがネットワークパーティション#9108中にデータ損失を引き起こす可能性がある問題を修正します
    • latin1文字セット#9082を使用すると、 ANALYZEステートメントがpanicを引き起こす可能性がある問題を修正します。
    • 数値タイプを時間タイプ#9031に変換したときに返される誤った結果を修正します
    • 透過的データ暗号化(TDE)が有効になっている場合、TiDBLightningがインポーターバックエンドまたはローカルバックエンドを使用してSSTファイルをTiDB Lightningに取り込めないバグを修正します#8995
    • 無効なadvertise-status-addrの値を修正します( 0.0.0.0#9036
    • コミットされたトランザクションでこのキーがロックされて削除されたときにキーが存在することを示すエラーが返される問題を修正します#8930
    • RocksDBキャッシュマッピングエラーがデータ破損を引き起こす問題を修正します#9029
    • リーダーが転送された後、フォロワー読み取りが古いデータを返す可能性があるバグを修正します#9240
    • 古い値がペシミスティックロックで読み取られる可能性がある問題を修正します#9282
    • リーダーの転送後にレプリカの読み取りで古いデータが取得される可能性があるバグを修正します#9240
    • #9229のプロファイリング後にSIGPROFを受信したときに発生するTiKVクラッシュの問題を修正します
  • PD

    • 配置ルールを使用して指定されたリーダーの役割が有効にならない場合がある問題を修正します#3208
    • trace-region-flowの値が予期せず#3120に設定される問題を修正しfalse
    • 存続可能時間(TTL)が無限のサービスセーフポイントが機能しないバグを修正します#3143
  • TiDBダッシュボード

    • 中国語での時間の表示の問題を修正#755
    • ブラウザの互換性に関する通知が機能しないバグを修正します#776
    • 一部のシナリオでトランザクションstart_tsが正しく表示されない問題を修正します#793
    • 一部のSQLテキストが正しくフォーマットされていない問題を修正します#805
  • TiFlash

    • INFORMATION_SCHEMA.CLUSTER_HARDWAREに使用されていないディスクの情報が含まれている可能性があるという問題を修正します
    • DeltaCacheのメモリ使用量の見積もりが実際の使用量よりも小さいという問題を修正します
    • スレッド情報の統計によって引き起こされるメモリリークを修正します
  • ツール

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

      • S3シークレットアクセスキー#617の特殊文字によって引き起こされる障害を修正します
    • TiCDC

      • 所有者キャンペーンキーが削除されたときに複数の所有者が存在する可能性がある問題を修正します#1104
      • TiKVノードがクラッシュしたとき、またはクラッシュから回復したときに、TiCDCがデータの複製を続行できない可能性があるバグを修正します。このバグはv4.0.8にのみ存在します。 #1198
      • テーブルが初期化される前にメタデータがetcdに繰り返しフラッシュされる問題を修正します#1191
      • 初期のGCまたはスキーマストレージがTiDBテーブルをキャッシュするときの更新TableInfoの遅延によって引き起こされるレプリケーションの中断の問題を修正します#1114
      • DDL操作が頻繁に行われる場合にスキーマストレージがメモリを大量に消費するという問題を修正します#1127
      • チェンジフィードが一時停止または停止したときのゴルーチンリークを修正する#1075
      • Kafkaプロデューサーの最大再試行タイムアウトを600秒に増やして、ダウンストリーム#1118のサービスまたはネットワークジッターによって引き起こされるレプリケーションの中断を防ぎます。
      • Kafkaバッチサイズが有効にならないバグを修正します#1112
      • TiCDCとPDの間のネットワークにジッターがあり、同時に再開される一時停止された変更フィードがある場合に、一部のテーブルの行変更が失われる可能性があるバグを修正します#1213
      • TiCDCとPDの間のネットワークが安定していない場合にTiCDCプロセスが終了する可能性があるバグを修正します#1218
      • TiCDCでシングルトンPDクライアントを使用し、TiCDCが誤ってPDクライアントを閉じてレプリケーションブロック#1217を引き起こすバグを修正します。
      • TiCDC所有者がetcdウォッチクライアントでメモリを過剰に消費する可能性があるバグを修正します#1224
    • Dumpling

      • MySQLデータベースサーバーへの接続が閉じられたときにDumplingがブロックされる可能性がある問題を修正します#190
    • TiDB Lightning

      • キーが間違ったフィールド情報を使用してエンコードされる問題を修正します#437
      • GCライフタイムTTLが有効にならない問題を修正します#448
      • ローカルバックエンドモードで実行中のTiDB Lightningを手動で停止するとpanicが発生する問題を修正します#484