Reputation:
Sorry if this is a duplicate, but I did not find an answer pertaining to v 3.0.* of the Community Edition.
In v2.3.4 I had success moving whole graphbases between instances by simply making a tarball copy of graph.db.
In v3.0.2 this does not seem to work. Is there a procedure for v3.0.*?
Maybe I got lucky in 2.3.4 by not having such a complicated graphbase. Presently when I try to start up the instance after the copy, I get an exception in the log, with the pertinent part being:
Caused by: java.lang.IllegalArgumentException: Unrecognized log entry version -9. At position LogPosition{logVersion=20, byteOffset=16} and entry version null
at org.neo4j.kernel.impl.transaction.log.entry.LogEntryVersion.byVersion(LogEntryVersion.java:147)
at org.neo4j.kernel.impl.transaction.log.entry.VersionAwareLogEntryReader.readLogEntry(VersionAwareLogEntryReader.java:83)
at org.neo4j.kernel.impl.transaction.log.LogEntryCursor.next(LogEntryCursor.java:50)
at org.neo4j.kernel.recovery.LatestCheckPointFinder.find(LatestCheckPointFinder.java:77)
at org.neo4j.kernel.recovery.PositionToRecoverFrom.apply(PositionToRecoverFrom.java:53)
at org.neo4j.kernel.recovery.DefaultRecoverySPI.getPositionToRecoverFrom(DefaultRecoverySPI.java:112)
at org.neo4j.kernel.recovery.Recovery.init(Recovery.java:72)
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:406)
Upvotes: 0
Views: 229
Reputation:
Working with a colleague, we isolated the problem to one of either, the Community Edition graph.db
of 3.0.1 is incompatible with that of 3.0.2, since the original instance was running 3.0.2 and the target 3.0.1, or when Neo4j is installed using the Debian apt-get install mechanism, something is done in the configuration which makes databases from an instance constructed using the Community Edition tarball (via "tar -xf") incompatible with it.
We are now running successfully with the new graph.db
using a freshly built 3.0.2 on a different box using the "tar -xf" from the Community Edition tarball.
Upvotes: 0
Reputation: 39915
If you want to transfer the graph.db
form one instance to another make sure the instances are cleanly shutdown. If you copy form a running instance there is the danger of running in situations as you've discribed.
Neo4j Enterprise edition has the "online backup" feature which effectively does what you want: copy graph.db
from a running instance into a backup directory.
Upvotes: 1