memgraphdbmemgraph

What is transaction behavior in Memgraph sync replication mode


I don't understand behavior when a replica is unable to confirm a transaction or experiences a timeout.

I understand that a replicationException error is thrown in such scenarios, but I'm uncertain about the subsequent state of the system. I'd like to know if the transaction gets rolled back on the leader node and what happens to other replicas that might have confirmed the transaction before the failure. Does the caller receive an error indicating the transaction failure, and is the system state completely reverted, making it as if the transaction never happened?


Solution

  • The transaction will also fail on the main and the rest of the replicas if any of SYNC replicas cannot confirm the transaction.