[ https://issues.apache.org/jira/browse/AVRO-1214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16745490#comment-16745490 ]
Hudson commented on AVRO-1214: ------------------------------ FAILURE: Integrated in Jenkins build AvroJava #586 (See [https://builds.apache.org/job/AvroJava/586/]) AVRO-1214 Use void instead of Void for RPC methods (dkulp: [https://github.com/apache/avro/commit/05171ee872bb8d6e9173a34b7832f522b2a56763]) * (edit) lang/java/ipc/src/test/java/org/apache/avro/ipc/TestNettyServerWithCallbacks.java * (edit) lang/java/ipc/src/test/java/org/apache/avro/TestProtocolSpecific.java * (edit) lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java * (edit) lang/java/grpc/src/test/java/org/apache/avro/grpc/TestAvroProtocolGrpc.java * (edit) lang/java/compiler/src/main/velocity/org/apache/avro/compiler/specific/templates/java/classic/protocol.vm * (edit) lang/java/ipc/src/test/java/org/apache/avro/TestNamespaceSpecific.java * (edit) lang/java/ipc/src/test/java/org/apache/avro/TestBulkData.java * (edit) lang/java/ipc/src/test/java/org/apache/avro/ipc/TestNettyServerConcurrentExecution.java > Generated protocol's method should return void instead of Void like one-way > message > ----------------------------------------------------------------------------------- > > Key: AVRO-1214 > URL: https://issues.apache.org/jira/browse/AVRO-1214 > Project: Apache Avro > Issue Type: Improvement > Components: java > Affects Versions: 1.7.2 > Reporter: Sébastien Launay > Assignee: Daniel Kulp > Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-1214-unbox-void-2012-12-05.patch > > > Using the following IDL: > {noformat} > @namespace("org.apache.avro.test") > protocol Simple { > error TestError { > string message; > } > string hello(string greeting); > void `error`() throws TestError; > void ping() oneway; > } > {noformat} > Will produce the interface: > {code:java} > package org.apache.avro.test; > public interface Simple { > public static final org.apache.avro.Protocol PROTOCOL = > org.apache.avro.Protocol.parse("..."); > java.lang.CharSequence hello(java.lang.CharSequence greeting) throws > org.apache.avro.AvroRemoteException; > java.lang.Void error() throws org.apache.avro.AvroRemoteException, > org.apache.avro.test.TestError; > void ping(); > public interface Callback extends Simple { > public static final org.apache.avro.Protocol PROTOCOL = > org.apache.avro.test.Simple.PROTOCOL; > void hello(java.lang.CharSequence greeting, > org.apache.avro.ipc.Callback<java.lang.CharSequence> callback) throws > java.io.IOException; > void error(org.apache.avro.ipc.Callback<java.lang.Void> callback) throws > java.io.IOException; > } > } > {code} > Then one is forced to add {{return null;}} statement(s) in the interface > implementation for the {{error()}} method which can be a bit cumbersome and > that's not the case for the oneway {{ping()}} method. > This is fine on the Callback though because the developer can just ignore the > callback argument. -- This message was sent by Atlassian JIRA (v7.6.3#76005)