Skip to content

docs: decision record for the CAS removal, and a doc-owner check that names a path - #129

Merged
wefio merged 2 commits into
mainfrom
docs/accept-without-cas-record
Oct 29, 2026
Merged

wefio merged 2 commits into
mainfrom
docs/accept-without-cas-record

Conversation

@wefio

@wefio wefio commented Oct 29, 2026

Copy link
Copy Markdown
Owner

What

  • Decision record docs/decisions/implemented/2026-10-29-accept-without-cas.{md,zh-CN.md,terms.yaml}: the round that removed the write path compare-and-swap — no CAS on accept, the pending count derived instead of written, the fold scheduled rather than counted, the accept vectors carried into the fold, every long operation bounded. States the measured before-state (Add p50 2.6 s at concurrency 1, 51-106 s at 4 with 7 of 24 killed), the rejected alternatives (keep-and-retry, sharded and PN counters, a KV counter, the Batch API, waitUntil), and the rollback constraint it creates: rolling the code back now requires draining the log first.

  • PR template: the doc item now has to name the owner and the file, or say none with a reason. "Updated docs" without a path does not satisfy it.

Not verified

None. docs:check passes (793 files, 0 errors).

wefio added 2 commits October 30, 2026 00:06
Records the round that removed the write path contention: no CAS on accept, the pending count
derived instead of written, the fold scheduled rather than counted, the accept vectors carried into
the fold, and every long operation bounded.

It states the measured before-state (Add p50 2.6 s at concurrency 1, 51-106 s at 4 with 7 of 24
killed), what was rejected and why (keep-and-retry, sharded and PN counters, a KV counter, the Batch
API, waitUntil), and the operational constraint this creates: rolling the code back now requires
draining the log first, because an older deployment short-circuits on a count this one no longer
maintains.
The checklist said "decision/design changes follow the doc-maintenance rules", which a submitter can
tick without naming anything. The new item requires the owner and the file - decision record, design,
experiment, postmortem or guide - or an explicit "none" with the reason, because a behaviour change
with no owner named leaves the next reader nowhere to look, and "updated docs" is not a path.

Also lands the decision record for the round that removed the write path's compare-and-swap.
@wefio
wefio merged commit fbf2cc2 into main Oct 29, 2026
8 checks passed
@wefio
wefio deleted the docs/accept-without-cas-record branch October 29, 2026 16:15
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