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/02 04:16:00 UTC

[jira] [Comment Edited] (AVRO-2172) Avro over gRPC (Java Implementation)

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

Srujan Narkedamalli edited comment on AVRO-2172 at 5/2/18 4:15 AM:
-------------------------------------------------------------------

Thank you, Submitted a pull request on Github.

 

The PR proposes a new maven module "avro-grpc". Added the Apache license to all the files and made sure the build passes the tests.


was (Author: srujann):
Thank you, Submitted a pull request on Github.

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