Configurable cache TTL for `maven-metadata.xml` in pull-through caching
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
Research direction
Start by grepping the repo for maven-metadata.xml to find where pull-through caching serves metadata from Maven Central. From there, trace how remote configuration fields are declared in this Pulp plugin (plugin data model, serializer, and the settings used when fetching upstream), since the TTL needs to be a per-Maven-remote field. Done means: metadata is served from cache until the TTL elapses, refreshed from upstream afterwards, artifact caching is untouched, and a test covers expiry/refresh behavior.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
Maven metadata changes over time as new versions are published. We need to balance metadata freshness with reducing upstream requests in pull-through caching. Currently we're being rate-limited by Maven Central
Describe the solution you'd like
Add a configurable cache TTL for maven-metadata.xml, ideally per Maven remote. Serve cached metadata until the TTL expires, then refresh it from upstream on the next request. For example, a TTL of 15 minutes would allow new versions to become discoverable without fetching metadata on every request.
Describe alternatives you've considered
Caching metadata at a reverse proxy, but managing this directly in pulp_maven would simplify configuration.
Additional context
The TTL should apply only to maven-metadata.xml, leaving artifact caching unchanged.
- Dominant language
- Python
- Stars
- 5
- Forks
- 30
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 27
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pulp/pulp_maven
-
Nightly s3 unit tests fail under pytest 9.2.0: 'S3Storage' object has no attribute 'location'Possibly taken @dkliban claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
pulp/pulp_maven#566 ·
Maintainers usually reply within 1 day
-
InvalidIndex exception triggers pulpcore deprecation warning in CIPossibly taken @git-hyagi claimed this 23 days ago. OpenIssue
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
pulp/pulp_maven#535 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
pulp/pulp_maven#563 ·
Maintainers usually reply within 1 day
-
_save_prefixes_txt crashes with DoesNotExist when two domains produce identical prefixes.txtPossibly taken @git-hyagi claimed this 5 days ago. OpenIssue
Difficulty 4/5 3-5 days Newbie friendliness 57/100
pulp/pulp_maven#557 ·
Maintainers usually reply within 1 day
-
Redeploying the same coordinates with different content returns 201 but keeps serving the old filePossibly taken @aevnsvi claimed this 12 days ago. Open
Difficulty 4/5 1-2 days Newbie friendliness 58/100
pulp/pulp_maven#551 ·
Maintainers usually reply within 1 day
Similar issues
-
URLValidator ignores an explicit empty scheme allowlistPossibly taken @IlyaKhalafi claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
tortoise/tortoise-orm#2393 ·
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
frappe/frappe_docker#2046 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
AXI SMU SPEC
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
tenstorrent/tt-oca-harness#3556 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
microsoft/agent-framework#9946 ·
Maintainers usually reply within 1 day