I am currently working with the 4.4.0 version of the Neo4j Desktop, on mac of version 11.6.2.
I have been able to load 1.24M nodes and am now trying to load the associated 3.1M relationships.
I have tried loading them with the following command
:auto USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS
FROM "file:///2022-01-05_seattle_users_relationships.csv" as row
MATCH (follower:user {id:row.user_id})
MATCH (followed:user {id:row.follows_id})
MERGE (follower)-[r:FOLLOWS]->(followed)
ON CREATE SET
r.age=row.relationship_age
but am getting the following error:
Neo.TransientError.Transaction.MaximumTransactionLimitReached
Unable to start new transaction since limit of concurrently executed transactions is reached. See setting dbms.transaction.concurrent.maximum
I also tried running the same command with smaller files. The first 2 were processed properly, but the 3rd one showed the same error.
I tried looking for the dbms.transaction.concurrent.maximum field in the neo4j.conf file, but could not find it.
Could you please let me know if I should add that field to that file? And if so, what value I should assign to it? if not that, could you let me know how I could solve this problem?
If that can help, the rows in my relationship file look like the below:
To answer you on the config question, yes you can just add a new line into your neo4j.conf to accomplish that.
But separately - a single LOAD CSV statement (no matter what the data is) should never run into this problem, so it might be a symptom that something else is going on. What other programs are talking to this database at the time?
Thank you for your helpful response. I will add the dbms.transaction.concurrent.maximum field to the neo4j.conf file then. I will try with something like 1000, and see if that works. If not, I will increase it.
Actually nothing else was talking to the database. I was just trying to visualize and explore data on the Neo4j Desktop.
I too, am trying to load a larger .tsv file into my db. I run the docker version which has no further connections and use the .NET driver.
My query is:
USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'file:///SanatizedTerms.tsv' AS line FIELDTERMINATOR '\t'
CREATE (:Term {accession: line.TermAccession, name: line.Name, description: line.Description, isObsolete: line.IsObsolete})
RETURN linenumber() AS number, line
The file contains information for 2604648 nodes and i get the same error:
One or more errors occurred. (Unable to start new transaction since limit of concurrently executed transactions is reached. See setting dbms.transaction.concurrent.maximum)
If you set the value of dbms.transaction.concurrent.maximum to 0 then it will disable the limit to number of transactions and you don't have to worry about exceeding the transaction limit.