插入数据时报错,无法创建子表

【TDengine 使用环境】
生产环境 /测试/ Poc/预生产环境

【TDengine 版本】

3.3.4.3

【操作系统以及版本】

Linx GNU/Linux 6.0.80 (jessie)

【部署方式】容器/非容器部署

docker部署

【集群节点数】

1

【集群副本数】

【描述业务影响】

无法插入数据

【问题复现路径/shan】做过哪些操作出现的问题

【遇到的问题:问题现象及影响】

超级表已经创建,插入子表数据时(无子表,自动创建子表),INSERT INTO nibianqi_NB404 USING xj_iot.nibianqi TAGS( ‘NB404’ ) ( ts,IB ) VALUES ( ‘2026-01-14 10:34:01.313’,36.226 );提示表不存在,但是使用别的子表名有的可以有的不行如截图,请问是什么原因导致?是表名有限制吗?出现这个问题的子表名没有看出来规律

【资源配置】

【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)

直接创建表也会报错:taos> CREATE TABLE xj_iot.nibianqi_NB404 USING xj_iot.nibianqi TAGS(‘NB404’);

DB error: Table does not exist (0.007612s)

估计是这个错误码上报的不对,请先升级到最新的版本再验证一下吧。

现在我感觉是数据有问题,是这个超级表有问题,其他超级表可以查询,有的子表可以创建有的无法创建插入数据,我又在别的环境新创建了相同的超级表,使用相同的sql可以正常插入

image

如果是这样的话,估计是元数据出了问题。

有没有什么排查解决办法呢?

这个很难排查,而且也无法修复了。建议上重新部署。

如果还要保留数据的话,先taosdump 导出备份到文件,新建集群后再导入。

能够导致这种问题的原因有哪些?有什么需要注意的事项,我们在现场不能出了问题就重新安装吧

我找研发工程师问问。

但只要是正常操作,不要手动修改 数据目录下的东西,或磁盘坏的情况下,应该是不会有问题的。

看上去是元数据有问题,可能是偶发的硬件故障导致的,也有可能是软件 bug 导致的。

对于已经发现的元数据相关 bug,我们都做了修复,但其中一部分在您正在使用的 3.3.4.3 版上仍然存在。所以,请先升级到新版本验证。