dapr / dapr/java-sdk

State management with Java SDK - clarify error message when etag is incorrect

Offen
#957 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
needs runtime change
Vorherrschende Sprache
Java
Sterne
300
Forks
230
Ø Merge
5 T. 1 Std.
Gemergte PRs (30 T.)
5

Beschreibung

## 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?

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne in DaprHttp.java bei der in der Stacktrace angezeigten Stelle ResponseFutureCallback.onResponse und verfolge dann die Verarbeitung der Zustands-Speicheranforderung und -antwort im Java SDK für ein falsches etag. Reproduziere die fehlgeschlagene Aktualisierung und definiere den Abschluss so, dass eine klarere, spezifische Nachricht oder ein Fehlercode zurückgegeben wird, der den etag-Fehler von einem generischen State-Store-Fehler unterscheidet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api, backend
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.