feat(git): gate readiness on prewarming the most-cloned repos#299
Draft
feat(git): gate readiness on prewarming the most-cloned repos#299
Conversation
Query held RLock while m.ns() wrote to m.state on first access for a namespace, racing with concurrent Apply on other namespaces. Read the map directly; queryState handles a nil namespace map.
9839a22 to
b0b0fb3
Compare
Add prewarm-most-cloned-repos to the git strategy. When > 0, /_readiness stays false until that many of the most-cloned repos (per the per-repo histogram, summed over the last 14 days) are cloned or freshened locally. Empty histogram, nil metadata store, or per-repo failures are logged and treated as complete so a misconfig or one bad upstream cannot brick a deploy. Missing SetMetadataStore wiring keeps readiness closed.
b0b0fb3 to
84b4d69
Compare
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.
Adds
prewarm-most-cloned-reposto the git strategy. When > 0,/_readinessstays false until that many of the most-cloned repos (per the per-repo histogram, summed over the last 14 days) are cloned or freshened locally.0(default) disables.Empty histogram, nil metadata store, or per-repo failures are logged and treated as complete so a misconfig or one bad upstream cannot brick a deploy. Missing
SetMetadataStorewiring keeps readiness closed (loud failure).Includes a metadatadb fix:
MemoryBackend.Querylazy-created the namespace under a read lock, racing with concurrentApplyon other namespaces. Surfaced by-raceonce the prewarm pass and the histogram reaper ran concurrently.