Let the lock go for as long as it was held during Overview's walk (closes #226) #227

Merged
clawbot merged 1 commits from issue-226 into next 2026-11-02 08:00:01 +01:00
1 Commits
Author SHA1 Message Date
sneak 37d0fb13a9 Let the lock go for as long as it was held during Overview's walk (closes #226)
check / check (push) Canceled after 0s
The home page's cards are worked out once a minute by Overview, which
walks every prefix of the routing table under the table's read lock.
After each batch of 10,000 prefixes, the walk let the lock go and took
it back at once. The prefix handler, waiting for the write lock, then got
in only once per batch. During a walk, its queue could fill, and the
streamer then dropped updates for it.

The walk now lets the lock go for as long as it held the lock for the
batch, as PeerDown does. A test applies another peer's 1,000
announcements while Overview walks a table with more prefixes than five
of the walk's batches.

Model: opus-5-5
2026-11-02 06:30:31 +00:00