← Back to issue list

Fix parts cache handling

View original Github issue

Metadata

Project
snapcraft
Number
#635
Type
pull request
State
merged
Author
cjwatson
Labels
—
Created
Updated
Closed

Current evaluation

Merged in commit f35b0992a, replacing ETag cache validation with Last-Modified/If-Modified-Since because gzip responses from parts.snapcraft.io omitted ETags.

Resolution: closed resolved

Reason: PR #635 was merged as commit f35b0992a. It fixed stale parts-cache detection by using the server's Last-Modified timestamp for conditional requests.

Evaluated by: mr-cal-bot

No scores available.

Issue body

requests sends "Accept-Encoding: gzip, deflate" by default which causes parts.snapcraft.io not to send an ETag, so the logic for detecting when the parts cache is already up to date didn't work. Use Last-Modified / If-Modified-Since instead of ETag / If-None-Match.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged in commit f35b0992a, replacing ETag cache validation with Last-Modified/If-Modified-Since because gzip responses from parts.snapcraft.io omitted ETags.
stealth/space-bunny-alpha — closed resolved Merged canonical/snapcraft#635, replacing ETag-based cache validation with Last-Modified/If-Modified-Since handling when gzip responses omit ETags.
stealth/space-bunny-alpha — closed resolved Merged #635 in commit f35b0992a, fixing parts-cache freshness checks by using Last-Modified/If-Modified-Since instead of ETag/If-None-Match for gzip-encoded responses.
qwen/qwen3.6-35b-a3b — — Merged a fix for parts cache handling where default gzip encoding prevented server ETag responses. Cache validation was updated to use Last-Modified and If-Modified-Since headers instead. The three-file change was reviewed and integrated.
qwen3.6-35b-a3b-mtp-q6 — — Merged a fix for parts cache validation. Default gzip encoding blocked ETag responses, breaking cache checks. Replaced ETag logic with Last-Modified and If-Modified-Since headers to correctly detect updates. Approved and merged.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1599856 Use If-Modified-Since instead of If-None-Match when updating the remote parts snapcraft (launchpad) closed Fixed remote-parts cache freshness handling in snapcore/snapcraft#635, committed as f35b0992a, by using Last-Modified/If-Modified-Since.
74%