[ 
https://issues.apache.org/jira/browse/AVRO-2172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16459825#comment-16459825
 ] 

Doug Cutting commented on AVRO-2172:
------------------------------------

This would be a wonderful addition to Apache Avro!

Can you add it under lang/java in the Avro source tree and submit a pull 
request on GitHub?

Thanks!

> 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
>            Priority: Major
>
> 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)

Reply via email to