Allow IPC clients to perform the IPC handshake before the first RPC is invoked
------------------------------------------------------------------------------
Key: AVRO-1008
URL: https://issues.apache.org/jira/browse/AVRO-1008
Project: Avro
Issue Type: Improvement
Affects Versions: 1.6.1
Reporter: James Baldassari
Currently, the first RPC must complete before any subsequent RPCs may be
invoked using the same Transceiver instance. The reason for this behavior is
that the IPC client-server handshake must be performed before any requests can
be exchanged. So while the first RPC is being invoked, all other threads using
the same Transceiver instance will block. The goal of this enhancement is to
allow clients to perform a handshake with the server _before_ any RPCs are
invoked to avoid blocking any threads once the Transceiver is put into service.
I have a patch for review that I think will enable clients to perform the
handshake before the first RPC is sent. The changes consist of:
* Modification to the Responder to handle a request that contains only a
handshake (without an RPC)
* Addition of overridden SpecificRequestor.getClient(...) methods that take an
boolean indicating whether the handshake should be performed immediately upon
initialization of the Requestor
* Unit test which is essentially the same as the test I wrote for AVRO-1001,
but it uses a pre-RPC handshake rather than invoking the add(...) RPC to
perform the handshake
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira