3.00.5

注:
同时建议阅读兼容性说明

新功能

  • 新增配置项 oauthUserPrefix,支持为单点登录用户名添加指定前缀,以满足 DolphinDB 用户名命名规则,解决用户名以数字开头时无法创建用户的问题。(3.00.5.1
  • 新增函数 bondOutrightRepoPricer,用于债券买断式回购定价。(3.00.5.1
  • bondPricer 新增支持对浮动利率债券、含权债进行定价。(3.00.5.1
  • 新增函数 bondPledgedRepoPricer,用于债券质押式回购定价。(3.00.5.1
  • 新增函数 eqRangeAccrualOptionPricer,用于权益类区间累计期权定价。(3.00.5.1
  • 新增函数 eqDigitalOptionPricer,用于权益类数字期权定价。(3.00.5.1
  • 新增函数 getLicenseServerStatus,用于获取 license server 的连接状态及断开连接后的剩余可用天数。(3.00.5.1
  • 新增函数 scheduleGenerator,用于生成日期序列。(3.00.5.1
  • 新增函数 dateGenerator,用于生成日期序列。(3.00.5.1
  • 新增函数 fcluster,用于根据链接矩阵表示的层次型聚合聚类结果生成平面聚类。(3.00.5.1
  • 新增函数 linkage,用于根据指定的链接方法自底向上逐步合并簇,并生成描述整个聚类过程的链接矩阵。(3.00.5.1
  • 新增函数 squareform,用于在压缩距离向量和方阵形式的距离矩阵之间进行双向转换。(3.00.5.1
  • mr 支持处理多个不同表的数据源。(3.00.5.1
  • 支持在 PKEY 引擎下通过 tableUpsertignoreNull 参数进行部分列更新,避免未指定列被更新为 NULL。(3.00.5.1
  • 支持 createExternalTable 加载多个 Parquet 文件并解析 Hive 分区信息,便于直接通过 SQL 查询外部 Parquet 数据。(3.00.5.1
  • INSERT INTO ... VALUES 语句支持多行书写多组值。(3.00.5.1
  • 支持在 MySQL 方言模式下通过反引号(`)引用表名、字段名及带表别名的字段名,避免标识符与关键字冲突。(3.00.5.1
  • 支持在 MySQL 方言模式下执行双表连接删除,连接方式包括 INNER JOIN、LEFT JOIN 和逗号分隔的 CROSS JOIN;支持为左表指定别名。(3.00.5.1
  • 支持在 MySQL 方言模式下对 PKEY 维度表使用 INSERT ... ON DUPLICATE KEY UPDATE 语法;该功能需配置 enableInsertStatementForDFSTable=true。(3.00.5.1
  • 新增函数 uj,用于实现 kdb 语法中的 union join 功能。(3.00.5.1
  • 支持在内存表和 DFS 表执行 append 或 update 时,将 STRING/SYMBOL 隐式转换为目标列类型,包括 TEMPORAL、INT、LONG 等。(3.00.5.1
  • 支持在 DATETIME 解析及隐式转换中,根据不完整的日期时间字符串自动补零并转换为 DATETIME。(3.00.5.1
  • 支持向内存表一次插入多行数据时进行字符串隐式类型转换。(3.00.5.1
  • 新增配置项 maxRecursiveDepth,用于设置最大递归深度。

  • 新增支持在单点登录流程中使用 HTTP 协议。

  • 新增配置项 oauthAllowPasswordLoginNodes,指定允许使用账号密码方式登录的节点别名。

  • 支持模块市场相关功能:

    • 新增函数 listRemoteModules,用于列出模块市场中匹配的模块名。

    • 新增函数 installModule,用于下载指定模块文件到节点模块目录下。

    • 新增函数 getLoadedModules,用于展示已加载模块的版本信息。

  • 低延时引擎增加 License 控制,需申请特殊 License 才可使用。

  • 新增函数 encryptModule,用于对 dos 文件进行加密。

  • 支持商用版 license server 在调用 setLicenseServerUserResource 后在线更新客户端 license 过期时间。

  • 新增函数 addCacheRulesForComputeGroupremoveCacheRulesForComputeGroupgetCacheRulesForComputeGroup,用于管理计算组的缓存表。

  • getClusterDFSDatabases 新增参数 includeSysDb,用于控制是否返回系统库; getClusterDFSTables 新增参数 includeSysTable,用于控制是否返回系统表。

  • MCP Server 新增对 HTTPS 加密连接的支持。

  • 新增高阶函数 nothrowCall,以与 call 相同的方式调用函数但默认不抛出运行时错误。

  • 新增函数 remove!,用于删除向量或元组指定位置的元素。

  • 新增函数 movingValid,用于按非空数据构造窗口进行滑动窗口计算。

  • 新增函数 rowFilterAndSortrowMergeAndSort,用于对数组向量或列式元组过滤,排序与合并。

  • 新增函数 toColumnarTupletoTuple,分别用于在 group by 场景下输出结果为列式元组和元组。

  • 支持高可用 MVCC 表:

    • 新增函数 haMvccTable,用于创建高可用 MVCC 表。

    • 新增函数 loadHaMvccTable,用于获取高可用 MVCC 表句柄。

    • 新增函数 dropHaMvccTable,用于删除高可用 MVCC 表。

    • 新增相关运维函数 getHaMvccRaftGroupsgetHaMvccLeadergetHaMvccTableInfocheckpointHaMvccisCheckpointingHaMvcc

  • 新增函数 qcut,用于按分位数对数值向量进行分组,并返回每个元素对应的分位数组别序号或标签。

  • 支持通过 plot 函数对 SURFACE 类型数据进行绘制,生成 3D 曲面图。

  • 新增函数 yearFrac,用于计算年份比例。

  • 新增函数 histogram,用于计算数据样本的直方图。

  • 新增总体协方差计算相关函数,支持批计算和流计算:covarpmcovarptmcovarpcumcovarpmcovarpTopNtmcovarpTopNcumcovarpTopNrowCovarp

  • 新增向量相似度与距离计算函数:

    • 新增函数 minkowski,用于计算向量的闵可夫斯基距离。

    • 新增函数 seuclidean,用于计算向量的标准化欧式距离。

    • 新增函数 cosine,用于计算向量的余弦相似度。

    • 新增函数 mahalanobis,用于计算向量的马氏距离。

  • 新增函数 appendEventWithResponse,用于同步发送事件并阻塞等待匹配的响应事件返回。

  • 支持响应式状态引擎和时序引擎设置 lowLatency=true 的场景下处理数组向量。

  • 新增稀疏状态事件引擎 SparseReactiveStateEngine,支持指定不同指标以不同条件触发计算。

  • 流数据支持数据状态标识:

    • 新增函数 changelogStreamTable,用于创建附带状态标识的流表。

    • 新增函数 getStreamTableChangelog,用于获取带状态表示的流表数据。

    • 新增函数 StreamGraph::changelogSourceDStream::changelogSink,支持 Orca 中使用附带状态标识的流表。

    • 新增函数 peekAppend,用于获取测试数据加入引擎当前状态后的输出结果。

  • 支持在高可用流表上通过 setStreamTableTimestamp 设置流表的时间戳列。

  • 新增 Orca 权限:ORCA_GRAPH_CREATE、ORCA_GRAPH_DROP、ORCA_GRAPH_CONTROL、ORCA_TABLE_CREATE、ORCA_TABLE_DROP、ORCA_TABLE_READ、ORCA_TABLE_WRITE、ORCA_ENGINE_MANAGE、ORCA_MANAGE。

  • Orca 支持通过 reactiveStatelessEngine 创建无状态引擎。

  • 新增函数 matchedRowCount 获取当前 session 中最后一次执行的 INSERT INTO / UPDATE / DELETE语句所影响的行数。

  • 新增函数 getStreamingSQLSubscriptionInfo,用于查询指定流式 SQL 的元数据信息。

  • 支持标准 SQL 写法 insert into table_name1 (colName1 [, colName2, ...]) select col_name(s) from table_name2 对部分列进行插入。

  • 新增函数 runExternalQuery,用于执行外部数据库 SQL 查询。

  • sql 函数新增参数 cgroupBy,支持构建包含 cgroup by 子句的元代码。

  • 新增实时曲线曲面构建流引擎 createMktDataEngine

  • 新增实时定价流引擎 createPricingEngine,用于金融产品的实时定价。

  • 新增函数 cmFutVolatilitySurfaceBuilder,用于构建商品期货期权波动率曲面。

  • 新增函数 cmFutAmericanOptionPricer,用于商品期货美式期权定价。

  • 新增函数 cmFutEuropeanOptionPricer,用于商品期货欧式期权定价。

  • 新增函数 eqDividendCurveBuilder,用于构建权益类分红曲线。

  • 新增函数 eqVolatilitySurfaceBuilder,用于构建权益类期权波动率曲面。

  • 新增函数 eqEuropeanOptionPricer,用于权益类欧式期权定价。

  • 新增函数 eqAmericanOptionPricer,用于权益类美式期权定价。

  • 新增函数 eqProxyVolatilitySurfaceBuilder,用于构建权益类代理波动率曲面。

  • instrumentPricerportfolioPricer 支持 MktDataEngine 与 UDF 作为 marketData

  • 支持在 bondInstrumentCalculator 中计算含权债(OptionBond)。

功能优化

  • 将物联网引擎名称由 IOTDB 改为 IOT:(3.00.5.1
    • 新建数据库时,engine="IOT" 现在与原 engine="IOTDB" 效果一致;兼容已有脚本中的 engine="IOTDB"
    • 为函数 getLocalIOTDBStaticTableclearAllIOTDBLatestKeyCacheclearAllIOTDBStaticTableCache 新增别名,别名中统一将 IOTDB 改为 IOT。
    • 为配置项 IOTDBLatestKeyCacheSize、IOTDBStaticTableDir、IOTDBStaticTableCacheSize 新增别名,别名中统一将 IOTDB 改为 IOT。
    • 将用户可见日志输出中的 IOTDB 改为 IOT。
    • 对于 IOT 引擎,将 schema 返回的 engineType 由 IOTDB 改为 IOT。
  • createCrossSectionalEngine 函数的 roundTime 参数扩展支持 triggeringPattern='interval' 模式。在 interval 模式下可通过 roundTime 对窗口起始时间进行规整。(3.00.5.1
  • createCrossSectionalEngine 函数的 triggeringPattern 参数新增可选值 'intervalForce',用于在无新数据到达的周期仍然强制输出结果。仅在 useSystemTime=true 时支持。(3.00.5.1
  • 优化 between/notBetween 运算符及函数对日期或日期时间类型的比较逻辑,支持在范围边界时间粒度高于被比较值时自动将细粒度时间类型转换为粗粒度类型进行比较(不支持转换为 MONTH 类型)。(3.00.5.1
  • 优化 strictPermissionMode=true 下的函数权限限制:支持非管理员用户执行 runScript。(3.00.5.1
  • replaceColumn! 支持在 OLAP 分布式表中替换 DECIMAL 类型列,包括 DECIMAL 类型与 STRING、INTEGRAL、FLOATING 类型之间的相互转换,以及 DECIMAL32、DECIMAL64 和 DECIMAL128 类型之间的转换。(3.00.5.1
  • 优化 controller volumes 分配策略,避免空闲空间较少的 volume 被过度选中。(3.00.5.1
  • 支持在分级存储和 S3 Backup 使用 S3 时,无需在配置文件中配置 s3AccessKeyId 、s3SecretAccessKey 和 s3Region,AWS SDK 将通过默认凭证链自动获取 S3 认证凭证。(3.00.5.1
  • 支持高可用流表订阅连接非 leader 节点,调用 subscribeTable 时会自动转发至 leader 节点。(3.00.5.1
  • 优化冷盘存储分配策略,数据从热盘迁移到冷盘时,系统将根据剩余空间容量选择迁移目标。(3.00.5.1
  • 优化 DFS 事务超时与过期事务清理调度逻辑,事务默认超时时间调整为续约间隔的 6 倍。(3.00.5.1
  • 优化存算分离计算节点的磁盘空间更新机制,将后台线程更新间隔由 2 秒调整为 30 秒,并新增磁盘容量与使用量的 DEBUG 日志。(3.00.5.1
  • 优化通过 warmupComputeNodeCache 接口缓存计算组数据的机制,降低存算分离场景下索引缓存的内存占用并提升内存使用可控性。(3.00.5.1
  • 优化 TSDB 引擎的同日时间谓词裁剪,支持将 time()/nanotime() 参与指定的时间范围改写为原始日期时间范围,减少全表扫描以提升查询性能。(3.00.5.1
  • 优化 Orca 流引擎动态指标管理能力,支持通过引擎对象或字符串名称对多个响应式引擎进行指标增删查。(3.00.5.1
  • 优化 parseInstrument 对含权债的解析逻辑:(3.00.5.1
    • 解析仅包含票面利率调整权的含权债时,支持指定 exerciseDates。
    • 支持指定 newCoupon 为向量,以便传入多个值匹配不同行权日期。
  • 优化 Instrument 的字段解析逻辑,CmFutAmericanOption、CmFutEuropeanOption、EqAmericanOption 和 EqEuropeanOption 的 notionalCurrency 字段支持可选,未指定时默认使用 CNY。(3.00.5.1
  • 优化过期 chunk 版本回收机制。(3.00.5.1
  • 优化 getComputeNodeCacheWarmupJobStatus 获取已完成缓存预热任务历史记录的数量上限,由 10 个提升至 4096 个。(3.00.5.1
  • 优化未正常收到 license server 服务器回复后的关机机制,将自动关机等待时间从 2 天延长至 14 天。(3.00.5.1
  • linearTimeTrend 新增 interceptminPeriods 两个可选参数,分别支持无截距回归和窗口最小有效数据量控制。(3.00.5.1
  • 优化 licenseServer 客户端启动流程,支持备机认证启动。

  • 优化单点登录(SSO)流程: 修复 SSO 请求中默认端口导致的 HTTP 请求错误问题。 优化 oauthUserField 配置项,支持从嵌套 JSON 中解析用户名。

  • 优化写入卷选择逻辑,支持根据各卷的空闲空间百分比进行加权分配写入。

  • 支持 ARM 版本 server 通过插件市场执行 listRemotePlugins 查看远程插件列表,并通过 installPlugin 下载并安装插件。

  • 支持在 getAclAuditLoggetAuditLog 的返回结果中展示节点名称(node alias)。

  • 加强 ORCA 系统表权限管控,不再对非管理员用户可见。

  • listMCPPromptslistMCPTools 增加权限控制。

  • 新增配置项 enableDynamicScriptOptimization,用于控制是否启用脚本引擎优化。

  • 新增配置项 enableTransferCompressionToComputeNode 和函数 enableTransferCompressionToComputeNode,用于控制数据节点向计算节点发送数据时是否开启压缩。

  • 配置项 enableORCA 默认值调整为 false。

  • 优化启动阶段的日志信息。

  • 新增 TSDBCacheEngineSize 参数校验,限制其不超过节点 maxMemSize 的 50%。

  • 增强 getTables 的权限校验逻辑,避免无库表权限的用户在猜中库名时仍可获取表名信息。

  • 支持对 DFS 分区表执行 share 操作。

  • 优化语法异常信息,新增输出出错所在的行号。

  • 优化 createCrossSectionalEngine 函数的报错信息,现在在 metrics 中使用函数时会正确返回具体的错误提示。

  • 优化 wjtwindow 函数的报错信息。

  • 支持通过赋值语句或可修改函数(如 append!clear! 等)修改 DolphinDB 对象(元组、字典)的成员。

  • attributeTypes 支持通过类名获取属性及其类型。

  • 支持对 API 传入的字符串,根据字段类型自动转换为 DOUBLE、FLOAT 或 DECIMAL,并插入表中。

  • 提升 cdfNormal 的计算精度。

  • 支持 movingWindowData 函数输入为数组向量。

  • getFunctionViews 新增返回函数视图的创建者与创建时间信息。

  • getSessionMemoryStat 支持统计主键引擎(PKEY)的缓存信息。

  • 优化 Orca 跨集群查询的性能。

  • 支持通过 addReactiveMetrics 为 ORCA 的 NarrowReactiveStateEngine 添加 Metrics,不再报错 “orca engine does not support adding metrics”。

  • 优化文本存储引擎的模糊匹配查询性能。

  • 响应式无状态引擎支持指定不同指标以不同条件触发计算。

  • 支持在响应式状态引擎中对数组向量调用 movingWindowData

  • 支持在响应式状态引擎中使用内置函数 mimaxLastmiminLast

  • createCrossSectionalEngine 支持处理列式元组。

  • 优化 getStreamingStat,数据没有被消费时,subWorkers 表仍会显示 workerId。

  • 优化 subscribeTable 的线程分配算法,在不指定 hash 时优先分配空闲线程。

  • 优化持久化流表在重新加载过程中的内存占用。

  • createCEPEngine支持多个输出表,emitEvent 支持指定输出表。

  • createDataViewEngine新增参数 includeOperationType,支持在输出结果中包含每条数据记录的变更类型。

  • 重构流数据高可用功能。

  • 重构函数 DStream::udfEngine

  • 优化时序聚合引擎性能。

  • 优化快照合成引擎的窗口数据覆盖规则。

  • 流订阅根 job ID 改为随机 UUID。

  • 优化 SQL 引擎性能。

  • 优化 context by 的查询性能。

  • 支持 contextbyfuncArgs 传入元组。

  • 优化 try-catch 的捕获的异常信息,提供行号。

  • 优化 WindowJoinEngine 与 NearestJoinEngine 的性能。

  • 优化 JOIN 性能。

  • 优化债券和国债期货的 instrument 和 marketData 的匹配规则。

  • 优化 FICC 相关计算函数。

  • 函数fxVolatilitySurfaceBuilder 新增可选参数 surfaceName,用于指定生成的外汇期权波动率曲面名称。

  • bondPricerbondFuturesPricerirDepositPricerfxForwardPricerfxSwapPricerfxSwapPricerfxEuropeanOptionPricer 支持批量定价。

  • 函数 createorderbooksnapshotengine 支持将上交所基金的即时成交信息统计到委托明细。

  • 优化 orderbookEngine 在盘口倒挂场景下的 WARNING 日志打印策略。

故障修复

  • 修复表连接引擎在计算数组向量字段时,结果未正确更新的问题。(3.00.5.1
  • 修复将 VOID 类型列(如通过 SELECT null 生成)追加到 SYMBOL 类型列时报错的问题。(3.00.5.1
  • 修复 SQL 查询中使用 e 作为表别名时解析报错的问题。(3.00.5.1
  • 修复 SQL FROM 子句中表别名与 DolphinDB 函数名相同时,在 JOIN、单表查询及 UNION/UNION ALL 场景下可能解析报错的问题。(3.00.5.1
  • 修复 SQL 语句计算表达式中减法操作符前后存在空格时,系统将“减 1”错误解析为“负 1”并报错的问题。(3.00.5.1
  • 修复对内存表执行 context by + having + csort 时结果表内存占用异常偏大的问题。(3.00.5.1
  • 修复对共享索引内存表执行大数据量分组统计查询时,可能报错 Please use sql query to manipulate a synchronized table 的问题。(3.00.5.1
  • 修复因窗口函数反序列化异常导致启动失败的问题。(3.00.5.1
  • 修复流表 ANY 列批量追加相关问题: (3.00.5.1
    • 修复持久化流表订阅回放时,ANY 列按整列追加导致 IOTANY 列写入异常的问题。
    • 修复 msgAsTable=false 的订阅批量合并场景下,ANY 列可能被错误合并为单个元素的问题。
    • 修复 Streaming SQL 结果列在合并多批日志时,ANY 列可能出现长度不一致或写入异常的问题。
  • 修复 mr 并行任务异常退出时,同一 session 内主脚本与后台任务发生冲突可能导致宕机的问题。(3.00.5.1
  • 修复在查询中使用内置函数名作为字段别名时解析报错的问题。(3.00.5.1
  • 修复在 byRow 处理空 tuple 数据时可能导致宕机的问题。(3.00.5.1
  • 修复 if 语句写成单行时可能报错 Invalid expression: ) 的问题。(3.00.5.1
  • 修复存储计算分离场景下,执行 flushComputeNodeMemCache 后,getComputeGroupChunksStatus 将仍缓存在计算节点磁盘上的 chunk 错误显示为 NOT CACHED 的问题。(3.00.5.1
  • 修复 IOT 引擎使用 context by ... limit 配合 having 子句时的以下问题:(3.00.5.1
    • 修复 having 子句中已存在的列名可能无法识别的问题。
    • 修复 having 子句包含聚合、窗口或顺序函数时可能导致查询结果不正确的问题。
  • 修复 TSDB 引擎查询命中 cache engine 缓冲区时,因查询条件里 SYMBOL 列的过滤条件不是 LITERAL 类型导致报错的问题。(3.00.5.1
  • 修复删除冷盘分区数据后,事务 UNDO 日志未被垃圾回收(GC)清理的问题。(3.00.5.1
  • 修复 createDailyTimeSeriesEngine 在多交易时段窗口计算中,窗口边界处理不正确的问题:设置 useWindowStartTime=true 时输出时间可能误显示为上一窗口的结束时间;启用 mergeSessionEnd 时交易时段结束边界的数据未被正确纳入当前窗口,导致聚合结果(如 minmax)异常。(3.00.5.1
  • 修复创建时序聚合引擎时 metrics 参数含 <count(*)> 可能导致宕机的问题。(3.00.5.1
  • 修复重启后执行函数视图调用 createAsofJoinEngine 时可能导致宕机的问题。(3.00.5.1
  • 修复向流表写入数据时,数据量过大可能导致宕机的问题。(3.00.5.1
  • 修复流数据高可用(Streaming HA)订阅中,当 topic 名称过长时订阅失败的问题。(3.00.5.1
  • 修复高可用流表在 OOM 后清理 Raft 文件并从 Leader 恢复时,因持久化数据文件起始位置异常导致恢复失败并可能无法继续写入的问题。(3.00.5.1
  • 修复向流表写入数据时,数据量过大可能导致宕机的问题。(3.00.5.1
  • 修复使用 bondInstrumentCalculator 计算含权债或包含 newCoupon 的含权债的风险指标时,久期、修正久期、凸性和基点价值结果异常的问题。(3.00.5.1
  • 修复 irDepositPricer 在定价日为现金流发生日时未将当日现金流计入价格,导致估值结果不正确的问题。(3.00.5.1
  • 修复节点内 rebalance(rebalanceChunksWithinDataNode)过程中,并发查询分区可能返回空数据或部分列为 NULL 的问题。(3.00.5.1
  • 修复高可用流表订阅写入分布式表时,集群异常关机并重启后因 chunk 处于 RECOVERING 状态导致 DFS 表写入失败的问题。(3.00.5.1
  • 修复在高可用集群中,使用 Python API 多进程并发写入高可用流表时 Leader 节点断电,重启后数据节点可能无法启动的问题。(3.00.5.1
  • 修复在 lanCluster=true 的高可用集群中,执行 stopController.sh 脚本后 controller 进程无法退出的问题。(3.00.5.1
  • 修复配置项 thirdPartyAuthenticator 在单节点上无效的问题。(3.00.5.1
  • 修复异步日志写入器停止后仍写入已关闭日志流,可能导致写入日志时宕机的问题。(3.00.5.1
  • 修复在 Web 上新增或修改集群配置并重启数据节点后,高可用流初始化误报未配置 clusterName ,导致数据节点无法启动的问题。(3.00.5.1
  • 修复在手动删除计算节点 audit.log 日志文件时,计算节点会宕机的问题。(3.00.5.1
  • 修复了控制节点在频繁进行登录认证时,因内存未正确释放导致内存持续增长的问题。(3.00.5.1
  • 修复 toStdJson 处理包含 \b\f 的字符串时生成的 JSON 文本不正确,导致 fromStdJson 解析时报 Invalid json text 的问题。(3.00.5.1
  • 修复整数类型解析的如下问题:(3.00.5.1
    • 修复通过 loadText 导入包含科学计数法的 SHORT、INT、LONG 类型数据时,解析结果不符合预期的问题。
    • 修复负数 LONG 类型数据末尾包含空格时,负号可能丢失的问题。
  • 修复在 triggerType=independent 模式下,OrderBookSnapshotEngine 输入数据的 SecurityID 为 NULL 且触发快照输出时可能导致宕机的问题。(3.00.5.1
  • 将 SYMBOL 类型字段设置为 TSDB 引擎的 sortKey,导致节点偶发崩溃。

  • 增加配置项访问安全校验:

    • 新增配置项 enableConfigAccessControl,用于控制在访问配置项时是否启用权限校验。

    • 新增函数 getOauthClientSecret,用于管理员用户安全地获取敏感配置项 oauthClientSecret 的值。

    • 修改函数 getConfig/getConfigure 执行逻辑,当启用配置访问控制时,将会依据配置项安全级别及当前用户权限过滤返回结果。

  • 在执行分区更新后,TSDB 引擎过度打印日志导致日志文件异常增大并占满磁盘。此为 2.00.15 版本引入的问题。

  • 在高可用集群中,当各 controller 并发执行 getClusterPerf 的数量超过工作线程的数量时,可能导致系统无响应。

  • 在并发提交多个任务时,偶发任务调度异常导致系统无法响应。

  • 在高可用集群中,当控制节点配置 lanCluster=0 时,从节点无法安全关机。

  • 从 3.00.0.x - 3.00.2.x 升级至 3.00.4.x 时,旧版本中若存在包含 Catalog 相关脚本的函数视图或定时作业,可能导致节点无法启动。

  • dropTable 与数据写入同时执行导致集群卡住。

  • 修复偶发 jobcheckpoint 文件描述符泄露的问题。

  • 修复使用 xdb 连接后,远程执行脚本偶发报错的问题。

  • 修复高可用集群在执行 moveReplicas 时,因缓存句柄未失效导致查询结果偶发不一致的问题。

  • getUserHardwareUsage 返回的内存值可能因自动类型转换错误导致精度不足,从而出现异常(负数)。该问题由 2.00.15 版本引入。

  • 修复 bar 函数在处理 TIME 等时间类型时可能生成超过类型上限的异常值的问题。

  • adfullerregression ='n' 时,若返回值中的 adfStat>0,则 pValue 计算错误。

  • 由于 mr 函数缺少入参类型验证,在传入空的数据源时,导致 server 崩溃。

  • 修复 linearTimeTrend 在窗口大于 1024 时结果计算错误的问题。

  • 修复 saveText 导出 CSV 时对 SYMBOL 类型字段中引号处理出错的问题。

  • 修复 getUserTableAccessRecords 在查询范围跨越两个及以上 job 文件时报错的问题。

  • 修复在存在计算组的集群中执行 DDL 操作时,触发不符合预期的权限报错的问题。

  • 修复有多个返回值且有一个返回值为入参的函数在 each/loop 中执行时返回结果错误的问题。

  • 修复在数组向量上使用 at / row 函数时的异常行为问题。

  • 修复 getStreamTables 的 totalRows 字段溢出的问题。

  • 修复 mstd 计算错误的问题。

  • 修复 round 可能发生溢出的问题。

  • 修复在 OOM 场景下 getSessionMemoryStat()OLAPTablet 内存统计错误,导致缓存清理逻辑失效的问题。

  • 修复 percentile 计算可能触发段错误的问题。

  • 通过 subscribeTable 订阅流表时,若 filter 参数指定的函数中输出表结构与输入流表不一致,系统不会输出数据,也不会报错。

  • 向通过 setStreamTableTimestamp 指定时间戳列的流表中插入空向量数据时可能导致系统崩溃。

  • 当同一流表存在多个本地订阅时,通过 enableTableShareAndCachePurge 设置的缓存清理偶发失效。

  • 当通过 enableTableShareAndCachePurge 设置自动清理共享流数据表时,如果订阅是通过断开连接而非 unsubscribe 取消的,缓存数据未能被正确清理,导致表行数超过设定的 cacheSize 限制。

  • registerStreamingSQL 解析驼峰命名的字段名失败。

  • 当流式 SQL 查询的键值表写入单条包含列式元组的数据时报错。

  • createReactiveStateEnginemetrics 中非法使用自定义类方法,导致 server 崩溃。现已修复为在检测到异常时返回错误提示。

  • createReactiveStateEnginemetrics 返回多个数组向量时报错。

  • 若在 createReactiveStateEnginemetrics 中使用无状态函数,并且通过 as 指定的返回值别名与该函数的入参同名,则会报错。

  • 在 3.00.X 版本集群上订阅 2.00.X 版本集群发布的流数据失败。

  • 在时序聚合引擎中,当使用 lastlastNot 以及返回多个值的聚合函数时,如果指定了 keyPurgeFreqInSec 参数,会产生错误的结果。

  • 使用 warmupStreamEngine 预热时序聚合引擎后,当向引擎写入新数据时,引擎输出了所有预热数据的计算结果,而不是仅输出新数据的计算结果。

  • 修复在注册包含 now() 的流式 SQL 时可能导致节点崩溃的问题。

  • 修复键值表被声明为流式输入表后,同 key 数据更新写入时报错的问题。

  • 修复响应式状态引擎用 deltas 处理 DECIMAL64 类型列结果不正确的问题。

  • 修复了因流数据表字段包含 ANY 类型导致订阅追加数据时触发报错的问题。

  • 查询表时,如果聚合计算的 GROUP BY 列包含 BLOB 类型可能发生内存泄漏。此为 2.00.11 版本引入的问题。

  • SQL 语句内换行,行首为运算符报错。

  • SQL 聚合计算偶发导致服务器崩溃。

  • 在使用 update ... context by ... 语句更新共享内存表时,系统报错:A snapshot table doesn't support data update。

  • 通过 INSERT 语句插入数据时,如果某列以连续两个 VOID 类型的 NULL 开头,插入将失败。

  • 修复在 TSDB/IOT 引擎的分区表查询中,select 使用嵌套三元运算符 ?: 时无法正确解析所需列名的问题。

  • 当流式 SQL 左连接的左表先更新数据,右表再更新数据时,结果不符合预期。

  • 修复在出现 == is not a unary operator 语法错误时,错误消息不会显示所在行号的问题。

  • 修复 nulls lastnulls first 某些情况下结果错误的问题。

  • 修复在分布式表查询中使用 prev 可能触发报错的问题。

  • 修复在 TSDB 表查询包含 group by 且分组字段包含 sortkey,并在执行过程中发生 OOM 时,可能导致节点崩溃的问题。

  • 修复两个分区内存表 unionAll 后查询失败的问题。

  • 修复在分布式 TSDB 表上使用 csort by ... desc 结合 context by 查询时,排序在部分条件下偶发不生效的问题。

  • 修复 context by在特定场景下导致查询分布式表失败的问题。

  • 修复对内存表执行 group by 分组聚合时, std 计算可能出错的问题。

  • 修复在深交所(XSHE)订单簿计算中,输入委托单的 BuyNo / SellNo 为 NULL 时导致计算报错的问题。

废弃功能

  • 优化债券现金流处理逻辑,在构建债券时不再支持自定义 cashflow 输入,避免与内置预设冲突。(3.00.5.1