[ 
https://issues.apache.org/jira/browse/CALCITE-668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17624095#comment-17624095
 ] 

Julian Hyde commented on CALCITE-668:
-------------------------------------

I agree that putting the complete "session state" in all requests is required.

But there is also the issue of result sets that require more than one fetch. If 
"select * from orders" returns 350 rows, you just can't fetch the rows 0..99 
from one instance and then send a fetch request for rows 100..199 that might go 
to a different instance. One possible answer is to use provide a streaming RPC 
response - a single RPC message, of unbounded size, that contains all rows. The 
client might apply back-pressure, and only read the first 1M bytes of the 
response, and then a few seconds later read the next 1M bytes. Streaming 
responses would place requirements on the wire format (say http) and also on 
the message encoding (say a form of JSON or protobuf where messages can be 
parsed before the complete message has arrived).

> [Avatica] Support sessionless query requests
> --------------------------------------------
>
>                 Key: CALCITE-668
>                 URL: https://issues.apache.org/jira/browse/CALCITE-668
>             Project: Calcite
>          Issue Type: Improvement
>          Components: avatica
>            Reporter: Nick Dimiduk
>            Priority: Major
>
> Brought up over on CALCITE-663. One goal I have for Avatica is to support 
> hosting a number of Avatica instances behind a "dumb" load balancer (i.e., 
> round robin). This places the burden of implicit connection and statement 
> creation on the protocol. A single client request should have everything it 
> needs for a server to execute it, even if the server has never seen this 
> client before.
> There are different ways to accomplish this goal, some of which mentioned 
> already include:
>  - complete "session state" in all requests
>  - multiple rpc methods passed in a single wire transaction



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to