Skip to content

Commit 3b1f41a

Browse files
committed
add
1 parent e08860f commit 3b1f41a

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

tencentcloud/services/cos/service_tencentcloud_cos.go

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"net/http"
1111
"regexp"
1212
"strings"
13-
"time"
1413

1514
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
1615

@@ -364,9 +363,6 @@ func (me *CosService) DeleteBucket(ctx context.Context, bucket string, forced bo
364363
if err != nil {
365364
return err
366365
}
367-
368-
// wait cos backend sync
369-
time.Sleep(30 * time.Second)
370366
}
371367

372368
request := s3.DeleteBucketInput{
@@ -506,6 +502,34 @@ func (me *CosService) ForceCleanObject(ctx context.Context, bucket string, versi
506502

507503
log.Printf("[DEBUG][ForceCleanObject]%s api[%s] success, [%v] objects have been cleaned.\n",
508504
logId, "ForceCleanObject", len(result.DeletedObjects))
505+
506+
// wait
507+
fmt.Println(11111111111)
508+
fmt.Println(11111111111)
509+
fmt.Println(11111111111)
510+
fmt.Println(11111111111)
511+
fmt.Println(11111111111)
512+
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
513+
listObjects, e := me.ListObjects(ctx, bucket)
514+
if e != nil {
515+
log.Printf("[CRITAL]%s api[%s] fail, resp body [%s], reason[%s]\n",
516+
logId, "ListObjects", resp.Body, e.Error())
517+
return tccommon.RetryError(e)
518+
}
519+
520+
listObjCount := len(listObjects)
521+
if listObjCount == 0 {
522+
return nil
523+
}
524+
525+
return resource.RetryableError(fmt.Errorf("waiting objects deleting. still has %d item. retry...", listObjCount))
526+
})
527+
528+
if err != nil {
529+
log.Printf("[CRITAL]%s get COS objects failed, reason:%+v", logId, err)
530+
return err
531+
}
532+
509533
return nil
510534
}
511535

0 commit comments

Comments
 (0)