2.00.7
版本下载
版本号: 2.00.7 一级兼容 2.00.6
发行日期: 2022-07-14
Linux64 binary | Linux64 JIT binary | Linux64 ABI binary | Windows64 binary | Windows64 JIT binary | Linux ARM64|
新功能
-
新增配置项
memLimitOfQueryResult
和memLimitOfTaskGroupResult
以限制查询结果和子查询结果的内存占用;新增函数getQueryStatus 用于监控查询过程的内存占用及执行进度等信息。 -
新增函数
getTSDBCompactionTaskStatus
,用于获取 TSDB 引擎 level file 合并任务的状态。 -
新增函数
isPeak
和isValley
,判断当前元素是否是相邻元素中的峰值/谷值。 -
新增函数
rowAt(X, Y)
,以 Y 为索引,逐行获取 X 中对应索引的元素。 -
新增函数
rowImin
和rowImax
,逐行获取最值点的索引。 -
新增机器学习相关函数
gmm
,支持通过高斯混合模型来实现聚类算法。 -
新增函数
valueChanged
,通过比较当前元素和相邻元素,计算元素间的变化。 -
新增函数
msum2
和tmsum2
,支持在滑动窗口内计算平方和。 -
新增函数
prevState
和nextState
,以连续且值相同的元素作为状态标识,寻找当前元素相邻前/后一个状态的元素值。 -
新增函数
getSupportBundle
,返回系统基本的配置信息和数据库信息。 -
新增函数
topRange
和lowRange
,统计序列中的当前值是前多少周期内的最大/小值。并在 ReactiveStateEngine 中支持了该函数。 -
新增
spline
,neville
,dividedDifference
,loess
插值函数。 -
ReactiveStateEngine 支持
cumPositiveStreak
函数。 -
新增流数据引擎 dual-ownership reactive state engine (
createDualOwnershipReactiveStateEngine
),支持按两种不同的分组方式分别应用不同的指标进行并行计算。 -
引入新的表对象:跨进程共享内存表 IPCInMemoryTable,并新增四个相关函数
createIPCInMemoryTable
,loadIPCInMemoryTable
,dropIPCInMemoryTable
,分别用于创建跨进程共享内存表,加载跨进程共享内存表,销毁跨进程共享内存表。跨进程共享内存表可用于在流计算场景下,使 DolphinDB 服务端与同一个物理机上的客户端程序间能够高效地传递数据。 -
新增函数
stretch
,将向量拉伸到指定长度。 -
新增函数
getTransactionStatus
,获取事务的状态。新增命令imtForceGCRedolog
,取消等待指定编号的事务回收。 -
新增数据库运维模块 ops,包含一些用户常用的运维脚本,如:取消集群中未完成的作业,查看内存占用,删除未完成恢复的分区,关闭不活跃的会话等。
-
新增函数
setLogLevel
动态调整 server log 级别。 -
-
新增函数
getRedoLogGCStat
用于获取 redo log 垃圾回收的状态。
-
-
ReactiveStateEngine 支持
cumPositiveStreak
函数。 -
新增 mmaxPositiveStreak 函数,计算在给定长度(以元素个数衡量)的滑动窗口内统计 X 中连续正数之和的最大值,并在响应式状态引擎中增加了对应的状态函数。
功能改进
-
向 OLAP 引擎持续写入数据时,出现 redo log 回收被卡住。
-
节点安全关机后,仍被控制节点判断为存活。
-
事务决议未完成前,分区锁因超时被释放,导致数据无法写入。
-
backup
函数按条件备份数据时,对查询条件处理错误。 -
机器负载(load)过高情况下会导致 crash。
-
同时满足以下条件时出现 server crash:API 开启压缩选项,只查询1个分区的数据,查询的数据并不在 API 所在节点,且查询语句包含 group by 操作。
-
分布式表更新后重启集群,更新过程中产生的旧的物理目录有时不会被回收。
-
修复因 symbol base 序列化出错导致数据读取出错。
-
流数据订阅不到持久化流数据表内存中还存在但是磁盘上已删除的数据。
-
appendForJoin
插入数据的列数若与 JoinEngine 的 leftTable, rightTable 的列数不一致,会导致 crash。 -
修复
createSessionWindowEngine
设置 updateTime,但输出表不是 keyedTable 时,一条数据到达引擎之后经过 2*updateTime仍未参与计算,不会触发计算。 -
DailyTimeSeriesEngine 在 SessionEnd 之后仍有数据输入可能会导致 crash。
-
createLookupJoinEngine
rightTable 是共享键值内存表时创建引擎会失败。 -
持久化流数据表写入过程中重启节点,重新加载过程因丢失部分数据导致解压失败而报错。
-
replay
回放时,指定 dateColumn 和 timeColumn 为同一个 big array 类型的时间列,且设置 absoluteRate=false 时,server 会 crash。 -
createReactiveStateEngine
的 metrics 参数指定为返回一个常量向量的自定义函数时未报错。 -
createAnomalyDetectionEngine
的 metrics 参数中包含临时变量会导致 crash。 -
异常检测引擎(AnomalyDetectionEngine)启用 snapshot,重新创建引擎时指定不同于上个引擎的 metrics,没有抛出异常。
-
通过元编程对分布式表执行 context by 操作时,报错:"The select clause of the query doesn't refer any column."。
-
update 语句与 context by 配合使用时,若 set 的第一列为整数列,后面的列为浮点数列,则会对后面的列进行取整操作。
-
当 worker 数量非常少的时候,并发做 pivot by 查询,则可能会卡死。
-
对查询三级分区表数据语句使用 HINT_EXPLAIN 时,出现 server crash。
-
STRING 类型的 subarray 调用
binsrch
函数时,结果不正确。 -
将 STRING 类型的向量通过
cast
函数转换为 tuple 时,结果为空。 -
对内存表的多个类型为 INT128 的列进行聚合计算时,出现报错:“The function min for reductive operations does not support data type INT128”。
-
通过
getFunctionView
获取函数视图时,返回结果中部分函数没有显示 body。 -
数组向量(array vector)应用
removeHead!
函数的结果不正确。 -
向一个空的 tuple append 它自己后,再加载该 tuple,server 发生 crash。
-
SQL 查询调用
interval
插值场景下,当 where 子句指定的时间范围数据类型的粒度比interval
的 duration 参数指定的时间粒度更大时,导致的 server crash。 -
sql 查询语句中调用
twindow
函数时,server 会 crash。 -
update 分布式表时,set 后的列名与分布式表的列名大小写不一致,导致数据更新失败。
-
响应式状态引擎的 metrics 中包含函数
iterate
时,若启用了数据清理机制,且正在清理数据时插入了数据会报错:"vector::_M_default_append"。 -
调用
matrix([[datehour(0)],[datehour(0)]])
创建 matrix 时,报错:“The data object for matrix function can't be string or any type”。 -
wj
参数 aggs 指定为 countNanInf 报错:"An window join function must be an aggregate function"。 -
createDailyTimeSeriesEngine
不指定分组时,将前一天未计算的数据合入了第二天的第一个窗口。 -
createDailyTimeSeriesEngine
跨天第一个窗口的数据计算结果不正确,且调用 fill 填充时,输出了 session 时间段外的数据。 -
online recovery 过程中,部分处于 In-Progress 状态的任务无法恢复。
-
createTimeSeriesEngine
指定 useSystemTime=true 时, metrics 中调用mode
函数导致 server crash。 -
createReactiveStateEngine
参数 metrics 包含tmove
和move
函数, 且 X 为 STRING, SYMBOL 类型时,会 crash。 -
wj
参数 aggs 指定为atImax
和atImin
结果错误。 -
通过
streamFilter
引擎分发普通流数据表时,调用tableInsert
插入数据报错。 -
streamFilter
插入失败时由于报错信息过长导致 session 断开。 -
createTimeSeriesEngine
和createDailyTimeSeriesEngin
e 参数 metrics 包含函数firstNot
,lastNot
,并指定 fill=`ffill 时,输出不符合预期。 -
createReactiveStateEngine
参数 metrics 包含mfirst
,mlast
,且函数输入参数 X 的数据类型为 FLOAT, LONH, SHORT, CHART, BOOL, INT128, STRING, SYMBOL 时导致 server crash。 -
增加
fj
对结果集行数的限制,不超过20亿行。 -
通过
tableInsert
插入数据到表,导致数据库的 atomic level 从 ‘CHUNK’ 转变为 ‘TRANS’ 。 -
createReactiveStateEngine
参数 metrics 包含 tm 系列函数时,tm 系列函数参数 window 精度为 y, M, B 时计算结果不正确。 -
server 2.00.6 windows 版本 TSDB 引擎文件描述符泄露。
-
修复浏览 online Recovery 重启节点后,两副本 string 列数据不一致。
-
resample
函数输入索引是 TIME 类型的时间数据,参数 origin 指定 "end",rule 指定为 "D",查看返回结果报错:"Invalid value for HourOfDay (valid values 0 - 23): 39"。 -
非 admin 管理员 grant/deny/revoke 自身权限时报错。
-
TSDB 在 OOM 时引发的 redolog 回收异常。
-
当矩阵的某一行全为空,
byRow
计算imin
,imax
时结果不正确。 -
controller 节点宕机时,使用
getControllerPref
获取到的 agentsite 不正确。 -
SQL 查询时调用
interval
和并通过用户自定义聚合函数进行聚合时,导致 crash。 -
未配置 dataSync 动态调用
addNode
函数增加节点报错。
Web客户端功能改进
-
在高可用集群环境下,通过 web 访问任意 controller 节点,会重定向到 leader 节点,能在 web 页面展示所有节点信息。