omnigraph/crates
Ragnor Comerford 1c83377d77
fix(engine): force-delete in __run__ sweep for concurrency safety
`migrate_v2_to_v3` ran `Dataset::delete_branch` (= `branches().delete(.., false)`),
which errors "BranchContents not found" if the branch is already gone. Since the
sweep now runs in `Omnigraph::open(ReadWrite)`, two processes opening the same
legacy v2 graph concurrently would race: one wins each delete, the other's open
fails. The migration only claimed idempotency under *sequential* retry.

Switch to `Dataset::force_delete_branch` (= `delete(.., true)`), Lance's
documented path for cleaning up zombie branches, which tolerates an
already-absent branch. The sweep is now idempotent under concurrent runners and
robust to partial/zombie state. Found in self-review; no behavior change for the
common single-open path.
2026-05-31 16:20:45 +02:00
..
omnigraph fix(engine): force-delete in __run__ sweep for concurrency safety 2026-05-31 16:20:45 +02:00
omnigraph-cli docs: rename runs.md/runs.rs → writes and repoint all references (#131) 2026-05-30 23:20:56 +02:00
omnigraph-compiler (feat): multi-graph server mode (#119) 2026-05-28 16:19:31 +02:00
omnigraph-policy (feat): multi-graph server mode (#119) 2026-05-28 16:19:31 +02:00
omnigraph-server feat: inline query strings in CLI and HTTP server (#110) 2026-05-29 13:41:54 +02:00