您现在的位置是:首页 > 文章详情

DolphinDB 常见数据库错误代码大全

日期:2024-03-28点击:55

为了帮助开发人员更迅速地识别错误类型、定位和处理问题,我们整理了 DolphinDB Server 中的异常以及关键错误信息,总结出了一份 DolphinDB 数据库错误代码列表。当发生报错时,参考错误代码列表,就可以了解当前问题产生的原因。

错误代码一览

目前,我们已为大家整理了上百个错误代码以及对应的错误原因,可以使用 Ctrl+F 键盘组合搜索错误代码,快速定位。同时,错误代码会随着每一次版本发布而更新,大家可以收藏详情链接,方便查看更新内容。

S00001:发布、订阅或取消订阅流数据表前,未进行相关配置 S00002:当前分区分布式锁已被占用 S00003:一个表的一个 SYMBOL 字段的不同取值超过了2^21(2,097,152)个 S00004:Server 创建套接字失败 S00006:网络连接数达到限制 S00007:头文件解析错误 S00008:输出信息或结果持久化失败 S01001:分区方式为 VALUE 的分区列数据中含有空值 S01002:使用 addRangePartitions 添加新分区时,newRanges 字段的范围可能与数据库中已有的分区范围重叠 S01003:当前分区为构建状态,不可删除 S01004:新增 chunk 时,选择有同样分区的其他 chunk 所在的节点数少于副本数 S01005:脚本需要在控制节点上执行,但当前节点不是控制节点或者单节点;当前节点还未完成初始化过程 S01006:数据节点向控制节点汇报所持有的分区信息时,部分分区信息过时 S01007:查询恢复任务状态时,某分区的某任务失败 S01008:在 chunk 进行恢复任务时,控制节点无法找到满足要求的源节点和目的节点 S01009:对应节点在预期时间间隔内没有向控制节点发送心跳,或控制节点没有处理心跳 S01011:Raft 在读取 WAL 时,发现末尾数据不完整 S01012:在事务过程中获取事务相关 chunk 的分布式锁后,chunk 在控制节点上的可用副本数量为 0 S01013:dropPartition 的参数 forceDelete=false 时,chunk 在控制节点上的可用副本数量少于 replicationFactor S01014:使用 addColumn 添加列时,colNames 中的列在表中已存在 S01015:使用 append! 函数写入维度表或分区表时,写入表与被写入表列数不匹配 S01016:向分区方式为 VALUE 的分布式数据库写入数据时,有数据不在已有分区方案内,且配置参数 newValuePartitionPolicy 为 fail S01018:VALUE 分区列的数据包含不可见字符(0-32 及 127) S01019:多个写入并发进行时,domain 打开的重试次数达到固定的 1200 次 S01020:通过分区方式备份时,备份的表中不存在参数 partition 指定的分区 S01021:backup 的分区备份方式不支持备份库级分区 S01022:通过分区方式进行备份时,备份目录下已存在通过 SQL 方式备份的文件 S01023:分布式数据库的集群间异步复制开启后,从集群尝试通过非异步复制方式向该数据库写入数据 S01024:报错信息提及的函数只能运行在异步复制主集群或从集群上 S01025:由于网络原因,数据节点收到多次任务执行请求;从集群数据节点可能意外关闭后重新启动 S01026:CacheDumpTaskDispatcher 定时将 TSDB 的缓存数据写入磁盘过程中发生 OOM S01027:TSDB 在合并 level file 时内存不足 S01028:TSDB 异步排序(enableTSDBAsyncSorting)时遇到 OOM S01029:TSDB 存储引擎在读取某个 level file 时读取数据失败 S01030:分级存储初始化时检查的 coldVolumes 文件路径格式存在错误 S01031:开启分级存储功能后,未提前加载 AWS S3 插件 S01032:coldVolumes 中指定了 AWS S3 volume,但未指定对应的 S3 配置 S02000:unpivot 函数的 valueColNames 参数中各列的数据类型未保持一致 S02001:SQL 语句的 select 子句(以及 group by 子句,如果有)存在列名重复的列 S02002:saveText 函数的第一个参数是 SQL 元代码,执行时对应的 SQL 语句无法拆分成多个子查询 S02003:inputTables 的参数形式不合规 S02004:loadTableBySQL 函数的 sql 参数对应的 datasource 分区为空 S02005:查询中某个列在表中找不到 S02006:未满足多表 join 只支持第一张表是分区表的条件 S02007:脚本中存在通过成员获取 MVCC 表数据的操作 S02008:在分布式表中直接使用列名获取数据 S02009:流数据表直接引用列名获取数据 S02010:构造表时,表中每列长度不等 S02011:select 语句不完整 S02012:with as 定义临时变量的名字,与脚本中其他变量重名 S02013:join 函数的第一个参数 leftTable 的类型不是表 S02014:join 函数的第二个参数 rightTable 的类型不是表 S02015:当 sqlDS 的 sqlObj 是 join 查询,且 forcePartition=false 时,如果 lj, slj, fj, aj, pwj, wj 函数的左表不是分区表,则右表也不能是分区表 S02016:混合使用 JOIN 语句时,逗号引起的分隔破坏了预期的 JOIN 执行顺序 S02017:group by 子句指定的某一列的长度和 select 子句指定列的长度不一致 S02018:group by 子句指定了 array vector 类型的列 S02019:csort 指定了 array vector 列进行排序 S02020:group by 子句指定为一个标量,且 select 子句指定列的长度也正好是 1 S02021:group by 子句的 HAVING 子句计算结果不是布尔表达式 S02022:group by 子句将某列的多条数据划分为同一个分组时,select 指定的列未使用聚合函数 S02023:group by 查询中 select 子句的某一列生成 array vector,且没有用 toArray S02024:group by 查询中 select 子句的某一列生成 array vector,且元素是 STRING / SYMBOL 类型 S02026:context by 查询中 select 子句的某一列使用了CONTEXT BY 语句中不被支持的函数 S02027:context by 查询中 select 子句包含用户自定义函数,且这一列的长度不等于组内数据长度 S02028:pivot by 子句运行检查 select 各列时,存在使用 row 系列函数且参数多于一个的列 S02029:pivot by 查询的 select 子句不支持 rowAvg, rowStd 以及 rowVar 函数 S02030:pivot by 查询时,select 子句不支持 toArray 函数 S02031:pivot by 子句运行检查 select 各列时,发现存在使用 ffill, bfill, lfill 函数且参数多于一个的列 S03000:无法用 undef 函数取消一个流表变量的定义 S03001:创建流引擎时重名 S03002:使用 subscribeTable 函数进行订阅时,订阅主题 topic 重复 S03003:尝试用 dropStreamTable 函数或者 drop 语句取消一个流表变量的定义时失败 S03005:ReactiveStateEngine 在创建时指定 metrics,DualOwnershipReactiveStateEngine 在创建时指定 metrics1 和 metrics2,上述三个参数中包含了聚合函数 S03006:在没有配置持久化路径的情况下,尝试开启流表持久化 S03007:尝试订阅一张表的时候,被订阅的表不满足该表存在、该表为流表、该表为共享表的条件 S03008:使用 subscribeTable 进行订阅操作时,检查到本节点的订阅功能未正常启动 S03009:对流表添加权限控制之后,用户没有对应的流表权限却又执行了操作 S03012:插入流表的数据的列数和流表 schema 不一致 S03013:StreamFilter 引擎在反序列化异构流表中的数据的时候,发生解析错误 S03014:使用 createTimeSeriesEngine 或者 createSessionWindowEngine 时,指定的 metrics 中出现了非聚合函数 S03015:TimeSeriesEngine 允许用户设置填充值,当窗口为空时用 fill 的值填充,但是 fill 和待计算的 metric 不兼容 S03016:在没有 orderBookEngine 的 license 的情况下调用 createOrderbookSnapshotEngine S03017:流表中在插入新数据时,发现插入的数据每一列的数据类型和自身的每一列的数据类型不一致 S03018:对除 reactive state engine 以外的其他引擎调用 warmup S03019:向持久化流表中由于回放速率过快或者一次性插入大量数据,导致超过了可以压缩的范围 S03020:当使用 getStreamingLeader 获取本节点所在的高可用分组的 leader 的别名时,该高可用分组正处在切换 leader 的过程中,并且新的 leader 还未选出或者分组已有的高可用订阅未重建完成 S04001:设置权限 grant 的对象如果是库或者表时不存在 S04002:当使用 VIEW_EXEC 对某个用户设置某个函数视图的执行权限时,该函数视图不存在 S04003:当对某用户设置 DB_OWNER 权限时,对应的权限字符串格式非法 S04004:设置权限时的用户为非 admin 用户,且设置了不包含某些列表的权限 S04005:设置权限时的用户为非 admin 用户,且未拥有所操作的数据库的权限 S05000:参与求逆的矩阵是奇异的(或称为非可逆的) S05001:使用下标访问集合,或者使用 for 遍历集合 S05003:DECIMAL 内部的整型参与运算时,结果超出可表示范围 S05004:数据写入列时,数据类型不兼容 S05005:不允许创建一个类型为 VOID(即没有类型)的向量 S05006:提供的更新列的数量与被更新列的数量不一致 S05007:调用函数 upsert! 时,newData 是一个 tuple,并且 tuple 的元素的长度并不完全一致 S06000:SQL update 语句不符合语法规范 S06001:当调用包含多个参数的函数时,传参时如果一个参数指定了 keyword,其后的参数未指定 keyword S06002:函数定义中使用了 share 语句 S06003:在命名函数定义里再嵌套定义命名函数 S06004:在指定的命名空间下,函数未定义 S06005:自定义函数与系统内置函数重名 S06006:调用了非 callable 对象

解读错误代码

DolphinDB 数据库错误代码由三部分构成:S + <与系统模块相关的错误类别码> + <类别下编码>

以 S01005 为例:

  • S:代表 Server
  • 01:代表错误发生在存储模块下
  • 005:代表存储错误类别下属的 005 错误

目前,DolphinDB 数据库错误代码列表涵盖了如下七种类别:

系统模块 错误类别码 备注
系统 00 例如:网络错误、磁盘错误、文件操作错误、内存错误等通用系统错误。
存储 01 例如:DFS、OLAP、TSDB、事务、Raft 基础模块、Recovery、Redo log、cacheEngine、backup/restore、异步复制等相关错误。
SQL/计算 02 例如:SQL 引擎、计算函数相关错误。
流数据 03 例如:流计算、流计算引擎、流数据引擎解释器相关错误
管理 04 例如:与数据库管理操作、权限管理、函数视图、集群管理相关错误。
通用 05 难以归类的错误。例如:与基础数据结构相关的报错。
DolphinDB 解释器 06 语法错误相关,解析相关

除了提供列表方便自查,我们还总结了与错误代码同时出现的报错信息,以及对应的解决方法。由于篇幅有限,请点击链接了解具体错误代码的详细信息~

原文链接:https://my.oschina.net/u/4865736/blog/11049407
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章