Session not existed!、graph节点挂掉

  • nebula 版本:nebula-graph-3.0.1.el7.x86_64
  • 部署方式:分布式
  • 安装方式: RPM
  • 是否为线上版本: N
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 问题的具体描述
    1、业务需要可能需要在循环中不断的从数据库查询,使用的是match语法,但是在这个循环查询的过程中graph的错误日志文件中有以下的错误日志,每次的查询都是获取新的session,查询完释放session。虽然有这个错误日志,但业务数据都正常,布置以下的报错是因何产生的
E20220413 00:35:45.612673  4012 GraphSessionManager.cpp:222] Update sessions failed: Session not existed!
E20220413 00:35:45.612728  4018 GraphSessionManager.cpp:246] Update sessions failed: Update sessions failed: Session not existed!
E20220413 00:42:15.930306  4011 GraphSessionManager.cpp:222] Update sessions failed: Session not existed!
E20220413 00:42:15.930362  4018 GraphSessionManager.cpp:246] Update sessions failed: Update sessions failed: Session not existed!

2、大数据量的查询会导致graph节点服务宕机,此时storage服务无法正常的停止,始终是在 nebula-storaged already running: xxxxx。只有暴力的kill -9 xxxx才能停止服务,请问该怎么优化服务的部署???

你补充下大数据量的话大概是什么数据级别的,以及你的机器配置也贴一下,还有导致大数据量查询会宕机的语句也贴一下。

问题1可以先帮分析一下,第二个问题需要后续的跟踪收集相关数据,机器配置开发环境:内存32G,硬盘500G,虚拟机

1 个赞

复现了一下grap节点宕机(问题2),查询语句如下:
Match p=(v:xxxx) -[e:xxxx] - (v2:xxxx) – (v3:xxxx) – (v4:xxxx) WHERE id(v) ==‘xxxx’ and e.degree >= 0.008000 return p,v2.xxxx as xxxx,e.xx as xx ,v3.xxx as xxx ,v3.xxxx.xxx as xxx ,v3.xxxx.xxx as xxx,v4.xxxx.xxx as xxx ,v4.xxxx.xxx as xxxx order by xxxx desc limit 50;
数据量:
v:16238
e:1358608
v2:16238,同v
v3:269
v4:13

linux内核内存:
vm.swappiness = 0
vm.min_free_kbytes=1024000
vm.max_map_count=262144
内存32G,这边vm.min_free_kbytes设置多大??

  1. session强烈建议在客户端服用,并设置过期时间
  2. server需要等待任务结束才能退出,如果graph因为大查询oom,只需要重启graph即可,storage不需要重启
1 个赞

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