State management with Java SDK - clarify error message when etag is incorrect
- Lingua principale
- Java
- Stelle
- 300
- Fork
- 230
- Merge medio
- 5g 1h
- PR unite (30g)
- 5
Descrizione
## Describe the proposal
Currently, when you update the value of a key in the state and do not pass the etag correctly, you receive this generic error message:
```
**io.dapr.exceptions.DaprException: ERR_STATE_SAVE: failed saving state in state store general-purpose-service-store: no item was updated**
at io.dapr.client.DaprHttp$ResponseFutureCallback.onResponse(DaprHttp.java:385) ~[dapr-sdk-1.10.0.jar:na]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
*__checkpoint ⇢ Handler com.dotmatics.databricksmanagement.api.controller.DbxUserTokenController#createUserToken(RequestUserTokenDto) [DispatcherHandler]
Original Stack Trace:
at io.dapr.client.DaprHttp$ResponseFutureCallback.onResponse(DaprHttp.java:385) ~[dapr-sdk-1.10.0.jar:na]
at org.glowroot.agent.plugin.httpclient.OkHttpCallbackWrapper_.onResponse(OkHttpCallbackWrapper.java:59) ~[na:na]
at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519) ~[okhttp-4.10.0.jar:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
```
Can you consider returning a clearer and more specific message or error code to facilitate troubleshooting?
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia in DaprHttp.java, intorno alla posizione di ResponseFutureCallback.onResponse mostrata nello stack trace, quindi segui la gestione della richiesta e della risposta di salvataggio dello stato del Java SDK per un etag errato. Riproduci l’aggiornamento non riuscito e definisci il completamento come la restituzione di un messaggio o di un codice di errore più chiaro e specifico che distingua l’errore dell’etag da un errore generico dell’archivio di stato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- api, backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100