bert
bert

Reputation: 7696

neo4j not starting after disk full

My neo4j server fails to start after I had a 'no space left on device' error. Unfortunately, the last backup is 2 days old. This is neo4j 2.0.0 used in a webapp via spring-data-neo4j. Is there anything that can be done to recover the database? The log is attached, but I guess its to generic to give real help.

 org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@39931f5e' was successfully initialized, but failed to start. Please see attached cause exception.
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:509) ~[neo4j-kernel-2.0.1.jar:2.0.1]
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) ~[neo4j-kernel-2.0.1.jar:2.0.1]
    at org.neo4j.kernel.impl.transaction.XaDataSourceManager.start(XaDataSourceManager.java:164) ~[neo4j-kernel-2.0.1.jar:2.0.1]
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:503) ~[neo4j-kernel-2.0.1.jar:2.0.1]
    ... 68 common frames omitted

Caused by: java.lang.IllegalArgumentException: null at java.nio.Buffer.limit(Buffer.java:267) ~[na:1.7.0_71] at org.neo4j.kernel.impl.util.IoPrimitiveUtils.readAndFlip(IoPrimitiveUtils.java:122) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.nioneo.xa.Command.readDynamicRecord(Command.java:326) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.nioneo.xa.Command.readDynamicRecords(Command.java:279) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.nioneo.xa.Command.readPropertyBlock(Command.java:249) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.nioneo.xa.Command$PropertyCommand.readPropertyRecord(Command.java:1022) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.nioneo.xa.Command$PropertyCommand.readFromFile(Command.java:965) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.nioneo.xa.Command.readCommand(Command.java:1456) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource$CommandFactory.readCommand(NeoStoreXaDataSource.java:505) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.transaction.xaframework.LogIoUtils.readTxCommandEntry(LogIoUtils.java:177) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.transaction.xaframework.LogIoUtils.readLogEntry(LogIoUtils.java:114) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.transaction.xaframework.LogIoUtils.readEntry(LogIoUtils.java:91) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.readEntry(XaLogicalLog.java:858) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.doInternalRecovery(XaLogicalLog.java:794) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog.java:219) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog.java:174) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.transaction.xaframework.XaContainer.openLogicalLog(XaContainer.java:64) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource.start(NeoStoreXaDataSource.java:383) ~[neo4j-kernel-2.0.1.jar:2.0.1] at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:503) ~[neo4j-kernel-2.0.1.jar:2.0.1]

Upvotes: 1

Views: 279

Answers (1)

Stefan Armbruster
Stefan Armbruster

Reputation: 39905

Early versions of 2.0 have a known issue when running out of disc space - this has been resolved with recent versions. You can recover by manually fixing the datastore - however this is a time consuming operation requiring lot of knowledge on the internals of Neo4j.

Upvotes: 1

Related Questions