DynamoDbEnhanced Java Requests - Allow timeout per operation
- Lingua principale
- Java
- Stelle
- 2.6k
- Fork
- 1k
- Merge medio
- 2g 9h
- PR unite (30g)
- 51
Descrizione
### 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
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia tracciando i tipi di request di DynamoDB Enhanced Java Client e confrontandoli con l’esempio di ScanRequest di basso livello che accetta AwsRequestOverrideConfiguration. Il lavoro è completato quando tutte le enhanced requests supportano overrideConfiguration per operazione senza richiedere client separati; l’issue non indica file sorgente o test specifici.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- aws, java
- Ambito
- backend-api-design, databases
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100