提问参考模版:
- nebula 版本:3.8
- 部署方式: 分布式 /
- 安装方式: RPM
- 是否上生产环境:Y
- 硬件信息
- CPU 16 、内存信息 128G
- 问题的具体描述
match进行变长路径查询时 graphd会崩溃 使用的是nebula-python3 客户端,客户端用的connectpool ,查询语句在nebula-consloe里可以查询结果
代码 / 终端输出 / 日志…
match (v:{uid:xxx}-(e:invest*1…8)->n return p
提问参考模版:
代码 / 终端输出 / 日志…
match (v:{uid:xxx}-(e:invest*1…8)->n return p
memory tracker 需要配下
老师 我感觉还是不太对
我的完整查询是这样的
match p=(v:{uid:xxx}-(e:invest*1…8)->(n)
with p,relationships(p) as rels ,nodes(p) as nodes
return
[i in range(0,size(rels)*2 |
case when i%2==0 then {uid:props(nodes[i/2]).uid,amount:props(amount)
else {uid:rels[i/2].uid,startnode:rels[i/2].startnode,endnode:rels[i/2].startnode}
这么写是因为我们项目是Janugraph迁移过来的 保持跟Janugraph返回一致的数据结构,避免应用层大量修改。
这个查询在console返回结果是7000多条 但是在python客户端里查询会导致graphd OOM
free -g 显示100多G 内存逐渐减少为0 感觉有内存溢出的问题,应该怎么排查