[ 
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

Reply via email to