Over a series of PRs (with [1] being the overall PR with most of the discussion) we have done some internal refactoring of the streaming execution engine (Acero) to put it into its own namespace and library. This was a significant move of files and there are two breaking changes (the affected code was labeled experimental but we have tried to avoid breaking changes here so far) that I wanted to cover in more detail. This is also why I've included the user@ mailing list as I know there are some users that are using the ExecPlan today.
The overall gist of the change is covered in this diagram [2] and there is now an additional libarrow_acero shared library. The breaking changes are: * A number of files that used to reside in src/arrow/compute/exec are now located in src/arrow/acero * Some of the symbols in the arrow::compute namespace (those defined in the above files) have now moved to the arrow::acero namespace We have no doubt broken something in this change. I will be focusing on nightly test failures over the next few weeks as we approach the release. Please feel free to ping me (@westonpace) on any issues that seem to be caused by this. Lastly, I want to thank ildipo and icexelloss for doing the bulk of this work and many others (Will, Joris, Kou, Jacob, and more I probably missed) for their review and suggestions. [1] https://github.com/apache/arrow/issues/15280 [2] https://docs.google.com/document/d/1oCGl3_QJUcNAk1qnjlBvoZsWKbrTsCT87QozqbCK6sQ/edit?usp=sharing