Documentation
¶
Overview ¶
cypher_rw.go — Cypher RW mixed-workload harness for the soak binary.
Activated via -cypher-mode. Runs R reader goroutines issuing "MATCH (n) RETURN n" in a tight loop, one writer goroutine issuing CREATE / MERGE writes (serialised by a sync.Mutex), and one ctx-cancellation injector that punctures child contexts every cancelInterval to exercise context.Done() paths in the executor.
Goroutine count, heap alloc, and FD count are logged on the -sample-interval cadence. The run exits cleanly on ctx cancellation (i.e. when -duration elapses).
Command soak runs the long-form mixed-workload reliability test mandated by the project's reliability acceptance gate. It exercises concurrent search reads (BFS, Dijkstra), graph mutation (AddEdge), CSR rebuild + snapshot pointer-swap, and checkpoint/recovery cycles, and emits heap / FD / goroutine snapshots on a fixed cadence so the run can be audited for steady-state behaviour.
The acceptance gate is: post-warmup heap delta < 5 %, FD count steady, goroutine count steady — see docs/benchmarks/SOAK.md for how the artefacts are inspected.
Default duration is 4 hours; use -duration to shorten the run for smoke-testing the harness itself.