Help centerErrorsHigh availability

High availability errors

Errors

  1. Failed to replicate to SYNC/STRICT_SYNC replica…

Troubleshooting replication failure errors

If you’re writing to the main instance and encounter a message like “Failed to replicate to SYNC replica ‘instance_1’: replica is not reachable or not in sync with the main”, several issues could be causing this.

The message identifies exactly which replicas failed, the replication mode (SYNC or STRICT_SYNC), and the specific failure reason. For a full list of possible failure reasons, see the replication errors reference.

Since Memgraph 3.13, a failure that only affects SYNC replicas does not fail the query. The transaction is committed on the main instance and on every alive replica, and the failure is delivered as a SyncReplicationFailure warning notification in the query summary. A ReplicationException is raised only when the transaction was rolled back everywhere, which happens when a STRICT_SYNC replica can’t confirm it.

Below are common causes and how to resolve them:

  1. Network isn’t correctly configured between MAIN and REPLICAs — Check if hostnames/IPs can be reached from the MAIN instance.
  2. Replica is behind MAIN — It is possible that the replica is behind MAIN and that the recovery of the replica is in progress. Wait for a bit until the replica catches up with MAIN. If the replica is registered as a SYNC one, the transaction is already committed on MAIN and the replica is recovered automatically.
  3. Replica has diverged from MAIN — If the error indicates the replica has diverged, manual recovery or a force sync may be needed. See the force sync documentation.
  4. RPC timeout — If the error mentions an RPC timeout, the replica may be overloaded, the network latency may be too high, or the replica may have stopped making progress altogether. The message may suggest adjusting the deltas_batch_progress_size coordinator setting; as of 3.13 that setting no longer has any effect, because replicas now report progress on a fixed time interval and long single operations (index population, constraint validation, snapshot loading, storage clearing) are covered by that reporting. Check the replica’s logs and load instead.