如果事务未关闭,Neo4j 数据库将被锁定

Neo4j Database gets locked up if Transaction is not closed

这个问题我很久没遇到了。如果 Neo4j 事务没有正确关闭(提交或回滚)(这可能是因为异常,或者事务中间的 die/exit 等),那么 Neo4j 不会释放锁。

为了解决这个问题,我需要停止 Neo4j 并重新启动 Neo4j。这不应该是必需的。

我在 Server Configurations 检查它有一个配置 org.neo4j.server.transaction.timeout=60 说默认是 60 秒。因此,如果默认情况下此设置对我有效,那么应该会发生 60 秒超时。

如何查看数据库是否被锁定?如何使用代码或配置轻松避免或删除数据库锁定?我正在使用最新的 Neo4j 2.2.3。

您需要仔细检查您使用的驱动程序是否适用于 transactional Cypher endpoint。超时仅适用于那个。

所以我怀疑您使用的 old cypher endpoint 不知道超时。