RetryOptions Class

  • java.lang.Object
    • com.microsoft.azure.documentdb.RetryOptions

public class RetryOptions

Encapsulates retry options in the Azure Cosmos DB database service.

Constructor Summary

Constructor Description
RetryOptions()

Creates a new instance of the RetryOptions class and initializes all properties to default values.

Method Summary

Modifier and Type Method and Description
int getMaxRetryAttemptsOnThrottledRequests()

Gets the maximum number of retries in the case where the request fails because the service has applied rate limiting on the client.

int getMaxRetryWaitTimeInSeconds()

Gets the maximum retry time in seconds.

void setMaxRetryAttemptsOnThrottledRequests(int maxRetryAttemptsOnThrottledRequests)

Sets the maximum number of retries in the case where the request fails because the service has applied rate limiting on the client.

void setMaxRetryWaitTimeInSeconds(int maxRetryWaitTimeInSeconds)

Sets the maximum retry time in seconds.

Methods inherited from java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

Constructor Details

RetryOptions

public RetryOptions()

Creates a new instance of the RetryOptions class and initializes all properties to default values.

Method Details

getMaxRetryAttemptsOnThrottledRequests

public int getMaxRetryAttemptsOnThrottledRequests()

Gets the maximum number of retries in the case where the request fails because the service has applied rate limiting on the client.

Returns:

the maximum number of retries.

getMaxRetryWaitTimeInSeconds

public int getMaxRetryWaitTimeInSeconds()

Gets the maximum retry time in seconds.

Returns:

the maximum retry time in seconds.

setMaxRetryAttemptsOnThrottledRequests

public void setMaxRetryAttemptsOnThrottledRequests(int maxRetryAttemptsOnThrottledRequests)

Sets the maximum number of retries in the case where the request fails because the service has applied rate limiting on the client.

When a client is sending requests faster than the allowed rate, the service will return HttpStatusCode 429 (Too Many Request) to throttle the client. The current implementation in the SDK will then wait for the amount of time the service tells it to wait and retry after the time has elapsed.

The default value is 9. This means in the case where the request is throttled, the same request will be issued for a maximum of 10 times to the server before an error is returned to the application.

Parameters:

maxRetryAttemptsOnThrottledRequests - the max number of retry attempts on failed requests due to a throttle error.

setMaxRetryWaitTimeInSeconds

public void setMaxRetryWaitTimeInSeconds(int maxRetryWaitTimeInSeconds)

Sets the maximum retry time in seconds.

When a request fails due to a throttle error, the service sends back a response that contains a value indicating the client should not retry before the time period has elapsed (Retry-After). The MaxRetryWaitTime flag allows the application to set a maximum wait time for all retry attempts. If the cumulative wait time exceeds the MaxRetryWaitTime, the SDK will stop retrying and return the error to the application.

The default value is 30 seconds.

Parameters:

maxRetryWaitTimeInSeconds - the maximum number of seconds a request will be retried.

Applies to