Configuring the AWS Client

The AWS API is eventually consistent only and also exhibits a customer specific dynamic throttling policy, both of which require respective retry logic to be in place. While the facilitated AWS SDK for Java features an exponential backoff strategy, it defaults to 2-3 retries only (accumulating to a retry window of up to ~4 seconds), which has proven to be too low for the use case at hand. The values are configurable accordingly, with an increased default of 7 retries (accumulating to a retry window of up to ~1 minute).

The increased defaults should be sufficient for most scenarios, but can be adjusted by defining and thus overriding one or both of the following Bamboo variables, either globally, or for a specific project, plan, or custom build:

  • custom.aws.maxErrorRetry – how many retries should the exponential backoff algorithm perform (default: 7)

  • custom.aws.awaitTransitionInterval – how long should the task wait before querying the resource transition state again (default: 15000 milliseconds)

 

Atlassian®, Atlassian Bamboo®, Bitbucket®, Atlassian Crowd®, Confluence®, Jira®, Jira Service Management™, Opsgenie®, and Statuspage™ are registered trademarks of Atlassian.
Amazon Web Services™, AWS™ and the “Powered by Amazon Web Services” logo are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.

Utoolity® is a registered trademark of Utoolity GmbH.
© 2024 Utoolity GmbH. All rights reserved.