diff --git a/packages/core/src/codewhisperer/client/codewhisperer.ts b/packages/core/src/codewhisperer/client/codewhisperer.ts index c5a89b36e0c..02f8a5f2f52 100644 --- a/packages/core/src/codewhisperer/client/codewhisperer.ts +++ b/packages/core/src/codewhisperer/client/codewhisperer.ts @@ -132,7 +132,7 @@ export class DefaultCodeWhispererClient { )) as CodeWhispererClient } - async createUserSdkClient(): Promise { + async createUserSdkClient(maxRetries?: number): Promise { const isOptedOut = CodeWhispererSettings.instance.isOptoutEnabled() session.setFetchCredentialStart() const bearerToken = await AuthUtil.instance.getBearerToken() @@ -144,6 +144,7 @@ export class DefaultCodeWhispererClient { apiConfig: userApiConfig, region: cwsprConfig.region, endpoint: cwsprConfig.endpoint, + maxRetries: maxRetries, credentials: new Credentials({ accessKeyId: 'xxx', secretAccessKey: 'xxx' }), onRequestSetup: [ (req) => { @@ -293,7 +294,8 @@ export class DefaultCodeWhispererClient { public async codeModernizerGetCodeTransformation( request: CodeWhispererUserClient.GetTransformationRequest ): Promise> { - return (await this.createUserSdkClient()).getTransformation(request).promise() + // instead of the default of 3 retries, use 8 retries for this API which is polled every 5 seconds + return (await this.createUserSdkClient(8)).getTransformation(request).promise() } /**