You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Srujan Narkedamalli (JIRA)" <ji...@apache.org> on 2018/05/23 02:22:00 UTC
[jira] [Updated] (AVRO-2180) grpc-avro|Java: transport exceptions
from client to server as Metadata in io.grpc.StatusRuntimeException
[ 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)