唯一性约束导致Neo4J挂起?

时间:2017-10-12 13:28:41

标签: neo4j cypher hang unique-constraint

这个简单的Cypher代码在新的空Neo4J图形上输入到Web界面,导致整个服务器挂起。

CREATE CONSTRAINT ON (u:URL) ASSERT u.URL IS UNIQUE;

然后我必须做

sudo service neo4j stop
sudo rm -rf /var/lib/neo4j/data/databases/graph.db
sudo service neo4j start

修复它。停止服务大约需要1分钟。

debug.log的结尾显示:

2017-10-12 13:29:17.245+0000 INFO [o.n.k.i.DiagnosticsManager] --- SERVER STARTED END ---
2017-10-12 13:29:56.701+0000 INFO [o.n.k.i.a.i.IndexPopulationJob] Index population started: [:Book(isbn) [provider: {key=lucene, version=1.0}]]
2017-10-12 13:29:57.088+0000 INFO [o.n.k.i.a.i.IndexPopulationJob] Completed node store scan. Flushing all pending updates.
BatchingMultipleIndexPopulator{activeTasks=0, executor=java.util.concurrent.ThreadPoolExecutor@1cf9354b[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], batchedUpdates = [], queuedUpdates = 0}
2017-10-12 13:29:57.088+0000 INFO [o.n.k.i.a.i.IndexPopulationJob] Shutting down executor.
BatchingMultipleIndexPopulator{activeTasks=0, executor=java.util.concurrent.ThreadPoolExecutor@1cf9354b[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], batchedUpdates = [], queuedUpdates = 0}
2017-10-12 13:51:15.551+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Check Pointing triggered by scheduler for time threshold [4]:  Starting check pointing...
2017-10-12 13:51:15.552+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Check Pointing triggered by scheduler for time threshold [4]:  Starting store flush...

(它显示了尝试索引:Book因为我在约束文档中尝试了规范示例)

在挂起几个小时后关闭挂起的服务器会将一堆这些错误触发到debug.log中:

2017-10-12 16:38:26.083+0000 ERROR [o.n.b.v.t.BoltProtocolV1] Failed to write response to driver Cannot write to buffer when closed
java.io.IOException: Cannot write to buffer when closed
        at org.neo4j.bolt.v1.transport.ChunkedOutput.ensure(ChunkedOutput.java:163)
        at org.neo4j.bolt.v1.transport.ChunkedOutput.writeShort(ChunkedOutput.java:94)
        at org.neo4j.bolt.v1.packstream.PackStream$Packer.packStructHeader(PackStream.java:427)
        at org.neo4j.bolt.v1.messaging.BoltResponseMessageWriter.onFailure(BoltResponseMessageWriter.java:91)
        at org.neo4j.bolt.v1.messaging.MessageProcessingHandler.publishError(MessageProcessingHandler.java:46)
        at org.neo4j.bolt.v1.messaging.MessageProcessingHandler.onFinish(MessageProcessingHandler.java:107)
        at org.neo4j.bolt.v1.runtime.BoltStateMachine.after(BoltStateMachine.java:103)
        at org.neo4j.bolt.v1.runtime.BoltStateMachine.run(BoltStateMachine.java:199)
        at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onRun$3(BoltMessageRouter.java:80)
        at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.execute(RunnableBoltWorker.java:130)
        at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.run(RunnableBoltWorker.java:91)
        at java.lang.Thread.run(Thread.java:748)

没有处理器研磨。我使用apt-get安装。

我在Ubuntu 16.04,内核4.4.0上运行Neo4J Community 3.2.6。

我在这里遗漏了一些明显的东西,还是应该提交错误报告?

0 个答案:

没有答案