avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Baldassari (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-1122) Java: Avro RPC Requestor can block during handshake in async mode
Date Fri, 05 Apr 2013 19:35:15 GMT

    [ https://issues.apache.org/jira/browse/AVRO-1122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13623978#comment-13623978

James Baldassari commented on AVRO-1122:

I noticed that AVRO-1008 has been committed, so it is now possible to perform the handshake
before the first async RPC.  However, if NettyTransceiver loses its connection to the server
and has to reconnect, subsequent RPCs will block until the handshake is reestablished.

It would be great to eventually support an asynchronous handshake, but it raises the question
of what should happen when code is trying to execute an RPC before the async handshake has
completed.  Should the Requestor/Transceiver simply throw an Exception and let the client
deal with it?  That would be one way to handle it, but it's more work for users of the library.
 A compromise might be to have the Requestor/Transceiver throw an exception when the handshake
has not completed but also provide an event listener interface (or future/callback) that allows
other code to detect when the handshake is complete.  It should also be possible to implement
an optional wrapper class that would provide the block-until-complete behavior.
> Java: Avro RPC Requestor can block during handshake in async mode
> -----------------------------------------------------------------
>                 Key: AVRO-1122
>                 URL: https://issues.apache.org/jira/browse/AVRO-1122
>             Project: Avro
>          Issue Type: Bug
>    Affects Versions: 1.6.3
>            Reporter: Mike Percy
>         Attachments: Screen Shot 2012-06-27 at 12.43.32 AM.png
> We are seeing an issue in Flume where the Avro RPC Requestor is blocking for long periods
of time waiting for the Avro handshake to complete. Since we are using the API with Futures,
this should not block.

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

View raw message