apache / apache/arrow

[C++][Compute] Replace ExecNode::InputReceived with ::MakeTask (Part 2)

Open
#30,492 2 comments 0 reactions 0 assignees View on GitHub
Component: C++ Type: task
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

In ARROW-13576 we made possible to defer computation of exec nodes but only for some implementations (e.g. Filter and Project) 

This ticket is to continue that effort and make all the nodes submit their tasks at the moment they are operating the ExecNode::InputReceived

Related tasks:

https://issues.apache.org/jira/browse/ARROW-13576

https://issues.apache.org/jira/browse/ARROW-14330

 

**Reporter**: [Percy Camilo Triveño Aucahuasi](https://issues.apache.org/jira/browse/ARROW-14970) / @aucahuasi
#### Related issues:
- [[C++] Investigate potential performance improvements for the filter node](https://github.com/apache/arrow/issues/30992) (relates to)
#### PRs and other links:
- [GitHub Pull Request #11923](https://github.com/apache/arrow/pull/11923)

**Note**: *This issue was originally created as [ARROW-14970](https://issues.apache.org/jira/browse/ARROW-14970). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Contributor guide

Open the contributing guide

Research direction

Review the ExecNode::InputReceived and ::MakeTask paths, then compare the Filter and Project implementations mentioned as partial prior work. Determine how the remaining execution nodes should submit tasks while handling InputReceived, and use PR #11923 and the related ARROW-13576 and ARROW-14330 tasks to establish the intended completion scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
data-engineering
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.