[ 
https://issues.apache.org/jira/browse/IGNITE-12449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Seliverstov resolved IGNITE-12449.
---------------------------------------
    Resolution: Done

Done in scope of IGNITE-12448

> 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