Knowledge Base

Articles tagged as transaction

Enabling Transaction Timeout Within Application

There is a dbms.transaction.timeout global setting on Neo4j that can be set in neo4j.conf file so if any query from any user exceeds the timeout threshold specified, that query is…

Read more

Explantion of debug.log message of Commits found after last checkpoint

When running backup for example you may observe in the output of said command detail similar to and see that there is a long pause (i.e. 5+ minutes) from Start…

Read more

Why did I get the “Kernel API returned non-existent relationship type: -1” exception?

In rare situations, the Neo4j Bolt driver throws an IllegalStateException. The top part of the stack appears as: Under the covers, this is what happens. The getRelationshipTypeById(int type) method is…

Read more

Large Delete Transaction Best Practices in Neo4j

In order to achieve the best performance, and avoid negative effects on the rest of the system, consider these best practices when processing large deletes. Start by identifying which situation…

Read more

Neo4j behaviour when running out of disk space (3.4+)

Following the improvements on the recovery process after an instance runs out of disk space introduced in v3.4.0, this article aims to offer a view on the behaviour of Neo4j…

Read more

Neo4j’s commit process explained

This article will try to guide you through Neo4j’s commit and replication processes both for single instances and causal clusters. Single Instance When you call tx.commit(), the transaction will go…

Read more

Neo4j current transaction commit process order

Transactions in Neo4j use a read-committed isolation level, which means they will see data as soon as it has been committed and will not see data in other transactions that…

Read more

Shared vs Exclusive Transaction locks

This document describes the meaning of a shared lock as seen by transactions and the difference between a shared and exclusive lock. A "shared lock" means multiple transactions can be…

Read more