Neo.DatabaseError.General.UnknownError

Hey everyone,

In our neo4j.log we see a error exact every minute.

2018-09-10 14:56:02.151+0000 ERROR Client triggered an unexpected error [Neo.DatabaseError.General.UnknownError]: Relationship[74825438,used=false,source=-1,target=-1,type=-1,sCount=1,sNext=-1,tCount=1,tNext=-1,prop=-1,secondaryUnitId=-1, sFirst, tFirst] not in use, reference dfcb66b8-1a97-4714-99a8-9ff2203ab1bc.

Any suggestions on what this could be?

  • unbuntu 14 LTS
  • 3.4.7 ENT
  • BOLT/PHP

If you have a support account, please raise a ticket there.

Did you see any errors occurring before that came up first?
How long has this been going on?

It means that one of the records of the db is incorrect and should be fixed.

Either go via the support route or you can use the store-utils tool I wrote to run on a backup of your store and create a copy where that record is left out.

Hi Michael,

This started after we runned store-utils last night...

This is de debug.log on the first time it happend:

2018-09-09 23:57:01.599+0000 ERROR [o.n.b.v.r.ErrorReporter] Client triggered an unexpected error [Neo.DatabaseError.General.UnknownError]: Relationship[74825438,used=false,source=-1,target=-1,type=-1,sCount=1,sNext=-1,tCount=1,tNext=-1,prop=-1,secondaryUnitId=-1, sFirst, tFirst] not in use, reference 6f0094cf-7869-4625-bd68-8baf60f574aa.
2018-09-09 23:57:01.599+0000 ERROR [o.n.b.v.r.ErrorReporter] Client triggered an unexpected error [Neo.DatabaseError.General.UnknownError]: Relationship[74825438,used=false,source=-1,target=-1,type=-1,sCount=1,sNext=-1,tCount=1,tNext=-1,prop=-1,secondaryUnitId=-1, sFirst, tFirst] not in use, reference 6f0094cf-7869-4625-bd68-8baf60f574aa. Relationship[74825438,used=false,source=-1,target=-1,type=-1,sCount=1,sNext=-1,tCount=1,tNext=-1,prop=-1,secondaryUnitId=-1, sFirst, tFirst] not in use
org.neo4j.kernel.impl.store.InvalidRecordException: Relationship[74825438,used=false,source=-1,target=-1,type=-1,sCount=1,sNext=-1,tCount=1,tNext=-1,prop=-1,secondaryUnitId=-1, sFirst, tFirst] not in use
	at org.neo4j.kernel.impl.store.record.RecordLoad.verify(RecordLoad.java:63)
	at org.neo4j.kernel.impl.store.CommonAbstractStore.verifyAfterReading(CommonAbstractStore.java:1188)
	at org.neo4j.kernel.impl.store.CommonAbstractStore.readIntoRecord(CommonAbstractStore.java:1062)
	at org.neo4j.kernel.impl.store.CommonAbstractStore.getRecord(CommonAbstractStore.java:1021)
	at org.neo4j.kernel.impl.transaction.state.Loaders$3.load(Loaders.java:219)
	at org.neo4j.kernel.impl.transaction.state.Loaders$3.load(Loaders.java:209)
	at org.neo4j.kernel.impl.transaction.state.RecordChanges.getOrLoad(RecordChanges.java:68)
	at org.neo4j.kernel.impl.transaction.state.RelationshipDeleter.disconnect(RelationshipDeleter.java:81)
	at org.neo4j.kernel.impl.transaction.state.RelationshipDeleter.disconnectRelationship(RelationshipDeleter.java:68)
	at org.neo4j.kernel.impl.transaction.state.RelationshipDeleter.relDelete(RelationshipDeleter.java:58)
	at org.neo4j.kernel.impl.transaction.state.TransactionRecordState.relDelete(TransactionRecordState.java:281)
	at org.neo4j.kernel.impl.storageengine.impl.recordstorage.TransactionToRecordStateVisitor.visitDeletedRelationship(TransactionToRecordStateVisitor.java:102)
	at org.neo4j.storageengine.api.txstate.TxStateVisitor$Delegator.visitDeletedRelationship(TxStateVisitor.java:195)
	at org.neo4j.storageengine.api.txstate.TxStateVisitor$Delegator.visitDeletedRelationship(TxStateVisitor.java:195)
	at org.neo4j.kernel.api.txstate.TransactionCountingStateVisitor.visitDeletedRelationship(TransactionCountingStateVisitor.java:106)
	at org.neo4j.kernel.impl.api.state.TxState$8.visitRemoved(TxState.java:287)
	at org.neo4j.kernel.impl.api.state.TxState$8.visitRemoved(TxState.java:283)
	at org.neo4j.kernel.impl.util.diffsets.SuperDiffSets.accept(SuperDiffSets.java:70)
	at org.neo4j.kernel.impl.util.diffsets.RelationshipDiffSets.accept(RelationshipDiffSets.java:39)
	at org.neo4j.kernel.impl.api.state.TxState.accept(TxState.java:206)
	at org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine.createCommands(RecordStorageEngine.java:307)
	at org.neo4j.kernel.impl.api.KernelTransactionImplementation.commit(KernelTransactionImplementation.java:643)
	at org.neo4j.kernel.impl.api.KernelTransactionImplementation.closeTransaction(KernelTransactionImplementation.java:550)
	at org.neo4j.internal.kernel.api.Transaction.close(Transaction.java:189)
	at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State.closeTransaction(TransactionStateMachine.java:407)
	at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State$1.streamResult(TransactionStateMachine.java:292)
	at org.neo4j.bolt.v1.runtime.TransactionStateMachine.streamResult(TransactionStateMachine.java:104)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$3.pullAll(BoltStateMachine.java:508)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.pullAll(BoltStateMachine.java:267)
	at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onPullAll$6(BoltMessageRouter.java:114)
	at org.neo4j.bolt.runtime.MetricsReportingBoltConnection.lambda$enqueue$0(MetricsReportingBoltConnection.java:69)
	at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:195)
	at org.neo4j.bolt.runtime.MetricsReportingBoltConnection.processNextBatch(MetricsReportingBoltConnection.java:87)
	at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:143)
	at org.neo4j.bolt.runtime.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:170)
	at org.neo4j.bolt.runtime.ExecutorBoltScheduler.lambda$scheduleBatchOrHandleError$2(ExecutorBoltScheduler.java:153)
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Did you run consistency check on the store after running store-utils?