avro-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cutt...@apache.org
Subject svn commit: r1424699 - in /avro/trunk: CHANGES.txt doc/src/content/xdocs/spec.xml lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java lang/java/ipc/src/test/java/org/apache/avro/ipc/TestNettyServerConcurrentExecution.java
Date Thu, 20 Dec 2012 20:52:49 GMT
Author: cutting
Date: Thu Dec 20 20:52:49 2012
New Revision: 1424699

URL: http://svn.apache.org/viewvc?rev=1424699&view=rev
Log:
AVRO-1008. Java: Improve support for forcing connection handshakes.

Modified:
    avro/trunk/CHANGES.txt
    avro/trunk/doc/src/content/xdocs/spec.xml
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/TestNettyServerConcurrentExecution.java

Modified: avro/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/avro/trunk/CHANGES.txt?rev=1424699&r1=1424698&r2=1424699&view=diff
==============================================================================
--- avro/trunk/CHANGES.txt (original)
+++ avro/trunk/CHANGES.txt Thu Dec 20 20:52:49 2012
@@ -12,6 +12,9 @@ Trunk (not yet released)
     AVRO-1221. Java: Fix TestSaslDigestMd5 to pass on IBM JVM.
     (Rodrigo Trujillo via cutting)
 
+    AVRO-1008. Java: Improve support for forcing connection
+    handshakes. (jbaldassari & cutting)
+
   BUG FIXES
 
 Avro 1.7.3 (6 December 2012)

Modified: avro/trunk/doc/src/content/xdocs/spec.xml
URL: http://svn.apache.org/viewvc/avro/trunk/doc/src/content/xdocs/spec.xml?rev=1424699&r1=1424698&r2=1424699&view=diff
==============================================================================
--- avro/trunk/doc/src/content/xdocs/spec.xml (original)
+++ avro/trunk/doc/src/content/xdocs/spec.xml Thu Dec 20 20:52:49 2012
@@ -1013,6 +1013,10 @@
           declaration.</li>
         </ul>
 
+        <p>When the empty string is used as a message name a server
+        should ignore the parameters and return an empty response.  A
+        client may use this to ping a server or to perform a handshake
+        without sending a protocol message.</p>
 
         <p>When a message is declared one-way and a stateful
         connection has been established by a successful handshake

Modified: avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java?rev=1424699&r1=1424698&r2=1424699&view=diff
==============================================================================
--- avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java (original)
+++ avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/Responder.java Thu Dec 20 20:52:49
2012
@@ -123,6 +123,8 @@ public abstract class Responder {
       // read request using remote protocol specification
       context.setRequestCallMeta(META_READER.read(null, in));
       String messageName = in.readString(null).toString();
+      if (messageName.equals(""))                 // a handshake ping
+        return handshake;
       Message rm = remote.getMessages().get(messageName);
       if (rm == null)
         throw new AvroRuntimeException("No such remote message: "+messageName);

Modified: avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/TestNettyServerConcurrentExecution.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/TestNettyServerConcurrentExecution.java?rev=1424699&r1=1424698&r2=1424699&view=diff
==============================================================================
--- avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/TestNettyServerConcurrentExecution.java
(original)
+++ avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/TestNettyServerConcurrentExecution.java
Thu Dec 20 20:52:49 2012
@@ -93,11 +93,11 @@ public class TestNettyServerConcurrentEx
     
     transceiver = new NettyTransceiver(new InetSocketAddress(
         server.getPort()), TestNettyServer.CONNECT_TIMEOUT_MILLIS);
+    
+    // 1. Create the RPC proxy, and establish the handshake:
     final Simple.Callback simpleClient = 
         SpecificRequestor.getClient(Simple.Callback.class, transceiver);
-    
-    // 1. Execute the Client.add(int, int) RPC to establish the handshake:
-    Assert.assertEquals(3, simpleClient.add(1, 2));
+    SpecificRequestor.getRemote(simpleClient);    // force handshake
     
     /*
      * 2a. In a background thread, wait for the Client.hello("wait") call to be



Mime
View raw message