Merge pull request #1640 from Random-Liu/fix-image-pull-race

Reduce image pull race.
This commit is contained in:
Michael Crosby 2017-10-16 17:54:23 -04:00 committed by GitHub
commit 6b9edd089a

View File

@ -250,19 +250,19 @@ func (c *Client) Pull(ctx context.Context, ref string, opts ...RemoteOpt) (Image
} }
is := c.ImageService() is := c.ImageService()
if updated, err := is.Update(ctx, imgrec, "target"); err != nil { if created, err := is.Create(ctx, imgrec); err != nil {
if !errdefs.IsNotFound(err) { if !errdefs.IsAlreadyExists(err) {
return nil, err return nil, err
} }
created, err := is.Create(ctx, imgrec) updated, err := is.Update(ctx, imgrec)
if err != nil { if err != nil {
return nil, err return nil, err
} }
imgrec = created
} else {
imgrec = updated imgrec = updated
} else {
imgrec = created
} }
img := &image{ img := &image{