Skip to content

uServices error handling? #2

@erikbosch

Description

@erikbosch

Out of curiosity, is there a "design pattern" documentation for uServices? I notice that all RPCs return a message containing google.rpc.Status. But isn't google.rpc.Status implicitly included anyway, i.e. a server can return for instance INVALID_ARGUMENT (like in this example) even if there is no explicit google.rpc.Status field in the return message.

Or is it so that as part of uServices/uProtocol that an explicit google.rpc.Status as part of the return message always is required, or at least recommended?

service Engine {
...

  // Request to reset an engine component's life to 100%. After a reset, the
  // remaining life will go back to 100% and the health state of that component
  // will go back to the OK state.
  rpc ResetHealth(ResetHealthRequest) returns (ResetHealthResponse) {
    option (method_id) = 1;
  }
}

...

// Response to reset health request
message ResetHealthResponse {
  // Rpc return status
  google.rpc.Status status = 1;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions