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

TiDB 3.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-countとtxn-batch設定項目を追加して回復速度を制御します
  • 改善点

    • TiKV でバッチリージョン分割コマンドと空分割コマンドをサポートし、分割パフォーマンスを向上
    • TiKV で RocksDB の二重リンクリストをサポートし、逆スキャンのパフォーマンスを向上
    • クラスタの状態をより適切に診断するために、TiDB Ansibleに2つのperfツールiosnoopとfuncslowerを追加します。
    • 冗長なフィールドを削除して、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;) )が含まれている場合、列プルーニングによってクエリ中に無効なsleep(1)が発生する問題を修正しました。 #11953
    • クエリがテーブルデータではなく列数のみに関係する場合は、インデックススキャンを使用してIOを削減します#12112
    • MySQL との互換性を保つために、 use index()でインデックスが指定されていない場合はインデックスを使用しない #12100
    • CMSketch統計のTopNレコードの数を厳密に制限して、文の数が TiDB のトランザクションのサイズ制限を超えたためにANALYZE文が失敗する問題を修正します。 #11914
    • Update文に含まれるサブクエリを変換するときに発生したエラーを修正します #12483
    • LimitオペレーターをIndexLookUpReader実行ロジックにプッシュすることで、 select ... limit ... offset ...文の実行パフォーマンスを最適化します。 #12378
  • SQL実行エンジン
    • PREPARED文が正しく実行されなかった場合に、SQL文をログに出力します#12191
    • UNIX_TIMESTAMP関数を使用してパーティショニングを実装する場合にパーティションプルーニングをサポートする #12169
    • AUTO_INCREMENTがMAX int64とMAX uint64を誤って割り当てた場合にエラーが報告されない問題を修正しました#12162
    • 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文のGROUPBY解析ルールが間違っている問題を修正 #12351
    • ポイントクエリで権限チェックが正しく行われない問題を修正 #12340
    • 監視レコードに、ステートメントPREPAREのsql_typeによる期間が表示されない問題を修正しました。 #12331
    • ポイントクエリ内のテーブルの別名の使用をサポートします(例: select * from t tmp where a = "aa" ) #12282
    • BIT 型の列に負の数を挿入するときに負の値を符号なしとして処理しない場合に発生するエラーを修正しました。 #12423
    • 時間の誤った丸めを修正します(たとえば、 2019-09-11 11:17:47.999999666は2019-09-11 11:17:48に丸められる必要があります) #12258
    • 式ブロックリストの使い方を改良します(例えば、 <はItに相当します) #11975
    • 存在しない関数エラーのメッセージにデータベースプレフィックスを追加します(例: [expression:1305]FUNCTION test.std_samp does not exist ) #12111
  • サーバー
    • 最後のステートメントがCOMMITのときに前のステートメントを出力するために、スロークエリログにPrev_stmtフィールドを追加します。 #12180
    • 冗長なフィールドを削除してスロークエリログの出力を最適化する#12144
    • TiDB のローカルトランザクションの競合をチェックするデフォルトの動作を無効にするには、デフォルト値のtxn-local-latches.enableをfalseに更新します。 #12095
    • TiDB スロークエリログのIndex_idsフィールドをIndex_namesに置き換えて、スロークエリログの使いやすさを向上させます。 #12061
    • TiDBにグローバルスコープのシステム変数tidb_txn_modeを追加し、悲観的ロックの使用を許可します。 #12049
    • スロークエリログにBackoffフィールドを追加して、2PC のコミットフェーズのバックオフ情報を記録します。 #12335
    • カーソルを使用してPREPARE + EXECUTEの結果を取得するときにスロークエリログが正しくない問題を修正しました(たとえば、 PREPARE stmt1FROM SELECT * FROM t WHERE a > ?; EXECUTE stmt1 USING @variable ) #12392
    • tidb_enable_stmt_summaryをサポートします。この機能を有効にすると、TiDBはSQL文をカウントし、その結果はシステムテーブルperformance_schema.events_statements_summary_by_digest を使用して照会できます。 #12308
    • 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
  • モニター
    • tikvclient の gRPC 接続エラーの数をカウントするconnection_transient_failure_count監視メトリックを追加します。 #12093

TiKV

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

PD

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

ツール

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

TiDB Ansible

  • TiSparkをv2.2.0 にアップグレード #926
  • TiDB設定項目pessimistic_txnのデフォルト値をtrue に更新します。 #933
  • node_exporter にシステムレベルの監視メトリックを追加します #938
  • クラスタの状態をより適切に診断するために、TiDB Ansibleに2つのperfツールiosnoopとfuncslowerを追加します#946
  • パスワードの有効期限が切れた場合などに発生する長い待機時間に対処するために、rawモジュールをシェルモジュールに置き換えます#949
  • TiDB設定項目txn_local_latchesのデフォルト値をfalseに更新します
  • Grafanaダッシュボードの監視メトリックとアラートルールを最適化する#962 #963 #969
  • デプロイおよびアップグレードの前に設定ファイルを確認する#934 #972

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