apache / datafusion

Apache DataFusion SQL Query Engine
https://datafusion.apache.org/
Apache License 2.0
5.48k stars 1.01k forks source link

Many `DEBUG datafusion_functions_array] Overwrite existing UDF: array_to_string` messages in log #10658

Closed alamb closed 1 month ago

alamb commented 1 month ago

Describe the bug

We noticed some additional expected log messages upstream in InfluxDB. I found the same messages are present in datafusion-cli

To Reproduce

andrewlamb@Andrews-MacBook-Pro-2:~/Software/influxdb_iox$ RUST_LOG=DEBUG datafusion-cli
DataFusion CLI v38.0.0
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_to_string
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: string_to_array
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: range
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: generate_series
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_dims
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: cardinality
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_ndims
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_append
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_prepend
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_concat
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_except
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_element
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_pop_back
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_pop_front
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_slice
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_has
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_has_all
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_has_any
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: empty
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_length
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: flatten
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_sort
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_repeat
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_resize
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_reverse
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_distinct
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_intersect
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_union
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_position
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_positions
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_remove
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_remove_all
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_remove_n
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_replace_n
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_replace_all
[2024-05-24T19:45:36Z DEBUG datafusion_functions_array] Overwrite existing UDF: array_replace

Expected behavior

I would expect that we aren't re-registering the same UDF multiple times 🤔

Additional context

No response

jayzhan211 commented 1 month ago

Just need to remove aliases in those functions

For example,

https://github.com/apache/datafusion/blob/8bedecc00b2f1f04d7b1a907152ce0d19b7046a5/datafusion/functions-array/src/array_has.rs#L71-L74

Remove the one duplicate name in aliases

goldmedal commented 1 month ago

take