sven-weber opened a new pull request, #47439:
URL: https://github.com/apache/arrow/pull/47439

   ### Rationale for this change
   
   When using a Acero with a non-default execution context and memory pool, I 
noticed that the ```FilterNode``` did not use the ```MemoryPool``` as intended 
but instead falls back to the default Arrow mi-malloc memory pool. As a 
consequence, any output data of the filter is not allocated with the intended 
memory pool.  As all other Acero Nodes did take the execution context and 
MemoryPool into account, this seems like a bug to me.
   
   ### What changes are included in this PR?
   
   I changed the ```ProcessBatch``` function of the ```FilterNode``` such that 
is passes its execution context to the underlying ```Filter``` operator instead 
of using the default parameter in the ```Filter``` constructor.
   
   The same code and behavior is already present in other nodes. See for 
example the 
[ProjectNode](https://github.com/apache/arrow/blob/main/cpp/src/arrow/acero/project_node.cc#L99).
   
   ### Are these changes tested?
   
   Yes. After including the change from this PR, filtering in Acero takes the 
MemoryPool from the execution context into account as intended.
   
   ### Are there any user-facing changes?
   
   No. For users with the default execution context no changes are noticeable. 
For users that use a non-default context this is now used as intended.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to