kumarUjjawal opened a new issue, #22121:
URL: https://github.com/apache/datafusion/issues/22121
### Describe the bug
The `array_replace` benchmark calls `expr_fn::array_replace_all`, which only
constructs an `Expr::ScalarFunction` node, it does not execute the underlying
`array_replace_all_inner` kernel.
As a result, the benchmark measures `Expr` construction and cloning, not
kernel performance. It cannot detect regressions in the function it was
originally introduced to protect (added in #8337 — "Avoid concat for
array_replace").
### To Reproduce
`expr_fn::array_replace_all` is generated by `make_udf_expr_and_func!` and
returns:
```rust
Expr::ScalarFunction { fun: array_replace_all_udf, args: [...] }
```
It never invokes array_replace_all_inner.
### Expected behavior
The benchmark should invoke the kernel on ArrayRef inputs, for example via
the ScalarUDFImpl::invoke_* path or by calling array_replace_all_inner directly
so that it measures actual replacement performance and guards against kernel
regressions.
### Additional context
Discovered while investigating #18447.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]