diff --git a/br/pkg/storage/gcs.go b/br/pkg/storage/gcs.go index 9cc0041c8e377..5e20a74771493 100644 --- a/br/pkg/storage/gcs.go +++ b/br/pkg/storage/gcs.go @@ -172,6 +172,12 @@ func (s *GCSStorage) GetOptions() *backuppb.GCS { func (s *GCSStorage) DeleteFile(ctx context.Context, name string) error { object := s.objectName(name) err := s.GetBucketHandle().Object(object).Delete(ctx) + // for delete single file, files are deleted should be considered + if err != nil { + if goerrors.Is(err, storage.ErrObjectNotExist) { + return nil + } + } return errors.Trace(err) } diff --git a/br/pkg/storage/gcs_test.go b/br/pkg/storage/gcs_test.go index 1aafed239b821..eb2f0690ce4a7 100644 --- a/br/pkg/storage/gcs_test.go +++ b/br/pkg/storage/gcs_test.go @@ -112,6 +112,9 @@ func TestGCS(t *testing.T) { err = stg.DeleteFile(ctx, keyDelete) require.NoError(t, err) + err = stg.DeleteFile(ctx, keyDelete) + require.NoError(t, err) + exist, err = stg.FileExists(ctx, keyDelete) require.NoError(t, err) require.False(t, exist)