Tdgpt FORECAST 函数中,第2个参数字符串内容长度有时会导致报错json 解析错误

【TDengine 使用环境】
测试

【TDengine 版本】
3.3.6.6
【操作系统以及版本】
Ubuntu 22.04
【部署方式】容器/非容器部署
非容器部署
【集群节点数】
单机
【集群副本数】

【描述业务影响】
预测失败
【问题复现路径/shan】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
tdgpt FORECAST 函数中,第2个参数字符串内容长度有时会导致报错json 解析错误

  1. 查询参数

查询参数test 传递可变长度字符串

a. 正常查询:短参数值、正常查询

taos> SELECT     _frowts,     _fhigh,     _frowts,     FORECAST(         temperature,         "algo=myprophet,rows=10,start=1748361
600000,every=60,test=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"     ) FROM (     SELECT *     FROM test.boiler_temp     WHERE ts
         _frowts         |        _fhigh        |         _frowts         | forecast(         temperature,         "algo=myprophet,rows=10,s |
==============================================================================================================================================
 2025-05-28 00:00:00.000 |             -9217.83 | 2025-05-28 00:00:00.000 |                                                        -9218.26 |
 2025-05-28 00:01:00.000 |             -9219.05 | 2025-05-28 00:01:00.000 |                                                        -9220.47 |
 2025-05-28 00:02:00.000 |             -9219.94 | 2025-05-28 00:02:00.000 |

b. 报错查询:长参数值、报错查询

taos> SELECT     _frowts,     _fhigh,     _frowts,     FORECAST(         temperature,         "algo=myprophet,rows=10,start=1748361
600000,every=60,test=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"     ) FROM (     SELECT *
  FROM test.boiler_temp     WHERE ts >= '2025-05-21 00:00:00'       AND ts < '2025-05-25 00:00:00'     ORDER BY ts DESC     LIMIT 1
DB error: Analysis failed since anode return error [0x80000445] (0.016890s)
[2025-06-20 09:36:16,268] ERROR in app: Exception on /forecast [POST]
Traceback (most recent call last):
  File "/usr/local/taos/taosanode/venv/lib/python3.10/site-packages/werkzeug/wrappers/request.py", line 611, in get_json
    rv = self.json_module.loads(data)
  File "/usr/local/taos/taosanode/venv/lib/python3.10/site-packages/flask/json/provider.py", line 187, in loads
    return json.loads(s, **kwargs)
  File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.10/json/decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 32 column 129 (char 483)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/taos/taosanode/venv/lib/python3.10/site-packages/flask/wrappers.py", line 214, in on_json_loading_failed
    return super().on_json_loading_failed(e)
  File "/usr/local/taos/taosanode/venv/lib/python3.10/site-packages/werkzeug/wrappers/request.py", line 645, in on_json_loading_failed
    raise BadRequest(f"Failed to decode JSON object: {e}")
werkzeug.exceptions.BadRequest: 400 Bad Request: Failed to decode JSON object: Expecting ',' delimiter: line 32 column 129 (char 483)

【资源配置】

【报错完整截图】

收到 我们看下

会在下个版本修复。