fix(registries): keep bbolt eviction off the popularity mutex and close test gaps - #1418
Merged
Merged
Conversation
…x and close test gaps Cache-cap eviction now removes the entry from memory under p.mu and deletes it from bbolt afterwards via persist(), which serialises store writes and skips a stale put or delete so an evicted key is never resurrected and a re-added key is never dropped. The dead lazy store fallback is removed (the constructor preloads). Adds regression coverage for the rolling budget gate, fresh-entry TTL, generic GITHUB_TOKEN, exact User-Agent, and breaker/429/low-remaining recovery.
Deploying mcpproxy-docs with
|
| Latest commit: |
b3282c8
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://270a2add.mcpproxy-docs.pages.dev |
| Branch Preview URL: | https://fix-low-1410-popularity.mcpproxy-docs.pages.dev |
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Contributor
📦 Build ArtifactsWorkflow Run: View Run Available Artifacts
How to DownloadOption 1: GitHub Web UI (easiest)
Option 2: GitHub CLI gh run download 36583495508 --repo smart-mcp-proxy/mcpproxy-go
|
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.
Follow-up hardening of the catalog popularity provider (Spec 110) from #1408.
p.mu; store writes go throughpersist()outside it, serialised by a separate lock, with guards so a delayed put cannot resurrect an evicted key and a delayed delete cannot drop a re-added one.getEntryLocked(the constructor preloads every persisted entry); test renamed and comments aligned with the eager-load contract.-racestress test), provider-level rolling budget request counts, fresh positive/negative entries not re-enqueued before TTL, genericGITHUB_TOKENignored, exact versioned User-Agent, breaker table (429/Retry-After seconds and date, 403, low-remaining) and recovery after the clock passes the pause.Closes #1410