Skip to content

Errors and retries

Unsupported syntax at execution, invalid definitions/types, resource limits and storage failures are errors, not partially accepted clauses. A failing autocommit statement publishes no private graph/catalog changes, except that an I/O failure during publication can leave an unknown commit outcome.

Situation Caller action
Invalid or unsupported query Correct the query; parsing alone does not prove execution support
Conflict Re-read state and decide whether the entire operation can be retried
Busy checkpoint Retry when active statements/transactions have released snapshots
Failed explicit transaction ROLLBACK or SESSION CLOSE before further work
CommitUnknown Reopen the database and inspect recovered state before retrying

Graph conflict detection is coarse: two updates to different nodes in one graph can conflict. Automatic retry of INSERT or another non-idempotent operation can duplicate work after an uncertain outcome, so the engine does not do it implicitly.

A failed multi-statement request does not undo earlier autocommits. Put a logical unit of work inside START TRANSACTION/COMMIT when its statements must publish together. Successful session setting changes are not rolled back with database data.