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

Ilya Suntsov commented on IGNITE-12449:
---------------------------------------

[~gvvinblade] 
 # What problem are you trying to solve with the new approach?
 # What is the limitations of this approach? What is out of scope?

[~mshonichev] please take a look at description and share your thoughts.

 

> Calcite integration. Execution flow.
> ------------------------------------
>
>                 Key: IGNITE-12449
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12449
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Igor Seliverstov
>            Assignee: Igor Seliverstov
>            Priority: Major
>
> We need to introduce query execution environment.
> Execution should:
> * use streaming approach
> * have suspend/resume ability
> * work in event loop threads
> Rough protocol description:
> The flow is defined as a tree of operations, like filter, project etc. 
> Each node provides a sink to consume data from its children and has a target 
> sink to push data to upper node. 
> Upper node may signal that it's ready to consume data. After a node received 
> a signal it starts to push data into a target sink until the sink says there 
> is no place for new data, after that the node stops pushing data until a new 
> signal. 
> Some of nodes (like inbox node, describing remote input) may signal that 
> there is some new data, it forces a root node to signal its children top to 
> bottom. 
> When a signal arrived an inbox node, the inbox starts to push the new data. 
> When a node realizes the data is over, it sends "end" signal to a target 
> sink, after that an upper node wont signal the node to continue data pushing.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to