Neo4j 创建新节点时ResourceAcquisitionFailedException
我所处理的应用程序的用户正在使用neo4j 2.1.1报告此特殊异常。这似乎是零星的,难以复制。这是一个已知的问题,还是与任何特定的误用或错误有关?我很想提供更多关于如何复制的信息,但我不能Neo4j 创建新节点时ResourceAcquisitionFailedException,neo4j,Neo4j,我所处理的应用程序的用户正在使用neo4j 2.1.1报告此特殊异常。这似乎是零星的,难以复制。这是一个已知的问题,还是与任何特定的误用或错误有关?我很想提供更多关于如何复制的信息,但我不能 SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [/plus] threw exception org.neo4j.kernel.impl.persistence.ResourceAcquisi
SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [/plus] threw exception
org.neo4j.kernel.impl.persistence.ResourceAcquisitionFailedException: TM encountered an unexpected error condition.
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.enlist(PersistenceManager.java:412)
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.forWriting(PersistenceManager.java:394)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.ensureWriteTransaction(KernelTransactionImplementation.java:190)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.upgradeToDataTransaction(KernelTransactionImplementation.java:220)
at org.neo4j.kernel.impl.api.KernelStatement.dataWriteOperations(KernelStatement.java:83)
at org.neo4j.kernel.InternalAbstractGraphDatabase.createNode(InternalAbstractGraphDatabase.java:1107)
at org.mitre.provenance.db.neo4j.Neo4JStorage.store(Neo4JStorage.java:1101)
创建此stacktrace的代码非常简单:
Node n = null;
try (Transaction tx = db.beginTx()) {
n = db.createNode();
// Lots of extra code snipped here because it never makes it that far...
}
SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [/plus] threw exception
org.neo4j.kernel.impl.persistence.ResourceAcquisitionFailedException: TM encountered an unexpected error condition.
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.enlist(PersistenceManager.java:412)
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.forWriting(PersistenceManager.java:394)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.ensureWriteTransaction(KernelTransactionImplementation.java:190)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.upgradeToDataTransaction(KernelTransactionImplementation.java:220)
at org.neo4j.kernel.impl.api.KernelStatement.dataWriteOperations(KernelStatement.java:83)
at org.neo4j.kernel.InternalAbstractGraphDatabase.createNode(InternalAbstractGraphDatabase.java:1107)
at org.mitre.provenance.db.neo4j.Neo4JStorage.store(Neo4JStorage.java:1101)
异常似乎是在createNode()
方法上引发的:
SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [/plus] threw exception
org.neo4j.kernel.impl.persistence.ResourceAcquisitionFailedException: TM encountered an unexpected error condition.
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.enlist(PersistenceManager.java:412)
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.forWriting(PersistenceManager.java:394)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.ensureWriteTransaction(KernelTransactionImplementation.java:190)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.upgradeToDataTransaction(KernelTransactionImplementation.java:220)
at org.neo4j.kernel.impl.api.KernelStatement.dataWriteOperations(KernelStatement.java:83)
at org.neo4j.kernel.InternalAbstractGraphDatabase.createNode(InternalAbstractGraphDatabase.java:1107)
at org.mitre.provenance.db.neo4j.Neo4JStorage.store(Neo4JStorage.java:1101)
(这里截取了大量与servlet相关的异常)
SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [/plus] threw exception
org.neo4j.kernel.impl.persistence.ResourceAcquisitionFailedException: TM encountered an unexpected error condition.
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.enlist(PersistenceManager.java:412)
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.forWriting(PersistenceManager.java:394)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.ensureWriteTransaction(KernelTransactionImplementation.java:190)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.upgradeToDataTransaction(KernelTransactionImplementation.java:220)
at org.neo4j.kernel.impl.api.KernelStatement.dataWriteOperations(KernelStatement.java:83)
at org.neo4j.kernel.InternalAbstractGraphDatabase.createNode(InternalAbstractGraphDatabase.java:1107)
at org.mitre.provenance.db.neo4j.Neo4JStorage.store(Neo4JStorage.java:1101)
在底部,有以下内容:
SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [/plus] threw exception
org.neo4j.kernel.impl.persistence.ResourceAcquisitionFailedException: TM encountered an unexpected error condition.
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.enlist(PersistenceManager.java:412)
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.forWriting(PersistenceManager.java:394)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.ensureWriteTransaction(KernelTransactionImplementation.java:190)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.upgradeToDataTransaction(KernelTransactionImplementation.java:220)
at org.neo4j.kernel.impl.api.KernelStatement.dataWriteOperations(KernelStatement.java:83)
at org.neo4j.kernel.InternalAbstractGraphDatabase.createNode(InternalAbstractGraphDatabase.java:1107)
at org.mitre.provenance.db.neo4j.Neo4JStorage.store(Neo4JStorage.java:1101)
Caused by: javax.transaction.RollbackException: Tx status is: STATUS_MARKED_ROLLBACK
at org.neo4j.kernel.impl.transaction.TransactionImpl.enlistResource(TransactionImpl.java:191)
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.enlist(PersistenceManager.java:405)
... 45 more
自2.1.1以来,已经应用了很多修复程序,因此请确保在最新的稳定版本(从今天起为2.1.4)上运行。如果问题仍然存在2.1.4,考虑在提交一个GITHUB问题,我也有同样的问题。我的堆栈跟踪对于所有org.neo4j.kernel代码都是相同的,除了一些源文件位置的不同行号。我正在运行neo4j 2.1.6。你找到解决办法了吗?@JohnDeverall升级后,我无法重现这个问题。所以我没有用Stefan的答案来解决这个问题,但是我不再有这个问题了。由于它的间歇性,我也很难复制它。我想知道你现在运行的是哪个版本的neo4j?好吧,已经有一段时间了……我想当我从2.1.1=>2.1.6开始运行时,它就消失了。但要明确的是,我不是说它消失了,只是说我无法复制。我也得到了这个。我的版本是2.1.7。从TimerTask修改属性时失败。
SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [/plus] threw exception
org.neo4j.kernel.impl.persistence.ResourceAcquisitionFailedException: TM encountered an unexpected error condition.
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.enlist(PersistenceManager.java:412)
at org.neo4j.kernel.impl.persistence.PersistenceManager$ResourceHolder.forWriting(PersistenceManager.java:394)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.ensureWriteTransaction(KernelTransactionImplementation.java:190)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.upgradeToDataTransaction(KernelTransactionImplementation.java:220)
at org.neo4j.kernel.impl.api.KernelStatement.dataWriteOperations(KernelStatement.java:83)
at org.neo4j.kernel.InternalAbstractGraphDatabase.createNode(InternalAbstractGraphDatabase.java:1107)
at org.mitre.provenance.db.neo4j.Neo4JStorage.store(Neo4JStorage.java:1101)