Storage Error: The leader has changed. Try again later

  • nebula 版本:(为节省回复者核对版本信息的时间,首次发帖的版本信息记得以截图形式展示)
  • 部署方式(分布式 / 单机 / Docker / DBaaS):k8s
  • 是否为线上版本:Y
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • 2CPU、4G
  • 问题的具体描述
    使用match return语句和match return count()语句,频繁出现报错,报错信息为:
    execute failure, error message: Storage Error: The leader has changed. Try again later

单机部署的吗?磁盘是 SSD 的?做 match 查询的时候大概数据量是什么一个级别呢,然后贴下具体的查询语句。

部署方式(分布式 / 单机 / Docker / DBaaS):k8s分布式部署
是否为线上版本:Y
硬件信息
磁盘使用的是:普通的HDD
存储:rock ceph
2CPU、4G内存
现存数据量:800M
执行语句:MATCH p=(v)<-[r:blood1…1]-(v2) WHERE id(v) IN [“xxx”] RETURN p
match p=(v)<-[r:blood
1]-(v2) WHERE id(v) IN [“xxx”] RETURN count(distinct v2)

graphd的报错日志,在某个时间段内,storage一直在选举leader:

节点的分布状况,从图上看,节点分布是不均匀的:

先看leader是真变了还是没有变,只是在报错,很有可能是现在代码处理超时那块导致报错。据我知道的,现在leader其实很少变。超时逻辑有PR了 最近会改

1 个赞

哦 看到MATCH了 那……大概率超时

我们这边看日志了,就是leader节点挂了,然后有自己恢复了。
那怎么优化呢,我们现在的需求就是查路径和点数

oom的话需要限制超级节点

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