TiDB 3.0.2 リリースノート

発売日:2019年8月7日

TiDB バージョン: 3.0.2

TiDB Ansible バージョン: 3.0.2

TiDB

  • SQLオプティマイザー
    • クエリ内で同じテーブルが複数回発生し、論理的にクエリ結果が常に空になる場合に、「スキーマ内に列が見つかりません」というメッセージが報告される問題を修正します#11247
    • 場合によってはTIDB_INLJヒントが正しく機能しないことが原因でクエリ プランが期待を満たさない問題 ( explain select /*+ TIDB_INLJ(t1) */ t1.b, t2.a from t t1, t t2 where t1.b = t2.aなど) を修正します#11362
    • 場合によってはクエリ結果の列名が間違っている問題を修正します ( SELECT IF(1,c,c) FROM tなど) #11379
    • 場合によってはLIKEの式が暗黙的に 0 に変換されるため、 SELECT 0 LIKE 'a string'のような一部のクエリがTRUE返す問題を修正します#11411
    • SHOWステートメント内のサブクエリ ( SHOW COLUMNS FROM tbl WHERE FIELDS IN (SELECT 'a') #11459など) をサポートします。
    • 集計関数の関連列が見つからず、 outerJoinEliminationの別名を正しく処理しない最適化ルールが原因でエラーが報告される問題を修正します。最適化プロセスでのエイリアス解析を改善し、 #11377多くのクエリ タイプを最適化でカバーできるようにします。
    • Window 関数で構文制限に違反した場合にエラーが報告されない問題を修正しました (たとえば、Frame 定義の最後にUNBOUNDED PRECEDINGを指定することは許可されません) #11543
    • ERROR 3593 (HY000): You cannot use the window function FUNCTION_NAME in this contextエラー メッセージのFUNCTION_NAMEが大文字であり、MySQL #11535との非互換性を引き起こす問題を修正します。
    • Window 関数で実装されていないIGNORE NULLS構文が使用されているが、エラーが報告されない問題を修正します#11593
    • オプティマイザーが時間均等条件#11512を正しく推定しない問題を修正します。
    • フィードバック情報に基づいた上位 N 統計の更新をサポート#11507
  • SQL実行エンジン
    • INSERT関数のパラメータ#11248NULLが含まれる場合、戻り値がNULLにならない問題を修正
    • ADMIN CHECKSUMオペレーション#11266でパーティションテーブルをチェックすると計算結果が不正になる場合がある問題を修正
    • INDEX JOIN で接頭辞インデックス#11246を使用すると結果が不正になる場合がある問題を修正
    • DATE_ADD関数がマイクロ秒#11288を含む日付数値の減算を行う場合、分数の位置が正しくないために結果が間違っている可能性がある問題を修正します。
    • DATE_ADD関数がINTERVAL #11325の負の数を誤って処理することによって引き起こされる間違った結果を修正しました。
    • Mod(%)Multiple(*)またはMinus(-) 0 を返し、小数部の桁数が大きい ( select 0.000 % 0.11234500000000000000など) 場合、 Mod(%)Multiple(*)またはMinus(-)によって返される小数#11251の桁数が MySQL の桁数と異なる問題を修正します。
    • CONCATCONCAT_WSの関数で返される結果の長さがmax_allowed_packet #11275を超える場合、警告付きのNULL誤って返される問題を修正
    • SUBTIME関数のパラメータが無効な場合、警告付きのNULLが誤って返される問題ADDTIME修正#11337
    • CONVERT_TZ関数のパラメータが無効な場合に誤ってNULLが返される問題を修正#11359
    • EXPLAIN ANALYZEによって返された結果にMEMORY列を追加して、このクエリのメモリ使用量を表示します#11418
    • EXPLAIN #11429の結果にCARTESIAN結合を追加します。
    • float 型と double 型の自動インクリメント列の不正なデータを修正#11385
    • 疑似統計がダンプされるときにnil情報によって引き起こされるpanicの問題を修正します#11460
    • 定数フォールディングの最適化による誤ったクエリ結果SELECT … CASE WHEN … ELSE NULL ...修正します#11441
    • floatStrToIntStr+999.9999e2 #11473などの入力を正しく解析しない問題を修正
    • DATE_ADDDATE_SUB関数の結果が#11476をオーバーフローした場合、 NULLが返されない場合がある問題を修正
    • 長い文字列を整数#11469に変換する際、文字列に無効な文字が含まれる場合、変換結果がMySQLと異なる問題を修正
    • この関数の大文字と小文字の区別が原因で、関数REGEXP BINARYの結果が MySQL と互換性がないという問題を修正します#11504
    • GRANT ROLEステートメントがCURRENT_ROLE受け取るとエラーが報告される問題を修正します。 REVOKE ROLEステートメントがmysql.default_role特権#11356を正しく取り消さない問題を修正します。
    • SELECT ADDDATE('2008-01-34', -1) #11447のようなステートメント実行時のIncorrect datetime value警告情報の表示形式の問題を修正
    • JSON データの浮動小数点フィールドが整数#11534に変換されるときに結果がオーバーフローした場合、エラー メッセージがconstant … overflows floatではなくconstant … overflows bigintを報告する問題を修正します。
    • DATE_ADD関数がFLOATDOUBLEDECIMAL列パラメータを受け取った場合、不正な型変換により結果が間違っている可能性がある問題を修正#11527
    • DATE_ADD関数#11615の INTERVAL 分数の符号の処理が間違っていることによって引き起こされる間違った結果を修正しました。
    • Rangerがプレフィックス インデックスを正しく処理していないことが原因で、インデックス ルックアップ結合にプレフィックス インデックスが含まれている場合の誤ったクエリ結果を修正します#11565
    • NAME_CONSTの 2 番目のパラメータが負の数#11268であるときにNAME_CONST関数が実行されると、「NAME_CONST の引数が正しくありません」というメッセージが報告される問題を修正します。
    • SQL ステートメントに現在時刻の計算が含まれ、値が複数回フェッチされる場合、結果が MySQL と互換性がないという問題を修正します。同じ SQL ステートメントの現在時刻を取得する場合は、同じ値を使用します#11394
    • baseExecutorCloseエラーを報告した場合、 ChildExecutorに対してCloseが呼び出されない問題を修正します。この問題は、 KILLステートメントが有効にならず、 ChildExecutorが閉じられていない場合に、Goroutine リークを引き起こす可能性があります#11576
  • サーバ
    • CSV ファイルの欠落しているTIMESTAMPフィールドをLOAD DATAで処理するときに、現在のタイムスタンプではなく自動追加される値が 0 になる問題を修正します#11250
    • SHOW CREATE USERステートメントが関連する権限を正しくチェックしない問題、およびSHOW CREATE USER CURRENT_USER()によって返されるUSERHOST間違っている可能性がある問題を修正#11229
    • JDBC #11290executeBatchを使用した場合に返される結果が間違っている場合がある問題を修正
    • TiKVサーバーのポート#11370を変更する際のストリーミングクライアントのログ情報の印刷を削減します。
    • ストリーミング クライアントが長時間ブロックされないように、ストリーミング クライアントを TiKVサーバーに再接続するロジックを最適化します#11372
    • INFORMATION_SCHEMA.TIDB_HOT_REGIONS #11350REGION_IDを追加
    • リージョン数が多い場合に PD タイムアウトにより TiDB API http://{TiDBIP}:10080/regions/hotが呼び出された場合にリージョン情報取得のタイムアウト時間を解除します#11383
    • リージョン関連のリクエストが HTTP API #11466のパーティションテーブル関連のリージョンを返さない問題を修正します。
    • ユーザーが手動で悲観的ロック#11521を検証するときに、操作の遅さによって引き起こされるロック タイムアウトの可能性を減らすために、次の変更を加えます。
      • 悲観的ロックのデフォルト TTL を 30 秒から 40 秒に増やします。
      • 最大 TTL を 60 秒から 120 秒に増加します
      • 最初のLockKeysのリクエストから悲観的ロック期間を計算します
    • TiKV クライアントのSendRequest関数ロジックを変更します。接続を構築できない場合に待機し続けるのではなく、すぐに別のピアに接続するようにします#11531
    • リージョンキャッシュを最適化します。同じアドレスで別のストアがオンラインになっている間にストアが移動された場合、削除されたストアに無効のラベルを付けて、キャッシュ内のストア情報をできるだけ早く更新します#11567
    • http://{TiDB_ADDRESS:TIDB_IP}/mvcc/key/{db}/{table}/{handle} API によって返された結果にリージョンID を追加します#11557
    • 散布表 API が範囲キー#11298をエスケープしないために発生する散布表が機能しない問題を修正します。
    • リージョンキャッシュを最適化します。このストアへのアクセスによるクエリ パフォーマンスの低下を避けるために、対応するストアにアクセスできない場合、リージョンが存在するストアに無効のラベルを付けます#11498
    • 同じ名前のデータベースを複数回削除した後でも、HTTP API を介してテーブル スキーマを取得できるというエラーを修正します#11585
  • DDL
    • 長さ 0 の非文字列列にインデックスを付けるときにエラーが発生する問題を修正します#11214
    • 外部キー制約とフルテキスト インデックスを持つ列の変更を禁止します (注: TiDB は引き続き構文で外部キー制約とフルテキスト インデックスをサポートします) #11274
    • ALTER TABLEステートメントで変更した位置とカラムのデフォルト値を併用するため、カラムのインデックスオフセットが誤る可能性がある問題を修正#11346
    • JSON ファイルの解析時に発生する 2 つの問題を修正します。
      • int64uint64 in ConvertJSONToFloatの中間解析結果として使用され、精度オーバーフロー エラー#11433が発生します。
      • int64uint64 in ConvertJSONToIntの中間解析結果として使用され、精度オーバーフロー エラー#11551が発生します。
    • 自動インクリメント列が誤った結果を取得する可能性を避けるために、自動インクリメント列のインデックスの削除を禁止します#11399
    • 次の問題を修正します#11492 :
      • 照合順序を明示的に指定したが文字照合順序を指定しなかった場合、文字セットと列の照合順序順序が一致しません。
      • ALTER TABLE … MODIFY COLUMNで指定された文字セットと照合順序の間に矛盾がある場合、エラーは正しく報告されません。
      • ALTER TABLE … MODIFY COLUMNを使用して文字セットと照合順序を複数回指定する場合の MySQL との非互換性
    • サブクエリのトレース詳細をTRACEクエリの結果に追加します#11458
    • ADMIN CHECK TABLEの実行パフォーマンスを最適化し、実行時間を大幅に短縮します#11547
    • SPLIT TABLE … REGIONS/INDEXによって返された結果を加算し、 TOTAL_SPLIT_REGIONSCATTER_FINISH_RATIOにタイムアウト前に正常に分割されたリージョンの数を結果#11484に表示させます。
    • 列属性にON UPDATE CURRENT_TIMESTAMP指定し、float 精度を#11591に指定した場合、 SHOW CREATE TABLEのようなステートメントで表示される精度が不完全になる問題を修正
    • 仮想生成列の式に別の仮想生成列が含まれる場合、その列のインデックス結果が正しく計算できない問題を修正します#11475
    • ALTER TABLE … ADD PARTITION …ステートメント#11581VALUE LESS THANの後にマイナス記号を追加できない問題を修正します。
  • モニター
    • TiKVTxnCmdCounter監視メトリクスが登録されていないため、データが収集およびレポートされない問題を修正します#11316
    • バインド情報#11467BindUsageCounterBindTotalGauge 、およびBindMemoryUsage監視メトリックを追加します。

TiKV

  • Raftログが時間内に書き込まれないとTiKVがパニックになるバグを修正#5160
  • TiKVパニック後にpanic情報がログファイルに書き込まれないバグを修正#5198
  • 悲観的トランザクション#5203でInsert操作が誤って実行される場合があるバグを修正
  • 手動介入を必要としない一部のログの出力レベルを INFO #5193に下げます。
  • storageエンジン サイズの監視精度の向上#5200
  • tikv-ctl #5195のリージョンサイズの精度を向上させます。
  • 悲観的ロック#5192のデッドロック検出器のパフォーマンスを向上させます。
  • Titanstorageエンジン#5197の GC のパフォーマンスを向上させます。

PD

  • Scatter リージョンスケジューラが動作しないバグを修正#1642
  • pd-ctl #1653でリージョンのリージョン操作ができないバグを修正
  • pd-ctl #1651でremove-tombstone操作ができない不具合を修正
  • スキャンリージョン操作#1648を実行すると、キースコープと重なっているリージョンが見つからない問題を修正
  • メンバーが PD #1643に正常に追加されたことを確認するための再試行メカニズムを追加します。

ツール

TiDBBinlog

  • 起動時に構成項目チェック機能を追加します。これにより、 Binlogサービスが停止され、無効な項目が見つかった場合にエラーが報告されます#687
  • Drainerにnode-id構成を追加して、 Drainer #684で使用される特定のロジックを指定します

TiDB Lightning

  • 2つのチェックサムを同時に実行している場合、 tikv_gc_life_time元の値に戻すことができない問題を修正#218
  • 起動時に構成項目チェック機能を追加します。これにより、 Binlogサービスが停止され、無効な項目が見つかった場合にエラーが報告されます#217

TiDB Ansible

  • ディスクパフォ​​ーマンスモニターが秒をミリ秒として扱う単位エラーを修正#840
  • Spark #841log4j構成ファイルを追加します
  • Binlog が有効で、Kafka または ZooKeeper が構成されている場合に、Prometheus 構成ファイルが間違った形式で生成される問題を修正します#844
  • 生成された TiDB 構成ファイル#850pessimistic-txn構成パラメーターが省略される問題を修正します。
  • TiDB ダッシュボードでメトリクスを追加および最適化する#853
  • TiDBダッシュボード#854に各監視項目の説明を追加
  • TiDB サマリー ダッシュボードを追加して、クラスターのステータスをより適切に表示し、問題のトラブルシューティングを行います#855
  • TiKV ダッシュボード#857のアロケーター統計監視項目を更新します。
  • ノード エクスポーターのアラート式#860単位エラーを修正しました。
  • TiSpark jar パッケージを v2.1.2 にアップグレードする#862
  • Ansible タスク機能#867の説明を更新
  • TiDB ダッシュボード#874上のローカル リーダー リクエスト監視項目の式を更新します。
  • 概要ダッシュボードの TiKV メモリ監視項目の表現を更新し、監視#879が誤って表示される問題を修正しました。
  • Kafka モード#878でのBinlogサポートの削除
  • rolling_update.ymlオペレーション#887実行時に PD がLeaderの転送に失敗する問題を修正

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

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.