Class TransactionInProgressException
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<TransactionInProgressException.Builder,TransactionInProgressException>
The transaction with the given request token is already in progress.
Recommended Settings
This is a general recommendation for handling the TransactionInProgressException. These settings help
ensure that the client retries will trigger completion of the ongoing TransactWriteItems request.
-
Set
clientExecutionTimeoutto a value that allows at least one retry to be processed after 5 seconds have elapsed since the first attempt for theTransactWriteItemsoperation. -
Set
socketTimeoutto a value a little lower than therequestTimeoutsetting. -
requestTimeoutshould be set based on the time taken for the individual retries of a single HTTP request for your use case, but setting it to 1 second or higher should work well to reduce chances of retries andTransactionInProgressExceptionerrors. -
Use exponential backoff when retrying and tune backoff if needed.
Assuming default retry policy, example timeout settings based on the guidelines above are as follows:
Example timeline:
-
0-1000 first attempt
-
1000-1500 first sleep/delay (default retry policy uses 500 ms as base delay for 4xx errors)
-
1500-2500 second attempt
-
2500-3500 second sleep/delay (500 * 2, exponential backoff)
-
3500-4500 third attempt
-
4500-6500 third sleep/delay (500 * 2^2)
-
6500-7500 fourth attempt (this can trigger inline recovery since 5 seconds have elapsed since the first attempt reached TC)
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionbuilder()static Class<? extends TransactionInProgressException.Builder> Create aAwsServiceException.Builderinitialized with the properties of thisAwsServiceException.Methods inherited from class software.amazon.awssdk.awscore.exception.AwsServiceException
awsErrorDetails, getMessage, isClockSkewException, isThrottlingExceptionMethods inherited from class software.amazon.awssdk.core.exception.SdkServiceException
extendedRequestId, isRetryableException, requestId, statusCodeMethods inherited from class software.amazon.awssdk.core.exception.SdkException
create, retryableMethods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toStringMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.amazon.awssdk.core.SdkPojo
equalsBySdkFieldsMethods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
toBuilder
Description copied from class:AwsServiceExceptionCreate aAwsServiceException.Builderinitialized with the properties of thisAwsServiceException.- Specified by:
toBuilderin interfaceToCopyableBuilder<TransactionInProgressException.Builder,TransactionInProgressException> - Overrides:
toBuilderin classDynamoDbException- Returns:
- A new builder initialized with this config's properties.
-
builder
-
serializableBuilderClass
-
sdkFields
-