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)