Skip to content

Commit 6749964

Browse files
authored
Merge pull request #44576 from kamilturek/b-aws_dynamodb_table-limit-exceeded-exception-infinite-retries
r/aws_dynamodb_table: Do not retry on `LimitExceededException`
2 parents e020b92 + 852cbc0 commit 6749964

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

.changelog/44576.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
resource/aws_dynamodb_table: Do not retry on `LimitExceededException`
3+
```

internal/service/dynamodb/service_package.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ func (p *servicePackage) withExtraOptions(ctx context.Context, config map[string
2222
return []func(*dynamodb.Options){
2323
func(o *dynamodb.Options) {
2424
retryables := []retry.IsErrorRetryable{
25+
retry.IsErrorRetryableFunc(func(err error) aws.Ternary {
26+
if errs.IsAErrorMessageContains[*awstypes.LimitExceededException](err, "Requested MaxReadRequestUnits for OnDemandThroughput for table exceeds TableMaxReadCapacityUnits") {
27+
return aws.FalseTernary
28+
}
29+
return aws.UnknownTernary // Delegate to configured Retryer.
30+
}),
31+
retry.IsErrorRetryableFunc(func(err error) aws.Ternary {
32+
if errs.IsAErrorMessageContains[*awstypes.LimitExceededException](err, "Requested MaxWriteRequestUnits for OnDemandThroughput for table exceeds TableMaxWriteCapacityUnits") {
33+
return aws.FalseTernary
34+
}
35+
return aws.UnknownTernary // Delegate to configured Retryer.
36+
}),
2537
retry.IsErrorRetryableFunc(func(err error) aws.Ternary {
2638
if errs.IsAErrorMessageContains[*awstypes.LimitExceededException](err, "Subscriber limit exceeded:") {
2739
return aws.TrueTernary

0 commit comments

Comments
 (0)