【问题标题】:Does Neo4j / Gremlin execute queries twice (or more) sometimes?Neo4j / Gremlin 有时会执行两次(或更多)查询吗?
【发布时间】:2013-09-19 15:04:17
【问题描述】:

我查询通过 Rest 向 Neo4J 发送长时间运行的 gremlin / groovy 查询,它有时会执行两次(或更多)。我通过在此处“FB9ADF2A-FB4B-42FB-884B-F31C87EE200D”为查询提供一个 uniq id 作为参数来确保它是同一个查询。我已经想出了一种方法来防止这种情况发生,我使用某种锁定机制,但这感觉很难看。

这被认为是正常行为,还是由 Apache 代理服务器创建的?还是 Neo4J 本身?

2013-09-19 14:49:01.986+0000 信息 [o.n.k.EmbeddedGraphDatabase]:启动 FB9ADF2A-FB4B-42FB-884B-F31C87EE200D 2013-09-19 16:46:04 FindAllRoots 2013-09-19 14:52:21.993+0000 信息 [o.n.k.EmbeddedGraphDatabase]:启动 FB9ADF2A-FB4B-42FB-884B-F31C87EE200D 2013-09-19 16:46:04 FindAllRoots

【问题讨论】:

  • 对我来说听起来很奇怪。您确定您没有提出两次请求吗?
  • 没有任何代码,任何答案都将是纯粹的猜测......
  • 再次访问该问题后,我找到了它的来源:我向 Neo4j 发出的查询运行时间很长......(几分钟)同时我使用的 Apache 代理假设有问题并发出两次相同的请求。

标签: apache rest groovy neo4j gremlin


【解决方案1】:

您的查询似乎在大约 3 分钟后断开,这是 Jetty 超时。您的 http 库可能会在断开连接后重新提交查询。我在使用neography时遇到了同样的事情,因为底层的httpclient库在长时间查询断开连接时会重新提交查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-05
    • 2020-06-26
    • 2020-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    相关资源
    最近更新 更多