nebula查询有时候为空

  • nebula 版本:3.1.0
  • 部署方式:分布式
  • 安装方式:源码编译
  • 是否为线上版本:Y
  • 硬件信息
    • 磁盘 SSD
    • CPU 64核、内存256
  • 问题的具体描述
    在执行查询时候,有时候会遇到查询结果为空,但是无报错信息,第二次查询会出现结果。这种情况原因是啥,有没有优化方案

会不会是数据没同步,具体的查询语句是啥?是创建了索引的数据吗?

数据没同步什么意思。查询语句就普通的查询,比如 match (n:Nzrr{name:‘测试’}) return n。
有时候会遇到第一次查询无结果,但是第二次以及以后的查询就是正常的。

我的意思是,你可能在查询刚写入的数据?

索引建了,数据也是早就有的,他们查询使用的是studio,跟这个会不会有关系,或者你们遇到过类似的情况吗

研发同学等会回复你哈。

好的 谢谢

这个感觉很奇怪,如果写入数据请求已经返回的话,Raft 保证应该是能读到数据的。能再多给点信息吗?比如:

  1. 是否开了 follower read?
  2. 写入是否已经返回?是否有大批量写入?
  3. 数据量如何。

1.follower read在哪里配置,我看配置文件没找到这个配置
2.按开发反馈的信息是数据已经写入且存在的,
3.数据量大概2亿

完全无报错?是超时还是什么?日志有没有。给点信息。。。。

没有报错 就是第一次查的时候就是好像里面没有数据似的,返回为空值,后面再查,就有了

如果graph重启 会不会造成这种情况呢

graphd应该会拉取meta的最新数据,重启应该不影响的。
目前更考虑是工具的问题,如果可以复现的话是否可以通过console客户端来确认下也有这个问题呢?
另外可以看一下配置,是否开启了storage cache等。

也有可能是前端导致的,你可以用 nebula-console 测试下,看是否还有类似问题。