Issue 1:
Neo4j version: 3.3.3-1 installed through yum

Operating system: centos 7

API/Driver: neo4j-admin import

I'm loading a large (1M+ records with 40 fields) csv file with the following (simplified) command:

neo4j-admin import

--nodes:Organization /path/to/organizations.csv

--multiline-fields=true

--ignore-duplicate-nodes=true

--ignore-missing-nodes=true

--array-delimiter ";"

And since a couple of weeks it regularly fails with:

WARNING Import failed. The store files in /path/to/graph.db are left as they are, although they are likely in an unusable state. Starting a database on these store files will likely fail or observe inconsistent records so start at your own risk or delete the store manually
unexpected error: ERROR in input
data source: BufferedCharSeeker[source:/path/to/organizations.csv, position:301989889, line:1100684]
in field: abbreviationFr:string:6
for header: [vat:ID(Organization), ... , abbreviationFr:string, ...]
raw field value: ??
original error: String index out of range: -1

This error occurs deterministically in the sense that once it happens it will consistently happen with the same input. However, it may just go away after simply reordering the fields, removing a line or sometimes even a cell. I have tried to isolate the issue by only taking the lines around the line number mentioned in the error as the input but I havent been able to reproduce the error in this way.

The csv file itself should be valid csv since it was generated from Spark.

Any idea what could be wrong? Did you make any changes to the import in the recent versions? Anything I can do to pinpoint the issue?

Thanks in advance,

Niek.

Issue 2:
Issue

I am importing CSV files to the empty database via neo4j-admin. It works. Created the DB I need to incrementally update it with data. I create new CSV files and do the incremental import via neo4j-admin and receive the error no matter which run options I try:

Import error: No batch importers found
Caused by:No batch importers found
java.util.NoSuchElementException: No batch importers found
at org.neo4j.internal.batchimport.IncrementalBatchImporterFactory.lambda$withHighestPriority$1(IncrementalBatchImporterFactory.java:75)
at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at org.neo4j.internal.batchimport.IncrementalBatchImporterFactory.withHighestPriority(IncrementalBatchImporterFactory.java:75)
at org.neo4j.internal.recordstorage.RecordStorageEngineFactory.incrementalBatchImporter(RecordStorageEngineFactory.java:708)
at org.neo4j.importer.CsvImporter.doImport(CsvImporter.java:215)
at org.neo4j.importer.CsvImporter.doImport(CsvImporter.java:182)
at org.neo4j.importer.ImportCommand$Base.doExecute(ImportCommand.java:391)
at org.neo4j.importer.ImportCommand$Incremental.execute(ImportCommand.java:548)
at org.neo4j.cli.AbstractCommand.call(AbstractCommand.java:92)
at org.neo4j.cli.AbstractCommand.call(AbstractCommand.java:37)
at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at org.neo4j.cli.AdminTool.execute(AdminTool.java:94)
at org.neo4j.cli.AdminTool.main(AdminTool.java:82)

WARNING Import failed. The store files in /data/databases/neo4j are left as they are, although they are likely in an unusable state. Starting a database on these store files will likely fail or observe inconsistent records so start at your own risk or delete the store manually
java.util.NoSuchElementException: No batch importers found
at org.neo4j.internal.batchimport.IncrementalBatchImporterFactory.lambda$withHighestPriority$1(IncrementalBatchImporterFactory.java:75)
at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at org.neo4j.internal.batchimport.IncrementalBatchImporterFactory.withHighestPriority(IncrementalBatchImporterFactory.java:75)
at org.neo4j.internal.recordstorage.RecordStorageEngineFactory.incrementalBatchImporter(RecordStorageEngineFactory.java:708)
at org.neo4j.importer.CsvImporter.doImport(CsvImporter.java:215)
at org.neo4j.importer.CsvImporter.doImport(CsvImporter.java:182)
at org.neo4j.importer.ImportCommand$Base.doExecute(ImportCommand.java:391)
at org.neo4j.importer.ImportCommand$Incremental.execute(ImportCommand.java:548)
at org.neo4j.cli.AbstractCommand.call(AbstractCommand.java:92)
at org.neo4j.cli.AbstractCommand.call(AbstractCommand.java:37)
at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at org.neo4j.cli.AdminTool.execute(AdminTool.java:94)
at org.neo4j.cli.AdminTool.main(AdminTool.java:82)

The simplest command that imports one single node to an already existing DB to get an error on my setup is:

neo4j-admin database import \
incremental --force \
--verbose \
--skip-duplicate-nodes \
--skip-bad-relationships \
--report-file /tmp/import-report.txt \
--nodes=Address="/path/to/addresses_headers.csv,/path_to/addresses.txt"
neo4j

addresses_headers.csv:

hash:ID(Address)

addresses.txt:

0x0000000000000000000000000000000000000000

I tried to stop DB (neo4j-admin server stop) and use flags --stage=all|prepare|build|merge: no effect.

My setup:

Neo4j version: 5.7.0, community edition

Operating system: official docker images of versions 5.7.0 (latest) and 5.6.0

API/Driver: neo4j-admin

Expected behavior

Import address node into an existing database

Actual behavior

Import command fails with error: java.util.NoSuchElementException: No batch importers found

PS: Desktop version (installed in the OS, not within the container) behavior is the same.