different revisions of snap found in consecutive queries for a specific channel and arch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Software Center Agent |
Fix Released
|
Critical
|
Facundo Batista |
Bug Description
- Rationale -
We have started using spread-cron [1] for triggering test executions in response to changes in external resources.
We are watching the core snap versions on the store on the different channels so that we know if all goes well after a snap promotion. This is the way we are querying the store for revision changes for the candidate channel:
curl -s -H \"X-Ubuntu-
- Expected behavior -
After a snap update on the candidate channel, the new version is always available until a new version is uploaded.
- Actual behavior -
We updated core on candidate yesterday to rev 548 and detected a little bit later on the same channel rev 394, later 548 again, a little bit later 394 and back to 548 about 45 min later. The complete sequence can be seen at [2]
As a side note, rev 394 is the available version at the stable channel, the test results when the flip-flop was detected match the behavior of the snap in that channel. Also, by the time this happened a promotion for another arch (i386) was being made. We are also experimenting a lot of timeouts while promoting snaps.
Thanks,
[1] https:/
[2] https:/
Changed in click-package-index: | |
status: | Incomplete → Confirmed |
Changed in software-center-agent: | |
status: | New → Confirmed |
assignee: | nobody → Facundo Batista (facundo) |
importance: | Undecided → Critical |
Changed in click-package-index: | |
assignee: | nobody → James Tait (jamestait) |
Changed in click-package-index: | |
status: | Confirmed → Fix Committed |
Changed in click-package-index: | |
status: | Fix Committed → Fix Released |
assignee: | James Tait (jamestait) → nobody |
Changed in software-center-agent: | |
status: | Confirmed → Fix Released |
The logs aren't turning up anything of any particular interest. What might help is to see the full request and response from the cronjob, including HTTP headers. It *smells* like a caching issue, although it's interesting that the observed revision flip-flopped between the latest revision on the candidate channel and that on the stable channel.
I did notice a metadata request (snap refresh) that showed a delta download available on the candidate channel for the core snap (the same request also asked for updates to test-snapd-tools in the edge channel, but no delta was available) that corresponds to line 742 of https:/ /travis- ci.org/ snapcore/ spread- cron/builds/ 178708453, but the client didn't request deltas so that shouldn't make any difference.