TDengine 3.4.2.5 版本深度解读:流计算可观测性、外部源联邦查询与全链路稳定性增强 TDengine 3.4.2.5 版本深度解读流计算可观测性、外部源联邦查询与全链路稳定性增强【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengineTDengine 3.4.2.5 于2026-08-17发布是本仓库docs/zh/17-release-history/03-notes/3.4.2.5.md记录的一个重要迭代版本。该版本以「流计算」为最大亮点新增基于 information_schema 的流任务可观测性指标、支持含 InfluxDB 在内的外部源联邦查询并让 taosExplorer 流计算页面具备免 SQL 的启动/停止/重算能力同时围绕 taosX 数据接入、taosdump 备份恢复、STMT2/WebSocket 连接器与 Windows 平台完成了大规模稳定性修复。阅读本文后你将掌握 3.4.2.5 新增的系统表字段含义与查询方法、新配置参数的取值与生效范围以及各类已知问题的现象与规避/升级建议。一、版本概况3.4.2.5 共包含3 项特性、14 项优化、69 项修复安全章节未新增公告内容。从变更分布看本版本工作重点集中在三条主线流计算体系从能算走向可观测、可管理、可联邦——补齐实时延迟/吞吐/历史进度指标支持外部数据源联邦查询并在 Web 端提供任务级运维操作数据接入与备份恢复taosX 与 taosdump 在跨库虚拟表依赖、异地恢复、对象存储兼容、断点续传一致性等方面大量补强连接器与平台稳定性STMT2/WebSocket 行为对齐、Windows 平台多项崩溃修复、RPC CRC 性能回退与硬件加速。下文按「特性 → 优化 → 修复」的顺序展开并在关键条目上结合仓库源码与配套文档给出深化说明。二、新特性详解1. 流计算可观测性指标information_schema 实时监控3.4.2.5 为流计算新增可观测性指标通过系统信息表对外展示实时延迟、吞吐、历史填充与重算进度等监控信息。对应系统表为 INS_STREAMS除既有的stream_name、db_name、status、snodeLeader、snodeReplica、message等字段外本版本引入的关键指标字段包括字段类型含义external_sourcesINT流引用的外部数据源数量realtime_lag_msBIGINT最慢有效入口 Reader 的实时处理延迟毫秒input_rows_per_sec_1mDOUBLE最近一个完整 60 秒窗口内流接纳的逻辑输入速率行/秒output_rows_per_sec_1mDOUBLE最近一个完整 60 秒窗口内成功交付的最终结果速率行/秒runner_result_latency_avg_1m_msDOUBLE最近一个完整 60 秒窗口内 Runner 形成结果的平均延迟毫秒history_progress_pctINT历史数据计算进度取值 0100配套的流计算可观测性与故障诊断文档给出了典型诊断查询SELECT stream_name, status, realtime_lag_ms, input_rows_per_sec_1m, output_rows_per_sec_1m, runner_result_latency_avg_1m_ms, history_progress_pct FROM information_schema.ins_streams;使用上有几点需要特别留意均来自 INS_STREAMS 的字段说明一分钟类指标在任务尚未形成首个完整 60 秒窗口时为NULL引用外部数据源的流没有 WAL 实时进度因此realtime_lag_ms为NULL属正常行为不代表流异常未启用历史数据计算时history_progress_pct为NULL诊断路径建议流级视图发现异常 → 任务级视图ins_stream_tasks定位节点或任务 → 重算作业视图ins_stream_recalculates按需查看三者配合使用。此外INS_STREAM_RECALCULATES 提供重算任务的时间范围与进度start/end/progress/status状态含Pending/Running/Finished/Failed已结束的重算记录自 mnode 首次观察到终态起保留 1 小时、每个流最多 100 条Pending与Running记录不受数量上限影响未完成请求会单独持久化并在服务或流任务重启后恢复。命令行下也可用SHOW [db_name.]STREAMS [LIKE pattern]快速查看流信息完整语法见 SHOW STREAMS。2. 流计算支持外部源联邦查询含 InfluxDB本版本流计算支持外部源联邦查询内置 InfluxDB 源并同步完善了触发模式、stream options 与 SHOW 可观测字段。ins_streams.external_sources字段即为流所引用外部数据源的数量供联邦场景下快速识别流的外部依赖由于外部源没有 WAL 实时进度其realtime_lag_ms恒为NULL。该能力使流计算可以将外部时序数据与 TDengine 内表数据统一纳入窗口计算相关语法与 stream options 见流计算语法。3. taosExplorer 流计算页面支持任务级运维taosExplorer 流计算页面支持对流任务进行启动、停止与重算操作无需手写 SQL。此前管理流任务需要依赖ALTER STREAM ... ACTIVATE/PAUSE等命令与重算语句现在 Web 界面即可完成降低了流任务的日常运维门槛尤其适合非 SQL 专家用户在浏览器中直接干预异常流。三、优化详解14 项优化可归为六类下面逐类说明并对涉及配置参数、工具行为的条目给出仓库层面的证据。1. taosExplorer 体验与跨域能力优化 1taosExplorer 支持通过allowedOrigins配置跨域 HTTP/WebSocket使 IDMP 等跨源场景下数据写入 WebSocket 可用。taosExplorer 默认监听 6060 端口其配置文件还包含corsCORS 开关默认为false、x_api数据复制/备份/数据源 API 端点、grpc需与 taosX Service 的grpc参数保持一致等项完整配置说明见 taosExplorer 组件文档。跨源数据写入场景如 IDMP 从另一域名直接通过 WebSocket 写数据此前会被浏览器同源策略拦截本版本通过显式白名单机制放开。优化 2完善 taosExplorer 数据订阅示例代码页步骤条的滚动跟随与步骤定位属前端交互体验改进避免示例代码较长时步骤定位错乱。2. taosX 数据接入与 Kafka优化 3taosX Kafka 数据接入增加zstd 压缩消息解析支持补齐与 Kafka 侧 zstd 压缩生产者的互通能力。优化 10提升 XNODE TASK parser / JOB config 容量上限分别至960 KiB / 1 MiB支持 taosX 创建 400 字段等大配置数据导入任务。优化 11提升 taosX Kafka Connector 的数据消费能力与吞吐量。3. taosdump 备份恢复内容选择与日志优化 4taosdump 备份/恢复时自动写入backup.log/restore.log记录版本、参数与完整 SQL 等信息便于事后审计与排障。优化 5taosdump 支持通过-M/--content选择basic/ext-meta/all备份恢复内容默认仅处理基础数据并分阶段恢复扩展元数据避免跨库虚拟表依赖导致恢复失败。从源码看bckTypes.h 定义了内容选择类型恢复流程先恢复所有库的 BASIC 内容、再应用 EXTMETAbackup.c 中 basic 内容指物理表 schema tags 时序数据。默认行为变化是本版本的重要兼容性提示升级后执行备份默认不再包含扩展元数据如需完整备份应显式指定-M all。4. taosX 增量备份恢复与 schema 快照优化 7完善 taosX 增量备份/恢复支持借助schema snapshot 从任意备份点恢复并新增虚拟表与流计算任务的 schema 恢复使增量恢复不再局限于最新点。5. 连接器行为对齐优化 8Python WebSocket 连接器新增user_app参数以标识应用程序名称便于服务端审计与问题定位。优化 9WebSocket STMT2 在close时释放关联查询结果集与 native STMT2 行为对齐避免资源泄漏。6. 查询性能与流计算资源调优优化 12提升大时间范围内last()查询性能通过内部非空预过滤跳过全 NULL 数据块减少无效扫描。优化 13新增配置参数numOfStreamRunnerDeploys、numOfStreamRunnerReplicas用于调节流计算 Runner 部署数与副本数。两者在 tglobal.c 中注册numOfStreamRunnerDeploys为 Int32、默认值 1、范围 164numOfStreamRunnerReplicas为 Int32、默认值 1、范围 11024二者均为服务端本地配置CFG_SCOPE_SERVER、支持动态调整CFG_DYN_SERVER可在 taos.cfg 中设置或运行时调整。增大副本数可提升 Runner 容错能力但同时会占用更多资源需结合集群规模评估。优化 14流计算外层派生表过滤场景可继续使用 external window降低 INTERVAL 窗口资源占用。四、修复详解69 项本版本修复面覆盖 taosExplorer、流计算、taosX、taosdump、STMT2/WebSocket 连接器、查询与时序函数、Windows 平台及集群元数据等多个模块。以下按模块归类并保留原编号便于对照升级。1. taosExplorer#1–#6、#35编号修复内容1OPC CSV 上传因/upload响应格式变更解析失败导致配置文件路径为空并校验报错2PI/OPC 配置页拼写错误及标签样式问题避免 path filter 等配置显示异常3创建备份任务时因界面超时可被重复点击导致重复创建任务4慢 SQL 页面分页异常导致内存飙升、切换页大小后无数据、查询失败后按钮永久禁用5授权页错误展示 IDMP 相关授权项及状态6数据接入任务活动明细不显示失败原因及错误/警告信息并补全部分数据加工错误的活动记录35S3 备份任务因取消 S3 dumper 时误取消整任务而失败2. RPC、机器码与性能#7–#8编号修复内容73.4.1.0–3.4.2.3 在 root 运维时taosd -k生成机器码与低版本不一致83.4.2 引入 RPC CRC 后部分查询性能下降x86 客户端启用硬件 CRC并新增rpcCrcEnable配置项针对 #8rpcCrcEnable在 tglobal.c 中注册为 Bool 类型配置作用域为客户端与服务端CFG_SCOPE_BOTH、支持动态调整CFG_DYN_BOTH_LAZY、归属全局配置CFG_CATEGORY_GLOBAL。若 3.4.2.x 升级后发现查询性能回退可评估在客户端/服务端调整该开关同时 x86 客户端默认启用硬件 CRC 以获得更好性能。3. 查询与时序函数#9、#20、#21、#25、#28、#29、#49、#54、#69编号修复内容9INTERVAL 查询因逻辑 Scan 克隆遗漏时区日界字段导致报Executor internal error20TIMETRUNCATE固定时区偏移解析不完善以及 scalar/join 路径 POSIX 符号语义不一致21TIMETRUNCATE在 join/subquery 等 scalar 路径下隐式会话时区与显式固定偏移如0800对 1d/1w 截断结果不一致25Windows 上TIMETRUNCATE等函数因 ISO/POSIX 时区偏移符号不一致导致时区转换错误28imputation 补值结果写入起始位置未重置导致补值结果不正确29last/last_row在重叠 INTERVALSLIDING 窗口下直查与子查询结果不一致以及多周滑动窗口相位不稳定49to_timestamp解析日期时受线程遗留 errno 影响导致合法日期随机报format mismatch54同一 SQL 中多个MAVG、STATECOUNT、STATEDURATION与 ts 或普通列共存时报错69除 INTERVAL 外其他窗口暂不支持聚合DISTINCT解析阶段直接报错其中 #9、#20、#21、#25 均涉及时区日界与时区偏移语义使用INTERVAL窗口、TIMETRUNCATE时间截断以及多时区部署的用户应重点验证相关查询结果#69 属行为收敛——非 INTERVAL 窗口使用聚合DISTINCT将在解析阶段明确报错而非运行期异常。4. 流计算#22、#50、#60–#65编号修复内容22TMQ 同步流计算自动创建的普通表时taosAdapter 因元数据解析错误而崩溃50仅通知且无计算内容的流配置MAX_DELAY时WAL 无数据响应触发空指针导致 core60流计算FILL_HISTORY在 PARTITION BY 场景下部分子表在历史起点后无数据时触发 Internal error导致历史结果无法生成61流计算 WebSocket 通知帧超过 1 MiB 导致远端接收失败62流计算nodelay_create_subtable在尚无真实窗口时的建表请求不再以占位窗口进入执行器避免虚拟表扫描报Invalid parameters导致输出子表无结果63流计算处理自动建表数据时因无效时间戳导致计算范围过大、CPU 占用过高64流计算外部窗口复用结果块时未按批次扩容可能导致越界写并引发 taosd 崩溃65流计算扫描 WAL metadata 时二次填值越界导致节点 core 掉线其中 #62 与语法层面直接对应NODELAY_CREATE_SUBTABLE是流创建输出表时的选项在 sql.y 中与INTO、输出子表、流 tags 等一起构成stream_outtable_opt语法本版本修复了该选项在尚无真实窗口时的占位窗口问题。#60 涉及FILL_HISTORY该 stream option 用于指定从start_time开始触发历史数据计算不能与FILL_HISTORY_FIRST同时指定定时触发PERIOD模式下不支持历史计算详见流计算语法。5. taosX 数据接入与同步#10–#13、#36–#45、#51、#52、#55编号修复内容10InfluxDB 1.x 高基数同步可能漏读数据导致与源端不一致并完善相关导入配置与可靠性校验11InfluxDB 同步任务在仅选择少量 measurement 时仍全量加载 bucket 元数据、导致接入耗时过长12OPC 采集任务在连接断开且存在异常节点时可能 panic 退出、导致任务无法正常启动13PI Connector 因列名超长导致任务反复重启与数据丢失36taosX taos-to-taos 同步无法正确迁移虚拟子表37taosX 任务级备份异地恢复时未识别-1子目录导致命令成功但数据未恢复38taosX 创建 TMQ 备份任务首次提交因校验阶段创建 Topic 形成循环等待而超时39taosX 同步在目标端不可用如 taosd 宕机时将可恢复错误误判为致命错误导致进程退出且目标恢复后无法继续同步40taosX 周期备份因周期参数未生效而无法按计划停止、备份持续增长41taosX 备份到阿里云对象存储因 Path-style 访问失败新增 S3 URI stylepath/virtualhost配置42taosX 备份无法正确处理含特殊字符表名43taosX 指定表备份前全量检查耗时过长且遇错即停止导致无法继续备份其他表44taosX 经 TMQ WebSocket 持续拉取大量数据时因心跳未及时刷新 taosAdapter 读超时约每 2 分钟断连导致数据传输异常45taosX 默认监听在部分平台仅接受 IPv6导致使用 127.0.0.1 创建的 xnode 显示 offline51创建 XNODE CSV 数据写入任务时默认字段引用符导致提交失败52删除 XNODE 后备份/ETL 任务仍可能被分配到已删除 XNODE 并执行失败55启用 SQL 标签缓存时已缓存子表被删除后 Kafka 同步任务因表不存在而停止这批修复对生产接入影响最大#39 直接影响同步高可用目标端故障期间应保持任务存活而非退出#41 为阿里云 OSS 用户提供了 S3 URI style 选择#45 解释了部分平台 xnode 显示 offline 的根因。6. taosdump 与备份#31、#46–#48编号修复内容31snapshot 限速到达上限后速度降为 0、实际传输速度低于设定值46taosdump 备份过程中服务不可用时误判为取数完成导致备份数据缺失并完善短暂不可用时的重试47taosdump 按时间范围备份时主键时间列非 ts 命名报Invalid column name48taosdump 断点续传-C更换备份格式-F时未校验一致性导致目录内混入不同格式文件、恢复失败7. STMT2/WebSocket 与连接器#14–#19、#26、#33、#56编号修复内容14Python 原生连接器异步查询因未保留回调导致进程崩溃15SHOW SUBSCRIPTIONS在 vnode 恢复场景下因结果块容量估算不足导致进程崩溃16STMT2 interlace 场景下关闭时因 tableCols 重复释放导致 core17STMT2 多表交替绑定及 taosdump 恢复时大小表交替导致提交失败、小表数据丢失18STMT2 查询绑定后未保留会话时区等上下文导致to_char等时间函数返回时区错误19STMT2/WebSocket 自动建表写入时bind 后、exec 前删除子表会报Table does not exist且无法按已绑定 tag 自动重建并完成写入26Windows 下 taos 客户端在关闭连接时因 libuv 竞态概率性卡住33STMT2 自动建表写入时重复解析 tag 导致性能远低于提前建表56客户端连接关闭过程中收到服务端响应时触发 abortSTMT2 相关修复#16–#19、#33集中解决自动建表、多表交替绑定与关闭路径上的正确性/性能问题使用 STMT2 做批量写入的开发者升级后应重新验证大数据量交替绑定场景。8. 集群、元数据与系统稳定性#23、#24、#27、#30、#32、#53、#57–#59、#66–#68编号修复内容23VGroup 在尚未收到有效心跳上报时被误判为 offline24Windows All-in-One 安装后 taoskeeper 无法正常启动27Windows 版 taosdump 因 Snappy 编译启用 BMI2 等指令在旧 CPU 上启动即崩溃并修正崩溃 dump 文件名误用 taosd 前缀30mnode 多副本从 3.3 升级到 3.4.2.0–3.4.2.4 时角色升级未执行导致系统默认角色与用户权限丢失32stable 经历 DROP TAG 后再 ADD TAG 时对已有子表执行SHOW CREATE TABLE报Unexpected generic error53单节点首次部署中途异常中断后默认元数据如 root/cluster/mnode未完整创建导致连接报Invalid user启动时自动补建缺失对象57将不适合走 tag index 场景下的IDX ERROR误报日志降为 debug避免干扰排查58开启共享存储ssEnabled但未配置默认访问串ssAccessString时执行DROP DATABASE导致 taosd 崩溃59普通用户CREATE DATABASE后客户端未立即刷新权限缓存紧接着自动建表写入时报Permission denied66状态心跳处理未释放 SStatusReq 嵌套数组导致的内存泄漏67虚拟子表SELECT TAGS按源表数据行错误展开结果以及EXPLAIN SELECT TAGS因空扫描列链表解引用导致进程崩溃68虚拟表在 ALTER TAG 后因按位置误匹配 tagRef导致SELECT TAGS查询报Planner slot key not found#30 是升级类场景的重要修复从 3.3 直接升级到 3.4.2.0–3.4.2.4 的多副本 mnode 集群应尽快升级至 3.4.2.5 并验证系统角色与用户权限是否完整#27 提示 Windows 上使用较旧 CPU 部署的用户3.4.2.5 之前的 taosdump 存在启动即崩溃风险。五、升级与验证建议综合本版本变更给出以下实操建议流计算用户升级后优先执行第 2 节的ins_streams诊断查询建立realtime_lag_ms、input/output_rows_per_sec_1m、history_progress_pct的基线如需调整 Runner 规模可设置numOfStreamRunnerDeploys/numOfStreamRunnerReplicas参考 tglobal.c 的默认值与取值范围两者均支持动态调整。taosX/taosdump 用户注意备份恢复默认内容已变化默认仅 basic扩展元数据分阶段恢复见 bckTypes.h异地恢复、阿里云 OSSPath-style、周期备份等场景的修复需在升级后重新验证任务配置。高负载写入用户验证 STMT2 多表交替绑定、自动建表写入与关闭路径#16–#19、#33并关注rpcCrcEnable与 x86 硬件 CRC 对查询性能的影响。集群与升级路径3.3 多副本集群升级时重点验证角色与权限#30共享存储场景确认ssAccessString已配置#58。Windows 用户升级后验证 taoskeeper 启动、旧 CPU 上的 taosdump 兼容性以及客户端关闭连接的稳定性#24、#26、#27。版本发布说明原文见 3.4.2.5.md流计算特性可结合 流计算可观测性与故障诊断、流计算语法 与 流计算使用指南 深入了解。【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考