[ https://issues.apache.org/jira/browse/AVRO-2172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16460501#comment-16460501 ]
Srujan Narkedamalli commented on AVRO-2172: ------------------------------------------- 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)