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

Apache Arrow JIRA Bot reassigned ARROW-16522:
---------------------------------------------

    Assignee:     (was: Sasha Krassovsky)

> [C++] Evolution of exec plan
> ----------------------------
>
>                 Key: ARROW-16522
>                 URL: https://issues.apache.org/jira/browse/ARROW-16522
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Weston Pace
>            Priority: Major
>
> This is a high level JIRA that will be broken into a number of subtasks. 
> There are a number of things that each node has to reinvent (or, more likely, 
> copy/paste) and it we probably know enough at this point that we can enhance 
> the ExecNode/ExecPlan API a bit to move some of the burden out of the nodes 
> and into the plan. At a high level:
>  * All nodes that schedule tasks use an async task group so they can make 
> sure that all scheduled tasks are finished before the node is marked finish. 
> Task scheduling could happen at the plan level and there would be one spot 
> keeping track of running tasks.
>  * If we have centralized scheduling then that opens up the door for a 
> centralized handling of errors and backpressure. A node's default error 
> behavior is then "stop scheduling tasks" and a node's default backpressure 
> behavior is "stop running tasks".
>  * There are no nodes that emit to multiple outputs today. Sending data to 
> multiple outputs is not simple. This is a pipeline breaking activity and new 
> tasks will need to be scheduled and the data will need to be held onto until 
> each downstream task has run, and backpressure may need to be applied if one 
> output is slower than the other. Node's should not be given the choice of 
> multiple outputs unless they are solving specifically that problem (e.g. 
> temporary table).
> A small document describing the proposed changes is here: 
> https://docs.google.com/document/d/1yFFUXRsN9Un89Xua-mwJnLRM60gjOBgeWdqtxL9tDSI/edit?usp=sharing



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

Reply via email to