Return-Path: X-Original-To: apmail-avro-dev-archive@www.apache.org Delivered-To: apmail-avro-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1A7DAD38B for ; Wed, 19 Dec 2012 22:53:13 +0000 (UTC) Received: (qmail 94767 invoked by uid 500); 19 Dec 2012 22:53:12 -0000 Delivered-To: apmail-avro-dev-archive@avro.apache.org Received: (qmail 94719 invoked by uid 500); 19 Dec 2012 22:53:12 -0000 Mailing-List: contact dev-help@avro.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@avro.apache.org Delivered-To: mailing list dev@avro.apache.org Received: (qmail 94710 invoked by uid 99); 19 Dec 2012 22:53:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Dec 2012 22:53:12 +0000 Date: Wed, 19 Dec 2012 22:53:12 +0000 (UTC) From: "Doug Cutting (JIRA)" To: dev@avro.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (AVRO-1008) Allow IPC clients to perform the IPC handshake before the first RPC is invoked MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AVRO-1008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Doug Cutting updated AVRO-1008: ------------------------------- Attachment: AVRO-1008.patch Here's a revised patch. It: - no longer logs an error on the server when getRemote() sends an empty message name to force a handshake - updates TestNettyServerConcurrentExecution to call getRemote() to force the handshake - updates the specification to document this use of the empty message name > 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 > Assignee: James Baldassari > Labels: java > Attachments: AVRO-1008.patch, AVRO-1008.patch > > > 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 For more information on JIRA, see: http://www.atlassian.com/software/jira