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

Doug Cutting commented on AVRO-625:
-----------------------------------

I think it is possible to implement this as an optional, back-compatible 
feature as follows:
 - clients may add a "call-id" metadata field to requests, uniquely identifying 
the call within the connection.
-  if no call-id is present in a request, servers must respond in-order.
 - if a call-id is present in a request, and a server supports out-of-order 
responses, the server must copy the "call-id" to the response;
 - if no call-id is present in a response, then the response must be in-order.

Simple clients and servers need not specify call ids.

A client which can handle out-of-order responses might keep a lifo queue of 
outstanding call-ids so that it can process responses that lack a call-id.

A server which implements out-of-order responses, when requests lack call-ids, 
might block subsequent requests over the connection until each response has 
been sent.

> RPC: permit out-of-order responses
> ----------------------------------
>
>                 Key: AVRO-625
>                 URL: https://issues.apache.org/jira/browse/AVRO-625
>             Project: Avro
>          Issue Type: New Feature
>          Components: java, spec
>            Reporter: Doug Cutting
>            Assignee: Doug Cutting
>
> It should be possible, when using a stateful, connection-based transport, for 
> a client to complete a second request over a connection before the first 
> request has returned.  In other words, responses should be permitted to 
> arrive out-of-order.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to