[
https://issues.apache.org/jira/browse/AVRO-2172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Doug Cutting resolved AVRO-2172.
--------------------------------
Resolution: Fixed
Assignee: Srujan Narkedamalli
Fix Version/s: 1.9.0
I committed this. Thanks, Srujan!
> Avro over gRPC (Java Implementation)
> ------------------------------------
>
> Key: AVRO-2172
> URL: https://issues.apache.org/jira/browse/AVRO-2172
> Project: Avro
> Issue Type: New Feature
> Components: java
> Reporter: Srujan Narkedamalli
> Assignee: Srujan Narkedamalli
> Priority: Major
> Fix For: 1.9.0
>
>
> We (wavefront/VMware) have implemented a java library/module for using RPC
> defined using Avro (.avdl/.avpr) over gRPC, and would like to contribute this
> to Apache Avro. gRPC provides ability to build streaming RPC and also in
> terms of Java implementation its built on recent version of Netty (4.x).
> Overview of our Avro-gRPC Java Implementation:
> gRPC by default provides support for Protobuf IDL and the APIs are tuned
> towards it. Following are main differences in gRPC API/Protobuf and Avro's
> RPC IDL that our library bridges:
> * Protobuf/gRPC supports only single argument for RPC request vs Avro's
> multiple arguments. This is handled in serialization logic.
> * Protobuf/gRPC does not support throwing typed exceptions over wire
> natively. Avro’s typed RPC exceptions are handled in the serialization logic.
> * Protobuf/gRPC does not support one-way RPC. We don’t avoid doing
> round-trip to server but respond back with null response as soon as request
> is received at server, and then invoke the server implementation.
> * gRPC provides RPC code generation for Protobuf. For Avro, we use the
> current minimal code generation, and provide Client and Server Invocation
> handlers.
>
> Can we have this as a new artifact/maven child project in Avro Java project
> with a name something like `avro-grpc` ?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)