Skip to content

Persist filesystem WAL writer-epoch fencing across host restarts #714

Description

@flyingrobots

Defect

FilesystemWalStore::open reconstructs no writer-epoch state. External-action hosts therefore reacquire a static epoch with fixed fencing, process, host, and lease identities and no previous-epoch linkage on every process invocation. The store validates only in-memory epoch state, so durable request/claim/settlement processes do not prove fresh fencing or a persisted epoch chain.

Observed by flyingrobots/hello-echo#24. Blocks flyingrobots/hello-echo#11.

Acceptance

  • Persist writer-epoch acquisition and closure evidence in the filesystem WAL contract.
  • Recover the latest closed or active epoch and final commit evidence on open.
  • Provide a public host path that derives a fresh epoch, monotonic start LSN, new fencing and lease evidence, and exact previous-epoch linkage.
  • Refuse stale, duplicate, overlapping, or chain-gap acquisitions before append.
  • Exercise request, claim, settlement, recovery, and replay across separate processes.
  • Preserve the generic external-action protocol and application-neutral production vocabulary.

Hello Echo must consume the public contract rather than reconstructing epoch state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bad-codeKnown code smell or defect filed for laterlegend:testMethod legend test.priority:highMethod priority high.roadmap-a1Roadmap A.1: bounded Hello external effectsruntimeRuntime corespecSpec/Design documenttoolingTooling/CI/CLItype:bugMethod work type bug.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions