Commits

Weston Pace authored d9cec2304fa
ARROW-13417: [C++] The merged generator can sometimes pull from source sync-reentrant A couple of things were at play here. First, the parallel CSV reader added a cleanup step to the async vector generator which made it no longer sync-reentrant safe. This served as a useful canary to detect this issue. Second, there was a test in place to ensure that the merged generator did not pull from the individual subscriptions in a sync-reentrant manner. However, this test was not guarding the source generator. Finally, the bug itself was pretty straightforward. The source could be pulled whenever a subscription finished and so if two subscriptions finished at the same time it would cause a race condition (or if a subscription finished very quickly and the initial pull was still adding subscriptions). Closes #10758 from westonpace/ARROW-13417--c-the-merged-generator-can-sometimes-pull-from Authored-by: Weston Pace <weston.pace@gmail.com> Signed-off-by: Weston Pace <weston.pace@gmail.com>