Neo4j中的“协议握手期间发生致命错误:对等方重置连接”

时间:2018-11-20 15:03:51

标签: neo4j cypher spring-data-neo4j neo4j-ogm neo4j-apoc

运行Cypher批处理语句(在CALL apoc.periodic.iterate()的{​​{1}}注释中的@Query),经过几个小时的计算,我反复遇到以下错误情况。 Neo4j 3.4.9,企业版。

Neo4j debug.log

Neo4jRepository

Spring Boot上下文

2018-11-20 13:09:50.297+0000 ERROR [o.n.b.t.p.ProtocolHandshaker] Fatal error occurred during protocol handshaking: [id: 0x7035fd8f, L:/127.0.0.1:7687 - R:/127.0.0.1:56319] Connection reset by peer
java.io.IOException: Connection reset by peer
    at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
    at sun.nio.ch.IOUtil.read(IOUtil.java:192)
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
    at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1108)
    at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:345)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
    at java.lang.Thread.run(Thread.java:748)

应用程序服务器和Neo4j服务器都在同一台计算机上运行,​​因此我将有关“网络不稳定性”的错误消息假设误导为误导。

在一切正常运行数小时后,与Neo4j的数据库连接突然丢失的原因是什么?如何修复Neo4j服务器不受控制的硬终止?

1 个答案:

答案 0 :(得分:0)

如果您在Neo4j中还遇到错误情况“协议握手期间发生致命错误:对等连接重置”,则以下步骤可能会帮助您找到来源:

  • 激活并检查garbage collection logs(非常感谢@meistermeier)
  • 通过bin/neo4j-admin check-consistency --database=graph.db more info
  • 检查数据库的一致性

在一天结束时,缺少事务日志可能是数据库损坏的原因,该数据库是由完整的硬盘触发的。我不得不从头开始删除并建立数据库。从那以后,一切恢复正常。