Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-16522 [C++] Evolution of exec plan
  3. ARROW-16523

[C++] Move ExecPlan scheduling into the plan

    XMLWordPrintableJSON

Details

    Description

      Source nodes and pipeline breakers need to schedule new thread tasks. These tasks run entire fused pipelines (e.g. the thread task could be thought of as analogous to a "driver" in some other models).

      At the moment every node that needs to schedule tasks (scan node, hash-join node, aggregate node, etc.) handles this independently. The result is a lot of similar looking code and bugs like ARROW-15221 where one node takes care of cleanup but another doesn't.

      We can centralize this by moving this scheduling into the ExecPlan itself and giving nodes an ability to schedule tasks via the ExecPlan.

      Attachments

        Issue Links

          Activity

            People

              sakras Sasha Krassovsky
              westonpace Weston Pace
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 4h
                  4h