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

TiDB3.0.4リリースノート

発売日:2019年10月8日

TiDBバージョン:3.0.4

TiDB Ansibleバージョン:3.0.4

  • 新機能

    • SQLレベルでパフォーマンスの問題をトラブルシューティングするためにperformance_schema.events_statements_summary_by_digestのシステムテーブルを追加します
    • TiDBのSHOW TABLE REGIONS構文にWHERE句を追加します
    • Reparoにworker-counttxn-batchの構成アイテムを追加して、回復速度を制御します
  • 改善点

    • 分割パフォーマンスを向上させるために、TiKVでバッチリージョン分割コマンドと空の分割コマンドをサポートする
    • リバーススキャンのパフォーマンスを向上させるために、TiKVでRocksDBの二重リンクリストをサポートする
    • TiDB Ansibleに2つのパフォーマンスツールiosnoopfuncslowerを追加して、クラスタの状態をより適切に診断します
    • 冗長フィールドを削除して、TiDBの遅いクエリログの出力を最適化します
  • 動作の変更

    • デフォルト値のtxn-local-latches.enableからfalseを更新して、TiDBでローカルトランザクションの競合をチェックするデフォルトの動作を無効にします
    • TiDBにグローバルスコープのtidb_txn_modeのシステム変数を追加し、ペシミスティックロックの使用を許可します。 TiDBは引き続きデフォルトで楽観的ロックを採用していることに注意してください
    • 低速クエリログの使いやすさを向上させるために、TiDB低速クエリログのIndex_idsフィールドをIndex_namesに置き換えます
    • TiDB構成ファイルにsplit-region-max-numパラメーターを追加して、 SPLIT TABLE構文で許可されるリージョンの最大数を変更します。
    • SQLの実行がメモリ制限を超えたときにリンクを切断する代わりに、 Out Of Memory Quotaエラーを返します
    • 誤操作を避けるために、TiDBの列のAUTO_INCREMENT属性を削除することを禁止します。この属性を削除するには、 tidb_allow_remove_auto_incシステム変数を変更します
  • 修正された問題

    • コメント化されていないTiDB固有の構文PRE_SPLIT_REGIONSにより、データ複製中にダウンストリームデータベースでエラーが発生する可能性がある問題を修正します
    • カーソルを使用してPREPARE + EXECUTEの結果を取得すると、遅いクエリログが正しくないというTiDBの問題を修正します。
    • 隣接する小さなリージョンをマージできないというPDの問題を修正します
    • アイドル状態のクラスターでのファイル記述子のリークにより、プロセスが長時間実行されるとTiKVプロセスが異常終了する可能性があるというTiKVの問題を修正します。
  • 寄稿者

    このリリースを支援してくれたコミュニティからの次の貢献者に感謝します。

TiDB

  • SQLオプティマイザー
    • フィードバックによって分割されたときに無効なクエリ範囲が発生する可能性がある問題を修正します#12170
    • 結果に無効なキーが含まれている場合にエラーを返すのではなく、 SHOW STATS_BUCKETSステートメントの返されたエラーを16進数で表示します#12094
    • クエリにSLEEP関数(たとえば、 select 1 from (select sleep(1)) t;) )が含まれている場合、列のプルーニングによってクエリ#11953中に無効なsleep(1)が発生する問題を修正します。
    • クエリがテーブルデータではなく列数のみに関係する場合は、インデックススキャンを使用してIOを下げます#12112
    • MySQL #12100と互換性があるために、 use index()にインデックスが指定されていない場合は、インデックスを使用しないでください。
    • CMSketchの統計のTopNのレコードの数を厳密に制限して、ステートメントの数がトランザクションのサイズに関するTiDBの制限を超えているためにANALYZEのステートメントが失敗する問題を修正します#11914
    • Updateステートメント#12483に含まれるサブクエリを変換するときに発生したエラーを修正します。
    • Limit演算子をIndexLookUpReaderの実行ロジック#12378にプッシュすることにより、 select ... limit ... offset ...のステートメントの実行パフォーマンスを最適化します。
  • SQL実行エンジン
    • PREPAREDステートメントが正しく実行されなかった場合にSQLステートメントをログに出力します#12191
    • UNIX_TIMESTAMP関数を使用してパーティショニング#12169を実装する場合は、パーティションプルーニングをサポートします。
    • AUTO_INCREMENTMAX int64#12162を誤って割り当てたときにエラーが報告されないという問題を修正しMAX uint64
    • SHOW TABLE … REGIONSおよびSHOW TABLE .. INDEX … REGIONS構文にWHERE句を追加します#12123
    • SQLの実行がメモリ制限を超えたときにリンクを切断する代わりにOut Of Memory Quotaエラーを返します#12127
    • JSON_UNQUOTEの関数がJSONテキストを処理すると誤った結果が返される問題を修正します#11955
    • 最初の行のAUTO_INCREMENT列に値を割り当てるときにLAST INSERT IDが正しくないという問題を修正します(たとえば、 insert into t (pk, c) values (1, 2), (NULL, 3)#12002
    • PREPAREステートメント#12351GROUPBY解析ルールが正しくない問題を修正します。
    • ポイントクエリで特権チェックが正しくない問題を修正します#12340
    • PREPAREステートメントの期間がsql_typeで、監視レコード#12331に表示されない問題を修正します。
    • ポイントクエリでのテーブルのエイリアスの使用のサポート(たとえば、 select * from t tmp where a = "aa"#12282
    • BITタイプの列に負の数を挿入するときに負の値を符号なしとして処理しないときに発生したエラーを修正します#12423
    • 時間の誤った丸めを修正します(たとえば、 2019-09-11 11:17:47.9999996662019-09-11 11:17:48に丸める必要があります) #12258
    • 式ブロックリストの使用法を調整します(たとえば、 <Itと同等です) #11975
    • 存在しない関数エラーのメッセージにデータベースプレフィックスを追加します(たとえば、 [expression:1305]FUNCTION test.std_samp does not exist#12111
  • サーバ
    • 最後のステートメントが#12180の場合、遅いクエリログにPrev_stmtフィールドを追加して、前のステートメントを出力しCOMMIT
    • 冗長フィールドを削除して、遅いクエリログの出力を最適化します#12144
    • デフォルト値のtxn-local-latches.enablefalseに更新して、TiDB5でローカルトランザクションの競合をチェックするデフォルトの動作を無効にし#12095
    • 低速クエリログの使いやすさを向上させるために、TiDB低速クエリログのIndex_idsフィールドをIndex_namesに置き換えます#12061
    • TiDBにグローバルスコープのtidb_txn_modeのシステム変数を追加し、ペシミスティックロック#12049の使用を許可します
    • 低速クエリログにBackoffフィールドを追加して、 #12335のコミットフェーズでのバックオフ情報を記録します。
    • カーソル(たとえば、 PREPARE stmt1FROM SELECT * FROM t WHERE a > ?; EXECUTE stmt1 USING @variable )を使用してPREPARE + EXECUTEの結果を取得すると、遅いクエリログが正しくないという問題を修正します#12392
    • サポートtidb_enable_stmt_summary 。この機能を有効にすると、 #12308はSQLステートメントをカウントし、システムテーブル35を使用して結果を照会できperformance_schema.events_statements_summary_by_digest
    • tikv-clientの一部のログのレベルを調整します(たとえば、 batchRecvLoop failsのログレベルをERRORからINFOに変更します) #12383
  • DDL
    • tidb_allow_remove_auto_incの変数を追加します。列のAUTO INCREMENT属性の削除は、デフォルトで無効になっています#12145
    • コメント化されていないTiDB固有の構文PRE_SPLIT_REGIONSが、データ複製#12120中にダウンストリームデータベースでエラーを引き起こす可能性があるという問題を修正します。
    • リージョンの最大許容数が調整可能になるように、構成ファイルにsplit-region-max-numの変数を追加します#12097
    • リージョンを複数のリージョンに分割することをサポートし、リージョンの分散中のタイムアウトの問題を修正します#12343
    • 2つのインデックスによって参照されるAUTO_INCREMENT列を含むインデックスの場合にdrop indexステートメントが失敗する問題を修正します#12344
  • モニター
    • connection_transient_failure_countのモニタリングメトリックを追加して、35の#12093接続エラーの数をカウントしtikvclient

TiKV

  • ラフトストア
    • Raftstoreが空のリージョン#5414のキーの数を不正確にカウントする問題を修正します
    • RocksDBの二重リンクリストをサポートして、リバーススキャンのパフォーマンスを向上させます#5368
    • 分割パフォーマンスを向上させるために、バッチリージョン分割コマンドと空の分割コマンドをサポートする#5470
  • サーバ
    • -Vコマンドの出力形式が2.X3の形式と一致しない問題を修正し#5501
    • Titanを3.0ブランチの最新バージョンにアップグレードする#5517
    • grpcioをv0.4.5にアップグレードします#5523
    • gRPCコアダンプの問題を修正し、共有メモリをサポートしてOOM1を回避し#5524
    • アイドル状態のクラスターでのファイル記述子のリークにより、プロセスが長時間実行されるとTiKVプロセスが異常終了する可能性があるというTiKVの問題を修正します#5567
  • 保管所
    • txn_heart_beat APIをサポートして、TiDBの悲観的ロックをMySQLの悲観的ロックと可能な限り一致させます#5507
    • 一部の状況でポイントクエリのパフォーマンスが低下する問題を修正し#5463 #5495

PD

  • 隣接する小さなリージョンをマージできない問題を修正します#1726
  • pd-ctlのTLS有効化パラメーターが無効である問題を修正します#1738
  • PDオペレーターが誤って削除されるというスレッドセーフの問題を修正します#1734
  • リージョンシンカー#1739のTLSをサポート

ツール

  • TiDB Binlog
    • Reparoにworker-counttxn-batchの構成項目を追加して、回復速度を制御します#746
    • Drainerのメモリ使用量を最適化して、同時実行の効率を高めます#737
  • TiDB Lightning
    • チェックポイントからデータを再インポートすると、 TiDB Lightningがpanicになる可能性がある問題を修正します#237
    • AUTO_INCREMENTのアルゴリズムを最適化して、 AUTO_INCREMENT列がオーバーフローするリスクを減らします#227

TiDB Ansible

  • TiSparkをv2.2.0にアップグレードする#926
  • #933構成項目pessimistic_txnのデフォルト値を35に更新しtrue
  • システムレベルの監視メトリックをnode_exporterに追加し#938
  • TiDB Ansibleに2つのパフォーマンスツールiosnoopfuncslowerを追加して、クラスタの状態#946をより適切に診断します。
  • パスワードの有効期限が切れるなどの状況での長い待機時間に対処するために、rawモジュールをシェルモジュールに置き換えます#949
  • TiDB構成項目txn_local_latchesのデフォルト値をfalseに更新します
  • #962 #969ボードのモニタリングメトリックとアラートルールを最適化する#963
  • 展開および#972の前に構成ファイルを確認してください#934
このページの内容