Nebula Studio可视化功能异常

  • nebula 版本:v1.1.0
  • nebula studio版本:v1.2.1 beta.
  • 部署方式(分布式 / 单机 / Docker / DBaaS):Docker
  • 问题的具体描述

使用Nebula Web Studio进行可视化功能。
图探索 → 按索引查询 → 限制数量,测试时限制数量5,搜索出若干结果。
选中5个结果中的任意一个,进行下一步拓展,具有一定概率弹窗提示成功,但是页面出现白屏。

使用Chrome浏览器,打开F12出现如下提示:
image

mark

1 个赞

missing 的这两个点有属性吗?应该跟这个问题类似?

补充第二步拓展语句:
image
Console执行结果:
image

看起来似乎好像不是同一个问题噢,按照那边的查错流程补充了一下我们这边的结果。。

应该是和上面我们同事发的链接是同一个问题,你可以查询报错的那个点
fetch prop on * 3337453698093402883看是不是返回空的。这个问题已经在 nebula 前几天发布的 1.2 版本修复了,你可以更新下看看

问题解决了吗?

有点蛋疼,我用的是内部修改版本的,要等内部将代码merge进去才行。。。辛苦你了,到时候有结果了再反馈哈。。

1 个赞

问题+1 图探索时同时探索两条边,如果其中一条边无数据,页面就会报错

可以更新下nebula,最新的nebula如果是空属性也会返回vid,这样页面可以正常展示,就是鼠标查看只有一个vid而已

1 个赞

已更新到V1.2版本的nebula。
换了一个数据测试,似乎还有这个问题,报错提示如下:
image

但是这次有点不太一样的是,这个点总共有18个相邻点;当结果数量限制为14以下(不含14)时,结果显示正常,当结果限制为14以上时,就会出现如上报错;
刚刚跟同事沟通了一下,好像还是空值的问题,这个问题前端可以绕开么?他们说很久以前的版本反而没这个问题?

顺便问一下,属性展示那里,有没有办法可以复制……
image
就被打码的那里…

请问当前使用的 studio 版本是多少

1.2.1 Beta.

更新日志
你可以把 studio 可更新到最新版本 v1.2.3,我们在支持悬挂边的同时也可以规避这个问题,你试下

1 个赞

你好,我在studio v1.2.7上也遇到了悬挂边导致的图探索拓展失败的问题,报错信息:


该问题在悬挂边存在时必现,在删除悬挂边后,双击扩展正常
nebula graph studio 版本信息:image (不清楚为什么没有beta)
部署方式:docker-compose
nebula版本信息:v1.2.1

这个报错应该不是悬挂边拓展时候的信息,你可以先把浏览器 console 页的信息清除,然后双击拓展看是否会弹出什么报错信息,也可以看一下 network 接口返回的数据里是否有边。我在本地用 docker 启动的 1.2.7 是可以正常显示悬挂边的。另:nebula 2.x 版本已经相对比较稳定了,建议提早切换到最新版本,1.x 版本已经逐渐暂停维护了

按照您的方案,我检查了network返回的边数据:


在存在悬挂边的时候,会返回一个很大的包体:

触发了上面提到过的413错误。

查看那个返回很大包体的POST请求,发现执行的是一条go from 语句(其他的边是fetch语句)

GO FROM 72066251302738284, -844200649065701752 OVER * BIDIRECT

其中72066251302738284和-844200649065701752是唯二的悬挂边目标点。
由于这两个点(虽然并不存在)属于超级节点因此返回的包体过大了。

所以我猜测studio在这里处理悬挂边的逻辑是否是将悬挂边目标点所连接的所有边捞出来进行显示?是否有办法限制这一跳搜索的数量(我尝试添加了limit但是似乎只在第一跳上有效,无法限制针对悬挂边的第二跳搜索)

如果是接口数据量大的问题,可以在 docker nginx 配置中修改下相关配置试下?

这边目前 studio 对悬挂边的处理逻辑是这样的

  1. 获取到拓展到的边和点,获取其具体属性
  2. 此时请求一批点,未返回数据。所以 studio 需要判断是这些点a,b,c是不存在的还是悬挂边目标点。
  3. 因为是批量查询a,b,c,所以查询 go from 获取到的信息还无法判断具体某一个点的状态,所以还需要依据刚刚的结果反向查询是否包含a,b,c。如果限制搜索数量的话返回结果就不准了

谢谢解答,问题已经理解了。看来应该是这个反向查询的逻辑查到被删除的超级顶点上了。

1 个赞