moby/distribution/xfer
Cory Snider 938ed9a1ed distribution/xfer: make off-by-one error a feature
maxDownloadAttempts maps to the daemon configuration flag

    --max-download-attempts int
      Set the max download attempts for each pull (default 5)

and the daemon configuration machinery interprets a value of 0 as "apply
the default value" and not a valid user value (config validation/
normalization bugs notwithstanding). The intention is clearly that this
configuration value should be an upper limit on the number of times the
daemon should try to download a particular layer before giving up. So it
is surprising to have the configuration value interpreted as a _retry_
limit. The daemon will make up to N+1 attempts to download a layer! This
also means users cannot disable retries even if they wanted to.

As this is a longstanding bug, not a recent regression, it would not be
appropriate to backport the fix (97921915a8)
in a patch release. Update the test to assert on the buggy behaviour so
it passes again.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2023-02-22 12:34:59 -05:00
..
download.go runconfig, oci, image, layer, distribution: fix empty-lines (revive) 2022-10-01 00:01:14 +02:00
download_test.go distribution/xfer: make off-by-one error a feature 2023-02-22 12:34:59 -05:00
transfer.go distribution: retry downloading schema config on retryable error 2022-03-05 19:36:48 +01:00
transfer_test.go distribution/xfer: un-export DoFunc type 2022-02-18 16:58:42 +01:00
upload.go distribution/xfer: un-export DoFunc type 2022-02-18 16:58:42 +01:00
upload_test.go distribution/xfer: fix some nits in tests 2022-02-18 16:58:19 +01:00