Steve P.
Steve P.

Reputation: 14709

BatchInserter initialization yields ArrayIndexOutOfBounds and ExceptionInInitializationError

All I'm trying to do is the following:

    BatchInserter ins = BatchInserters.inserter("target/batchinserter-example");

where "target/batchinserter-example" is a given store directory. It compiles fine, but I get:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.neo4j.unsafe.batchinsert.BatchInserterImpl.rejectAutoUpgrade(BatchInserterImpl.java:556)
    at org.neo4j.unsafe.batchinsert.BatchInserterImpl.<init>(BatchInserterImpl.java:219)
    at org.neo4j.unsafe.batchinsert.BatchInserters.inserter(BatchInserters.java:94)
    at org.neo4j.unsafe.batchinsert.BatchInserters.inserter(BatchInserters.java:88)
    at org.neo4j.unsafe.batchinsert.BatchInserters.inserter(BatchInserters.java:63)
    at org.neo4j.unsafe.batchinsert.BatchInserters.inserter(BatchInserters.java:51)
    at NeoBatchInserter.main(NeoBatchInserter.java:26)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at org.neo4j.graphdb.factory.GraphDatabaseSettings.<clinit>(GraphDatabaseSettings.java:69)
    ... 7 more

I don't understand how this isn't working. I'm literally just calling a constructor that takes a String. I'm quite frustrated at the moment. If there is a better way to do this, I am welcome to trying it. All I want to do is set up a BatchInserter (from scratch) so that I can begin my work.

EDIT: I just attempted to point it a graph.db from a test graph, and this still didn't work...

I'm also using kernel.2.1.3

EDIT 2: Since my server is 2.1.2, I changed my jars to the 2.1.2 version, yet I still get the same error.

Upvotes: 1

Views: 140

Answers (1)

Stefan Armbruster
Stefan Armbruster

Reputation: 39925

What version of Neo4j was the directory created with? I'm pretty sure that you cannot use batchinserter of 2.1.3 with an earlier version.

Install 2.1.3, set allow_store_upgrade=true in neo4j.properties, start the server and shut it down. It's crucial to have a clean shutdown. Then use your batchinserter code.

Upvotes: 1

Related Questions