nebula 2.6 ttl int类型未生效

  • nebula 版本:2.6.1

  • 部署方式:分布式

  • 安装方式: RPM

  • 是否为线上版本: N

  • int类型字段设置 ttl 属性,过期依然可以查询到

  • 过期数据 match 查询不到,但 fetch 依然可以查询出来

  • ttl 的设置如何查询,desc tag 无法查看

ttl 过期的数据要等下一次 compaction 才会被清除。

你也可以手动 compact 哈,参考文档 Compaction - Nebula Graph Database 手册

这是bug吧

int类型字段设置 ttl 属性,过期依然可以查询到;手动compact,match 依然能查询出来

sorry,来迟了,我们记录了个 issue:https://github.com/vesoft-inc/nebula/issues/3923 ,如果 issue 被修复了我来更新下帖子哈。

你好,我用最新的版本测试了下,fetch 和match 都ok。
没有使用ttl,有数据
create tag player1(age int);
show create tag player1;
create tag index player1_index on player1(age);

insert vertex player1(age) values “11”:(1);
insert vertex player1(age) values “22”:(2);
insert vertex player1(age) values “33”:(3);
insert vertex player1(age) values “44”:(4);

rebuild tag index player1_index
FETCH PROP ON player1 “11” yield player1.age;
MATCH (v:player1) return v;
MATCH (v:player1) where v.player1.age == 1 return v;

使用了ttl,没有数据
create tag player(age int) ttl_duration= 100, ttl_col = “age”;
create tag index player_index on player(age);
show create tag player;

insert vertex player(age) values “11”:(1);
insert vertex player(age) values “22”:(2);
insert vertex player(age) values “33”:(3);
insert vertex player(age) values “44”:(4);

rebuild tag index player_index

FETCH PROP ON player “11” yield player.age;

MATCH (v:player) return v;

tag或者edge属性信息,最好通过show create tag/edge 语法来看,他能看到全部的信息。
desc 不显示 ttl 等tag的属性。

问题依然存在,已经回复到github, https://github.com/vesoft-inc/nebula/issues/3923#issuecomment-1141843861

你的 Nebula 版本是多少,按照 issue 的 milestone,在 v3.1.0 版本修复了

v3.3.1
你可以用下面的语句试试。

create tag pp(age int) ttl_duration= 10, ttl_col = “age”;
insert vertex pp(age) values “pp11”:(now());
// 10秒后再执行以下语句查询
FETCH PROP ON pp “pp11” yield properties(vertex);

这应该是 Studio 的版本吧,Nebula 内核最新的才 v3.1,你试试用 show hosts 看下内核的版本号。

过一会fetch下呢?

依然能查到,看截图,当前时间已经比属性值大1764秒了,依然能查到,ttl_duration只设置了10秒。