悬挂边导致find path 出现bug

  • nebula 版本:2.5
  • 部署方式(分布式 / 单机 / Docker / DBaaS):单机
  • 是否为线上版本:Y / N
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 问题的具体描述
  • 相关的 meta / storage / graph info 日志信息(尽量使用文本形式方便检索)

在使用 find path 时,带 with prop 发现返回的数据是null值,不带 with prop返回值是(xxxx)只有一个节点值。


仔细查看了数据发现是存在一部分的点只有vid,没有tag,所以出现该情况。
根据文档里的描述,删除tag如果是最后一个就会删除该点,所以理论上不会出现只有vid的点
数据是使用importer导入的,但是重试时没发现有问题,所以也找不到只有vid的点是怎么出现的了。。。
由于数据被覆盖了,现在的数据都带有tag,所以也没办法复现了。。。

我猜是悬挂边了

谢谢提醒,应该是的,2.5是有悬挂边。那这种情况find path 官方设计的是什么,是要这条路径还是不要呢。

按照设计思路是要这条路径的, 因为每一步拓展的时候是取边的 dst属性 作为下一次拓展的起始点, 这时候是 不知道点是否被删除了的

1 个赞

那可能是 with prop时,重新去查询了点,并没有校验点是否为空,直接set进去了,所以会把原本的vid替换成了空吧。

1 个赞

是的,这个应该校验一下,如果这个点不存在,vid 不需要覆盖, good catch, 可以帮忙提个issue,我们跟踪一下

1 个赞

thanks @codelone

浙ICP备20010487号