Neo4j 500并发写入时发生内部服务器错误

Neo4j 500并发写入时发生内部服务器错误,neo4j,graph-databases,neo4jclient,nosql,Neo4j,Graph Databases,Neo4jclient,Nosql,在对Neo4j执行并发写入时,我偶尔会遇到500个内部服务器错误。下面的查询示例 MATCH (u1:User {id:{id1}}) MATCH (u2:User {id:{id2}}) MERGE (u1)-[:FOLLOWS]->(u2) 对于非常受欢迎的用户,您可以体验到为u2节点创建大量并发关系 此时,我正在显式地处理死锁检测异常,并有一个重试逻辑。但有时我会从服务器上得到500个响应体 <html> <head><title>5

在对Neo4j执行并发写入时,我偶尔会遇到500个内部服务器错误。下面的查询示例

MATCH (u1:User {id:{id1}})
MATCH (u2:User {id:{id2}})
MERGE (u1)-[:FOLLOWS]->(u2)
对于非常受欢迎的用户,您可以体验到为
u2
节点创建大量并发关系

此时,我正在显式地处理死锁检测异常,并有一个重试逻辑。但有时我会从服务器上得到500个响应体

 <html>
     <head><title>500 Internal Server Error</title></head>
     <body bgcolor="white">
         <center><h1>500 Internal Server Error</h1></center>
         <hr><center>nginx</center>
      </body>
 </html>

500内部服务器错误
500内部服务器错误

nginx

这让我不知道服务器上发生了什么。如果我处理它并执行重试,一切都会正常工作。但这看起来相当狡猾,因为我基本上猜测在这个特定的案例中发生了死锁,这可能是错误的,与实际的服务器错误无关。

这个问题与我们的ngnix box配置有关,它在某些情况下给出了generic 500,而不是传播
死锁检测异常
与我们的ngnix-box配置相关,它在某些情况下提供了generic 500,而不是传播
死锁检测异常

,奇怪的是,您从nginx得到了一个html响应。这是来自neo4j的真实http响应吗?@christophe willemsen我正在使用.net Neo4Client作为驱动程序。我的理解是(从客户端源代码)这个html作为http响应原因短语从neo4j返回。奇怪的是,您从nginx得到了一个html响应。这是来自neo4j的真实http响应吗?@christophe willemsen我正在使用.net Neo4Client作为驱动程序。我的理解是(从客户端源代码)这个html作为http响应原因短语从neo4j返回。