[
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.