Srujan Narkedamalli created AVRO-2180:
-----------------------------------------
Summary: grpc-avro|Java: transport exceptions from client to
server as Metadata in
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
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)