oxidecomputer / oxidecomputer/buildomat
artifact download URL is not resumable
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 72
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
From this buildomat run:
https://github.com/oxidecomputer/omicron/runs/38078608713
I wanted to download /work/repo.zip, which is:
https://buildomat.eng.oxide.computer/wg/0/artefact/01JND89XBVFYKYFJXD6JFDA8XR/i361qB3lfswvUlvUnk2I8TAIInnC6R0aVLrufUE3xiKZ7Jpm/01JND8A832Z6DMSNDE05HMFHVH/01JNDBQH91APJC86M538P066PN/repo.zip
That seems to reliably fail to download just after the 1 GiB mark (a separate bug):
$ curl -O https://buildomat.eng.oxide.computer/wg/0/artefact/01JND89XBVFYKYFJXD6JFDA8XR/i361qB3lfswvUlvUnk2I8TAIInnC6R0aVLrufUE3xiKZ7Jpm/01JND8A832Z6DMSNDE05HMFHVH/01JNDBQH91APJC86M538P066PN/repo.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
50 2039M 50 1030M 0 0 5613k 0 0:06:12 0:03:07 0:03:05 5476k
curl: (92) HTTP/2 stream 1 was not closed cleanly: INTERNAL_ERROR (err 2)
I tried to retry it but:
$ curl -C- -O https://buildomat.eng.oxide.computer/wg/0/artefact/01JND89XBVFYKYFJXD6JFDA8XR/i361qB3lfswvUlvUnk2I8TAIInnC6R0aVLrufUE3xiKZ7Jpm/01JND8A832Z6DMSNDE05HMFHVH/01JNDBQH91APJC86M538P066PN/repo.zip
** Resuming transfer from byte position 1080246028
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (33) HTTP server does not seem to support byte ranges. Cannot resume.
This looks similar to #31, but the fix for that looks like it was fixing a different endpoint (/public/file/...).
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Reproduce the failure with the artifact URL and curl -C-, then compare this endpoint with the /public/file/... endpoint discussed in #31. Identify how the artifact download responds to byte-range requests and verify that an interrupted transfer can resume successfully without changing the requested URL.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100