Skip to content

ci(ebpf-objects): survive a transient apt 5xx, and fail an index outage as itself - #35

Merged
slayerjain merged 1 commit into
mainfrom
ci/ebpf-objects-apt-retries
Oct 19, 2026
Merged

slayerjain merged 1 commit into
mainfrom
ci/ebpf-objects-apt-retries

Conversation

@slayerjain

Copy link
Copy Markdown
Member

The v1.2.43 ebpf-objects publish failed twice on snapshot.ubuntu.com 503s. Attempt 1 failed on .deb downloads after apt's default 3 retries, which span 7 s. On attempt 2, apt-get update only warned about a 503 index, exited 0, and the build died later on a misleading "Version … was not found".

The install step now writes a build-time apt config, removed with the package lists:

  • Acquire::Retries \"7\" and Acquire::Retries::Delay::Maximum \"40\". Apt retries only on 408/429/5xx or a timeout, so the attempts span about 103 s; a 404 or a hash mismatch still fails at once.
  • APT::Update::Error-Mode \"any\", so an unfetchable index fails apt-get update itself.

Reproduced on .142 through a proxy that injects 503s. Main fails on 60 s outages on the debs and on the index. With the fix, both 60 s outages pass, and a 200 s index outage fails at apt-get update with the 503. A live no-cache build passed and gives the same 174 packages and Go tree as 1.2.43. Review CLEAN.

…update on one

v1.2.43's ebpf-objects job failed twice on snapshot.ubuntu.com 503s. The
first attempt failed on .debs once apt's default retries were spent (3
retries, 1+2+4 = 7 s). The second got a 503 on InRelease: apt-get update
only warned about the transient failure, exited 0, and the build then died
on "Version '20260601~22.04.1' for 'ca-certificates' was not found".

The apt RUN now writes a build-time apt.conf.d file, removed with the
package lists:
- Acquire::Retries 7 with Delay::Maximum 40: apt 2.4 retries a file on a
  transient failure (HTTP 408, 429, 500, 502, 503, 504, 599 or a timeout)
  after min(2^n, 40) s, so the attempts span 103 s, the span of keploy/ebpf
  fetch.sh's 10+20+30+40 s. A 404 or a hash mismatch still fails at once.
- APT::Update::Error-Mode any: an index that cannot be fetched fails
  apt-get update, so an outage fails as the 503 it is.

Reproduced on the amd64 box with the Dockerfile's apt RUN run through a
proxy that injects a 503 outage in front of snapshot.ubuntu.com. With the
old file, a 60 s outage over the .debs fails (E: Failed to fetch ... 503)
and one over InRelease fails as "Version ... was not found". With this
one, both complete, and a 200 s outage fails at apt-get update with
"E: Failed to fetch ...InRelease 503" after 104 s. A no-cache build
against the live snapshot gives the same 174 packages and Go tree as the
published ebpf-objects-1.2.43 image; the toolchain does not change.

Signed-off-by: slayerjain <shubhamkjain@outlook.com>
@slayerjain
slayerjain merged commit 937d32d into main Oct 19, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant