"Maximum number of concurrently executed transactions" error encountered

Hello ,

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:

user_id,follows_id,created,relationship_age
12345,98765,2019-05-05 07:00:00 UTC,976

Thank you very much for any help you can provide.
Alexandra.

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?

Hello David,

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)

Where you able to resolve the issue?

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.

We've identified a bug causing this error.

Please be on the lookout for a fix in an upcoming Neo4j 4.4.4 patch.