Repository navigation
account-admin: list accounts without entries() (it took the server down) - #37
Merged
Merged
Conversation
…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>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#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