Skip to content

Commit ed9a944

Browse files
tongyimingmikatong
and
mikatong
authored
fix(mongodb): [117638097]describe add retry (#2727)
* describe add retry * add changelog * update changelog --------- Co-authored-by: mikatong <[email protected]>
1 parent 558ae9a commit ed9a944

File tree

2 files changed

+41
-16
lines changed

2 files changed

+41
-16
lines changed

.changelog/2727.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_mongodb_instance: add describe retry
3+
```
4+
5+
```release-note:enhancement
6+
resource/tencentcloud_mongodb_sharding_instance: add describe retry
7+
```
8+
9+
```release-note:enhancement
10+
resource/tencentcloud_mongodb_standby_instance: add describe retry
11+
```

tencentcloud/services/mongodb/service_tencentcloud_mongodb.go

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -476,37 +476,51 @@ func (me *MongodbService) DescribeSecurityGroup(ctx context.Context, instanceId
476476
logId := tccommon.GetLogId(ctx)
477477
request := mongodb.NewDescribeSecurityGroupRequest()
478478
request.InstanceId = helper.String(instanceId)
479-
ratelimit.Check(request.GetAction())
480-
response, err := me.client.UseMongodbClient().DescribeSecurityGroup(request)
479+
480+
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
481+
ratelimit.Check(request.GetAction())
482+
response, e := me.client.UseMongodbClient().DescribeSecurityGroup(request)
483+
if e != nil {
484+
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]",
485+
logId, request.GetAction(), request.ToJsonString(), e.Error())
486+
return tccommon.RetryError(e)
487+
}
488+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]",
489+
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
490+
491+
groups = response.Response.Groups
492+
return nil
493+
})
481494
if err != nil {
482-
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]",
483-
logId, request.GetAction(), request.ToJsonString(), err.Error())
484495
errRet = err
485496
return
486497
}
487-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]",
488-
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
489-
490-
groups = response.Response.Groups
491498
return
492499
}
493500

494501
func (me *MongodbService) DescribeDBInstanceNodeProperty(ctx context.Context, instanceId string) (replicateSets []*mongodb.ReplicateSetInfo, errRet error) {
495502
logId := tccommon.GetLogId(ctx)
496503
request := mongodb.NewDescribeDBInstanceNodePropertyRequest()
497504
request.InstanceId = helper.String(instanceId)
498-
ratelimit.Check(request.GetAction())
499-
response, err := me.client.UseMongodbClient().DescribeDBInstanceNodeProperty(request)
505+
506+
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
507+
ratelimit.Check(request.GetAction())
508+
response, e := me.client.UseMongodbClient().DescribeDBInstanceNodeProperty(request)
509+
if e != nil {
510+
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]",
511+
logId, request.GetAction(), request.ToJsonString(), e.Error())
512+
return tccommon.RetryError(e)
513+
}
514+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]",
515+
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
516+
517+
replicateSets = response.Response.ReplicateSets
518+
return nil
519+
})
500520
if err != nil {
501-
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]",
502-
logId, request.GetAction(), request.ToJsonString(), err.Error())
503521
errRet = err
504522
return
505523
}
506-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]",
507-
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
508-
509-
replicateSets = response.Response.ReplicateSets
510524
return
511525
}
512526

0 commit comments

Comments
 (0)