当查询超时值较高时,AWS Neptune 抛出超时错误

问题描述

我在 AWS neptune 上运行 gremlin 查询,通常需要 2.5 分钟才能获得结果, 我保留了我的 neptune_query_timeout = 500000 ,海王星引擎版本是 1.0.4.1

最近我在我的同一个查询中看到这个错误,它以前可以正常工作-

{'error': TimeoutError('Operation timed out after 30 seconds',)}

在我看来,对海王星的实际查询没有超时,我已经在配置文件中保留了 500000 的长时间超时,并且它以前可以正常工作。

最近我看到了上述错误,但不知道如何克服这个错误


已编辑

图形看起来像

用户(节点)----玩过(边缘)----->游戏(节点)

所以我试图运行的实际查询是这个-

g.V().hasLabel('users').where(outE('played').count().is(gt(10)))

它运行良好,并为我提供了所有玩过 10 次以上的用户,或者换句话说,来自用户节点的“玩过”边有 10 个或更多。

但是当我只想要用户数并修改如下查询时,我遇到了超时错误

g.V().hasLabel('transient_id').where(outE('visited').count().is(gt(10))).count().next()

感谢任何帮助,谢谢

解决方法

Apache TinkerPop Gremlin Python 客户端的 3.4.9 版本存在问题,导致任何查询在 30 秒时超时(客户端)。从问题上的标签来看,您似乎正在使用 Gremlin Python。该问题现已在 Apache TinkerPop 的 3.4.10 版本中得到解决。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...