因为里面有些反向边,你用的是 bidirect,假如你里面有下面几条边
“12” → “13”
“12” ← “14”
那么你查出来的 src都是 12,但是删除 “12” ← “14” 这条边的时候,他的src实际是 “14” 不是 “12”,所以你的反向边 相当于没有删除的。
你要同时删除正向和反向边,你可以正向查和反向查进行 union,如下
(GO FROM "12" OVER konws YIELD konws._src as src, konws._dst as dst, konws._rank as rank UNION GO FROM "12" OVER konws REVERSELY YIELD konws._dst as src, konws.src as dst, konws._rank as rank) | DELETE ……
2 个赞
我心思全花在测试结果上了, 忽略了这些细节, sorry 感谢回复
这下有个问题, 应该是我解决不掉了的,
我删除100W+ 点, 里面可能有超级节点, 删除报错了, 之后查询也报错了, 是不是删除失败后数据损坏了???
之后的每次查询都会有日志报错
删除报错之后的机器监控有点异常
看下.3 这个storage是否还在,在的话,贴下这个storage的info日志,看日志,应该是挂了
不行了, 刚刚不知道后台在干啥, 一直在写/var/docker/… 我的满了, 我已经先停止所有服务了, 不知道后续能不能起来还
我已经重启所有服务了, 可以查了 但是再查, 发现一条也没删除, 这个正常吗??/ 官网不是说不保证原子性吗?
go 在拿 “13” 的出边的时候就失败了,还没到后面delete,所以一个都没有删除。
1 个赞
我只删除一个100W关系的节点就很快, 我刚刚那个写法, 可能是删除100W+ 个超级节点
你上面是删除通过go查出来的所有点,这个肯定很慢,可能整个space都快被删完
但是我只是1 steps 也就相当于删除100W+ 节点啊
我想测这个
min.wu
2021 年5 月 10 日 11:07
33
时间都是浪费在 GO 和 | 上,而不是 DELETE上了。
找到这100万个点并序列化花的时间远多于DELETE的时间。
1 个赞
你好, dingding
这种match 的where in…写法为啥这么慢呢?
1 个赞
== 的时候,这个 filter 是能推到 storage的,但是 in 的时候是没有推不下去,所以是把数据捞回来再做 filter,所以就会超时。
3 个赞
你好, dingding
我这有个疑问哈, 记得你上次给我说过, 默认的配置, 是删除space是不会删除对应的目录的,需要配置auto…这个参数, 我已经配置了, 然后删除了一个space, 紧接着手动执行了, SUBMIT JOB COMPACT, 完成后,对应的space目录没有删除, 这是为啥呢>?
这样update不行吗?? docker swarm 怎么重启呢?? 我之前都是rm了后再启动所有的
直接docker restart nebula_storaged0