- Defined in:
The transaction with the given request token is already in progress.
<note markdown=“1”> 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 ‘clientExecutionTimeout` to a value that allows at least one retry to be processed after 5 seconds have elapsed since the first attempt for the `TransactWriteItems` operation.
Set ‘socketTimeout` to a value a little lower than the `requestTimeout` setting.
‘requestTimeout` should 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 and `TransactionInProgressException` errors.
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:
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)
Constant Summary collapse
- SENSITIVE =
Instance Attribute Summary collapse
Instance Attribute Details
#message ⇒ String
9092 9093 9094 9095 9096
# File 'lib/aws-sdk-dynamodb/types.rb', line 9092 class < Struct.new( :message) =  include ::Structure end