我有Batch Inserter
在Neo4j
中构建数据模型,但我在节点之间创建relationship
时遇到错误,而不是所有relationships
,而是其中一些org.neo4j.kernel.impl.nioneo.store.InvalidRecordException: RelationshipRecord[someID] not in use
。
以下是例外:
long relId = inserter.createRelationship(node1ID, node2ID,RelTypes.My_REL,node1TOnode2RelProps);
并且它被抛入该行:
org.neo4j.kernel.impl.nioneo.store.InvalidRecordException: RelationshipRecord[454889] not in use
at org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getRecord(RelationshipStore.java:254)
at org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getRecord(RelationshipStore.java:87)
at org.neo4j.unsafe.batchinsert.BatchInserterImpl.connect(BatchInserterImpl.java:783)
at org.neo4j.unsafe.batchinsert.BatchInserterImpl.connectRelationship(BatchInserterImpl.java:773)
at org.neo4j.unsafe.batchinsert.BatchInserterImpl.createRelationship(BatchInserterImpl.java:758)
at com.arrow.cloud.rec.bl.threads.PassRelationCall.buildPassRelation(PassRelationCall.java:395)
at com.arrow.cloud.rec.bl.threads.PassRelationCall.call(PassRelationCall.java:51)
at com.arrow.cloud.rec.bl.threads.PassRelationCall.call(PassRelationCall.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
任何帮助将不胜感激..
这是stacktrace
{{1}}
答案 0 :(得分:0)
您是否在批量插入中使用多个线程?如果是这样,事情就会破裂。我在堆栈跟踪中发现了一个ThreadPoolExecutor,这就是我问的原因。