无模式写入,数据报超出范围

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

【TDengine 版本】

3.3.6.9

【操作系统以及版本】

linux

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

docker

【集群节点数】

【集群副本数】

【描述业务影响】

String lineData = "meters,groupid=2,location=California.SanFrancisco current=10.3000002f64,voltage=219i32,phase=0.31f64 1626164208000";
try {
    tdengineUtil.writeSchemaless(
            lineData,
            SchemalessProtocolType.LINE,
            SchemalessTimestampType.MILLI_SECONDS
    );
} catch (SQLException e) {
    log.error("Exception@testSingleWrite", e);
}

这个时间值确认正确

时间是正确的。但所属 database 的 keep 值是多少呢? 应该超过了这个值的最早的时间。

请执行 show create database ;
加入 keep 设置的最多保存 2年,那么就最多只能写入2023.12.03 之后的数据了。这之前的数据都会是超出范围的了。

我是无模式写入,这是第一条,还等着他自动建表的

不表的参数控制,是 所属的 database 的 keep 参数控制的。

看到了

我是社区版, 我能对不同的超级表设置不同的Keep,然后子表就自动继承这个keep时间,让我子表的数据自动过期么, 这个功能对我们比较重要

超级表可以设置不同的keep值。请见官网文档中的超级表部分的描述,但有一个限制:超级表的 keep 参数需小于数据库的 keep 参数。

我测试了下Stable的keep,

我在Stable上增加了keep

但是这时候新建的子表,利用无模式写入进去,自动创建的子表,没有继承超级表的keep属性,也没有database设置的属性,

这个是不是不正常


我想知道怎么手动触发compact, 我好测试下数据删除逻辑

开源版没有 compact 功能,只有 企业版才有compact 功能。

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。