Skip to content

feat(wal): add independently deployable replica service - #451

Merged
beinan merged 1 commit into
mainfrom
codex/wal-service
Oct 22, 2026
Merged

beinan merged 1 commit into
mainfrom
codex/wal-service

Conversation

@beinan

@beinan beinan commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Add context-wal-node, an independently deployable Rust WAL replica service. Validated, persisted configuration starts durable replication, mutually authenticated peer and snapshot transport, separate client data/control listeners, automatic maintenance, and joined shutdown. Local diagnostics expose runtime and disk state; the executable does not depend on Lance.

Refs #378. Built on merged #449; the feature diff is unchanged when moved to main.

Testing

  • Six-process service test with two disjoint three-voter groups: checkpointing, compacted-follower snapshot catch-up, leader SIGKILL, complete restart, payload verification, and exact retries.
  • Library/process regressions, service-feature Clippy, and standalone build/dependency validation.
  • Previous feature revision passed repository Rust and Python checks (229 passed, 2 skipped, 1 xfailed), formatting, Clippy, Ruff and Pyright. CI must pass again for the new commit before merge.

These checks establish correctness; they do not establish sustained throughput.

@beinan
beinan force-pushed the codex/wal-rollout-ingress branch from 3374f9e to 14d76f5 Compare October 21, 2026 21:42
@beinan
beinan force-pushed the codex/wal-service branch from 62634cd to 6325b0f Compare October 21, 2026 21:42
@beinan
beinan force-pushed the codex/wal-rollout-ingress branch from 14d76f5 to e79c4a0 Compare October 21, 2026 21:54
@beinan
beinan force-pushed the codex/wal-service branch from 6325b0f to 75b50f2 Compare October 21, 2026 21:54
@beinan
beinan force-pushed the codex/wal-rollout-ingress branch from e79c4a0 to 1668847 Compare October 21, 2026 23:02
@beinan
beinan force-pushed the codex/wal-service branch from 75b50f2 to 0a36c88 Compare October 21, 2026 23:02
@beinan
beinan force-pushed the codex/wal-rollout-ingress branch from 1668847 to bc71dd8 Compare October 22, 2026 00:41
@beinan
beinan changed the base branch from codex/wal-rollout-ingress to main October 22, 2026 02:11
@beinan
beinan force-pushed the codex/wal-service branch from 0a36c88 to 1d94109 Compare October 22, 2026 02:11
@beinan
beinan merged commit 372a3d6 into main Oct 22, 2026
19 checks passed
beinan added a commit that referenced this pull request Oct 22, 2026
## Summary

Node diagnostics currently expose disk admission but cannot show whether
runtime requests are rejected by request slots or byte capacity. Include
the existing bounded admission observations in node status and readiness
responses for data, control, incoming peers, and outgoing peers. The
values are sampled independently, exclude transport budgets, and do not
change readiness decisions.

Refs #378. Built on merged #451 and #460.

## Testing

- Formatting and service-feature Clippy passed.
- All three node-service tests passed, including six actual replica
processes across two groups, snapshot catch-up, leader termination, and
restart.
- The real-quorum publisher admission regression passed: byte pressure,
request pressure, and credit release remain distinguishable.
- The same feature also passed a three-process release smoke check with
separately configured control budgets before promotion onto main.
- Repository CI-equivalent checks passed: workspace Rust tests,
formatting, Clippy, Python tests, Ruff, and Pyright. Nine Python
fixtures initially could not find the server in the shared-target build
environment; all nine passed after building and placing the correct
executable. Final-commit CI is still required before merge.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant