You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 27, 2021. It is now read-only.
Currently an rpc-get call results in a 500 internal server error if a key does not exist. It is impossible from a caller perspective to distinguish between not found and real failures.
Proposal:
Refactor the protobuf definition like described here i.e wrap results in to XXXResponse envelopes which contain an additional error struct.
Instead directly exposing the generated client write a wrapper which transparently unpacks the above envelope and does transparent error-handling? Tough not sure if this would be compatible with micro? Maybe this can be achieved differently?
The text was updated successfully, but these errors were encountered:
We had a deeper look @butonic and I this morning and found a few things we need to tackle. The first and most crucial one is this.
Then there's the issue of whether we should enforce using go-micro clients to handle requests between services vs using the grpc go client, which, this needs TBC, go-micro allows to via setting an environment variable.
If we have to set it on stone I would settle for go-micro client.
Currently an rpc-get call results in a 500 internal server error if a key does not exist. It is impossible from a caller perspective to distinguish between not found and real failures.
Proposal:
Refactor the protobuf definition like described here i.e wrap results in to XXXResponse envelopes which contain an additional error struct.
Instead directly exposing the generated client write a wrapper which transparently unpacks the above envelope and does transparent error-handling? Tough not sure if this would be compatible with micro? Maybe this can be achieved differently?
The text was updated successfully, but these errors were encountered: