[ 
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 client to server as 
Metadata in io.grpc.StatusRuntimeException  (was: grpc-avro|Java: transport 
exceptions from client to server as Metadata in  )

> grpc-avro|Java: transport exceptions from client to server 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)

Reply via email to