[
https://issues.apache.org/jira/browse/AVRO-2180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Srujan Narkedamalli updated AVRO-2180:
--------------------------------------
Summary: grpc-avro|Java: transport exceptions from server to client as
Metadata in io.grpc.StatusRuntimeException (was: grpc-avro|Java: transport
exceptions from client to server as Metadata in io.grpc.StatusRuntimeException)
> grpc-avro|Java: transport exceptions from server to client as Metadata in
> io.grpc.StatusRuntimeException
> --------------------------------------------------------------------------------------------------------
>
> Key: AVRO-2180
> URL: https://issues.apache.org/jira/browse/AVRO-2180
> Project: Avro
> Issue Type: Improvement
> Components: java
> Affects Versions: 1.8.2
> Reporter: Srujan Narkedamalli
> Priority: Major
>
> Context:
> Currently in grpc-avro library, avro RPC exceptions are transported to from
> server to client as part of a response (using a boolean field at the head of
> response payload to indicate whether its actual response or error) similar to
> avro-ipc's response serialization logic.
> Problem:
> By encapsulating server exception as a regular response, its not visible for
> gRPC to know when an error response is being sent. And any error metrics
> computed gRPC on their stream listeners won't capture these errors.
> Proposed Solution:
> Send server error as io.grpc.StatusRuntimeException (which is perferred way
> of error), with appropriate Status code(probably Internal), and include the
> actual avro serialized error as Metadata attached to it.
> Impact:
> This would change RPC response wire format and won't be backward compatible.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)