From badefdb060825a592c5be2208b2cbefbd4808a1e Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Fri, 17 Sep 2021 10:04:53 +0100 Subject: [PATCH] pcloud: try harder to delete a failed upload This fixes the integration tests when testing errored uploads --- backend/pcloud/pcloud.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/backend/pcloud/pcloud.go b/backend/pcloud/pcloud.go index 56df3cf3c..f0ff23797 100644 --- a/backend/pcloud/pcloud.go +++ b/backend/pcloud/pcloud.go @@ -1165,10 +1165,14 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op }) if err != nil { // sometimes pcloud leaves a half complete file on - // error, so delete it if it exists - delObj, delErr := o.fs.NewObject(ctx, o.remote) - if delErr == nil && delObj != nil { - _ = delObj.Remove(ctx) + // error, so delete it if it exists, trying a few times + for i := 0; i < 5; i++ { + delObj, delErr := o.fs.NewObject(ctx, o.remote) + if delErr == nil && delObj != nil { + _ = delObj.Remove(ctx) + break + } + time.Sleep(time.Second) } return err }