Skip to content

feat: enable adaptive retries on all AWS SDK clients - #68

Merged
michaelcoburn merged 1 commit into
percona:mainfrom
michaelcoburn:fix/sdk-retries
Jun 2, 2026
Merged

feat: enable adaptive retries on all AWS SDK clients#68
michaelcoburn merged 1 commit into
percona:mainfrom
michaelcoburn:fix/sdk-retries

Conversation

@michaelcoburn

Copy link
Copy Markdown
Collaborator

Closes #54

AWS API calls had no explicit retry/backoff configuration, so transient throttling (RequestLimitExceeded) or network blips could abort a run mid-provision and leave a half-built environment.

Sets 'retries' => ['mode' => 'adaptive', 'max_attempts' => 10] on every EC2 and DynamoDB client:

  • start-instances.php (main $ec2, $dynamo, and the printAmis $ec2)
  • setup-vpc.php ($ec2)
  • dynamo.php ($dynamo)

Adaptive mode adds client-side rate limiting, which suits the bursty runInstances/describeInstances calls when launching many teams at once.

Verification

  • php -l clean on all three files.
  • Confirmed the SDK accepts the config and a live LISTAMIS call works.

Note: this touches the same client-factory blocks as #61 (DynamoDB region). They're additive (different keys in the same array), but whichever merges first will leave the other a trivial rebase.

AWS API calls (launching instances, tagging, VPC ops, DynamoDB sync) had
no explicit retry/backoff config, so transient throttling
(RequestLimitExceeded) or blips could abort a run mid-provision and leave
the environment half-built.

Set 'retries' => ['mode' => 'adaptive', 'max_attempts' => 10] on every EC2
and DynamoDB client (start-instances.php x3, setup-vpc.php, dynamo.php).
Adaptive mode adds client-side rate limiting, which is well-suited to the
bursty runInstances/describeInstances calls when launching many teams.

Verified the config is accepted and a live LISTAMIS call works.

Closes percona#54

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaelcoburn
michaelcoburn merged commit 2832405 into percona:main Jun 2, 2026
4 checks passed
@michaelcoburn
michaelcoburn deleted the fix/sdk-retries branch June 2, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve error handling and retries in AWS SDK calls

1 participant