[ 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)