Reduce image pull race.
Signed-off-by: Lantao Liu <lantaol@google.com>
This commit is contained in:
parent
c66fd83eae
commit
09c2bfadd2
10
client.go
10
client.go
@ -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{
|
||||||
|
Loading…
Reference in New Issue
Block a user