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