diff --git a/.changelog/3333.txt b/.changelog/3333.txt new file mode 100644 index 0000000000..3ddd14bd91 --- /dev/null +++ b/.changelog/3333.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_dlc_user: add read retry +``` diff --git a/tencentcloud/services/dlc/service_tencentcloud_dlc.go b/tencentcloud/services/dlc/service_tencentcloud_dlc.go index a038f340f7..4101b68329 100644 --- a/tencentcloud/services/dlc/service_tencentcloud_dlc.go +++ b/tencentcloud/services/dlc/service_tencentcloud_dlc.go @@ -76,6 +76,7 @@ func (me *DlcService) DescribeDlcUserById(ctx context.Context, userId string) (u logId := tccommon.GetLogId(ctx) request := dlc.NewDescribeUsersRequest() + response := dlc.NewDescribeUsersResponse() request.UserId = &userId defer func() { @@ -84,9 +85,19 @@ func (me *DlcService) DescribeDlcUserById(ctx context.Context, userId string) (u } }() - ratelimit.Check(request.GetAction()) + err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + ratelimit.Check(request.GetAction()) + result, e := me.client.UseDlcClient().DescribeUsers(request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + response = result + return nil + }) - response, err := me.client.UseDlcClient().DescribeUsers(request) if err != nil { errRet = err return