Commits

Weston Pace authored 7ffeead4000
ARROW-14539: [C++] Dataset scanner test failing a DCHECK If the exec plan ends early (either through a failure or user cancellation) it is possible for `AsyncTaskGroup::AddTask` to be called after `AsyncTaskGroup::End`. This led to `AsyncTaskGroup` trying to mark its future finished twice. I modified `AsyncTaskGroup` so that it won't mark the future twice if this condition occurs. Instead it returns a cancelled status. There is no good way to prevent this condition in `MapNode` without introducing a mutex / more synchronization so instead I just modified `MapNode` to expect a potential cancelled status return from `AddTask`. Closes #11590 from westonpace/bugfix/ARROW-14539--dcheck-on-scanner-test Authored-by: Weston Pace <weston.pace@gmail.com> Signed-off-by: Weston Pace <weston.pace@gmail.com>