aws / aws/aws-sdk-java-v2

DynamoDbEnhanced Java Requests - Allow timeout per operation

Open
#6,121 1 comment 0 reactions 0 assignees View on GitHub
dynamodb-enhanced feature-request p3
Dominant language
Java
Stars
2.6k
Forks
1k
Avg merge
2d 9h
Merged PRs (30d)
51

Description

### Describe the feature

Using the plain low level DDB java client we are able to use `.overrideConfiguration(...)` on various requests in order to change behavior per request and not on the entire client level. This does not appear to be possible using the enhanced java client requests.

Example:
```java
// low level request changing timeout for this request
ScanRequest.builder().overrideConfiguration(AwsRequestOverrideConfiguration.builder().apiCallAttemptTimeout(Duration.ZERO).build()).build();
```

### Use Case

When performing a request that I expect might take longer than others I should be able to specify the timeout differently similar to the low level client.

### Proposed Solution

Allow `.overrideConfiguration(...)` on all enhanced requests

### Other Information

One proposed solution online is to create a new client with a different timeout, but typically avoid instantiating multiple clients with different configurations as that feels like it goes against best practices of having one client with a shared connection pool.

### Acknowledgements

- [x] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### AWS Java SDK version used

2.0

### JDK version used

JDK 17

### Operating System and version

macOS Sequoia 15.4.1

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.