Configuring Neo4j buffer size

Introduction

In some situations you may face an error when attempting to import applications into CAST Imaging (see Export and import the Application data) as follows:

ERROR Import: error while importing objects, aborting import error=objects: failed to run queries to import objects: run: error running Creation of Object to Property Links cypher for APPLICATION_NAME:

exec: unable to run cypher query: Neo4jError: Neo.DatabaseError.Statement.ExecutionFailed (Tried to read a field larger than buffer size 10000000.

A common cause of this is that a field has an unterminated quote and so will try to seek until the next quote, which ever line it may be on. This should not happen if multi-line fields are disabled, given that the fields contains no new-line characters. This field started at /var/lib/neo4j/import/csv/neo4j/APPLICATION_NAME_is_cfg_object_properties.csv:6891)

This error indicates that a property in the exported data has exceeded the default Neo4j maximum of 10MB - and that the application data failed to be imported correctly.

Update process

To resolve this issue, edit the neo4j.conf file located here:

Microsoft Windows traditional installer:
%APPDATA%\CAST\ImagingSystem\neo4j\neo4j.conf
    
Docker Installer extension (located in the folder created when unzipping the extension):
neo4j\configuration\neo4j.conf

And add the following line to increase the maximum buffer size to 20MB (from the default 10MB) - note that you may need to increase this value further if a value of 20MB does not resolve the error:

dbms.import.csv.buffer_size=20000000

Save the file and then restart the Neo4j Windows service / Docker container to ensure the changes are taken into account.