Backoff retry on verification to give s3 time to propagate

Signed-off-by: Stephen J Day <stephen.day@docker.com>
This commit is contained in:
Stephen J Day 2015-04-21 12:10:48 -07:00 committed by Richard
parent 56b18134fa
commit 6cb2104945

View file

@ -59,8 +59,8 @@ func (lw *layerWriter) Finish(dgst digest.Digest) (distribution.Layer, error) {
) )
// HACK(stevvooe): To deal with s3's lack of consistency, attempt to retry // HACK(stevvooe): To deal with s3's lack of consistency, attempt to retry
// validation on failure. Three attempts are made, backing off 100ms each // validation on failure. Three attempts are made, backing off
// time. // retries*100ms each time.
for retries := 0; ; retries++ { for retries := 0; ; retries++ {
canonical, err = lw.validateLayer(dgst) canonical, err = lw.validateLayer(dgst)
if err == nil { if err == nil {
@ -71,7 +71,7 @@ func (lw *layerWriter) Finish(dgst digest.Digest) (distribution.Layer, error) {
Errorf("error validating layer: %v", err) Errorf("error validating layer: %v", err)
if retries < 3 { if retries < 3 {
time.Sleep(100 * time.Millisecond) time.Sleep(100 * time.Millisecond * time.Duration(retries+1))
continue continue
} }