Skip to content

account-admin: list accounts without entries() (it took the server down) - #37

Merged
nicolasdb merged 2 commits into
mainfrom
fix-admin-list-lock
Nov 3, 2026
Merged

nicolasdb merged 2 commits into
mainfrom
fix-admin-list-lock

Conversation

@nicolasdb

@nicolasdb nicolasdb commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

#36 merged with the smoke run red. The server log shows `Lock expired after 6000ms`, then CSS exits.

Cause: `accountStorage.entries("account")` walks every document under CSS's `/.internal/` through the resource store. The server's lock files live in that same container, so the walk stalled on a lock until it expired. Stock CSS never calls this walk while serving requests.

Fix: list the names in `.internal/accounts/data/` through the data accessor (a directory read, no lock) and confirm each one with `has("account", id)`. A first attempt (collecting ids first, then looking each one up) did not help: the walk itself stalls.

Also: `docs/admin/explanation.md` gains "What building it taught us", which gives these findings as the arguments for the feature.

🤖 Generated with Claude Code

nicolasdb and others added 2 commits November 3, 2026 14:33
…server)

entries('account') streams the account container under its lock; looking
up logins and pods inside that loop waited on the same lock until it
expired after 6 s and CSS exited. Seen in CI on #36.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
entries('account') walks every document under /.internal/ through the
resource store, lock files included, and stalled until "Lock expired
after 6000ms" took the server down (CI on #36, again on #37's first
attempt). List the names in .internal/accounts/data/ through the data
accessor (directory read, no lock), confirm each with has('account').

docs/admin/explanation.md: "What building it taught us", the findings as
arguments for the feature.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nicolasdb nicolasdb changed the title account-admin: list ids first (a lock expiry killed the server) account-admin: list accounts without entries() (it took the server down) Nov 3, 2026
@nicolasdb
nicolasdb merged commit 982f1c2 into main Nov 3, 2026
2 checks passed
@nicolasdb
nicolasdb deleted the fix-admin-list-lock branch November 3, 2026 13:45
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