pcloud: try harder to delete a failed upload

This fixes the integration tests when testing errored uploads
This commit is contained in:
Nick Craig-Wood 2021-09-17 10:04:53 +01:00
parent 9c2533821d
commit badefdb060

View File

@ -1165,10 +1165,14 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op
}) })
if err != nil { if err != nil {
// sometimes pcloud leaves a half complete file on // sometimes pcloud leaves a half complete file on
// error, so delete it if it exists // error, so delete it if it exists, trying a few times
delObj, delErr := o.fs.NewObject(ctx, o.remote) for i := 0; i < 5; i++ {
if delErr == nil && delObj != nil { delObj, delErr := o.fs.NewObject(ctx, o.remote)
_ = delObj.Remove(ctx) if delErr == nil && delObj != nil {
_ = delObj.Remove(ctx)
break
}
time.Sleep(time.Second)
} }
return err return err
} }