BUG: component_percona_udf Does Not Register Any UDFs on Percona Server 8.4.7‑7 (EL9)
Missing component_udf_registration Component in EL9 Packaging
I believe I’ve encountered a packaging bug in Percona Server for MySQL 8.4.7‑7 on EL9 (Oracle).
The component_percona_udf component installs metadata correctly, but never loads, never registers UDFs, and writes no error log entries.
The root cause appears to be that the required dependency component component_udf_registration is not included in the EL9 packages.
Below are full details.
Environment
-
OS: Oracle Linux 9 (EL9 family)
-
Server version:
8.4.7-7.1.el9.x86_64 Percona Server (GPL), Release 7, Revision 9a19f1fd -
Installed RPMs:
percona-server-server-8.4.7-7.1.el9.x86_64 percona-server-client-8.4.7-7.1.el9.x86_64 percona-server-shared-8.4.7-7.1.el9.x86_64
Summary of the issue
Running:
SQL
INSTALL COMPONENT ‘file://component_percona_udf’;
Show more lines
adds an entry to mysql.component, but:
-
No UDFs appear in
mysql.func -
No attempts to load the
.sofile appear inmysqld.log -
The required dependency component
component_udf_registrationis missing entirely
This results in the UDF component being registered but never initialised.
Steps to reproduce
- Confirm the UDF component exists on disk:
/usr/lib64/mysql/plugin/component_percona_udf.so
- Install the component:
INSTALL COMPONENT 'file://component_percona_udf';
- Check components:
SELECT component_id, component_group_id, component_urn
FROM mysql.component
ORDER BY component_group_id, component_id;
Actual output:
file://component_validate_password
file://component_percona_telemetry
file://component_percona_udf
Expected:
Also include:
file://component_udf_registration
- Check UDFs:
SELECT * FROM mysql.func;
Actual:
Empty set.
- Check error log:
grep -i percona_udf /var/log/mysqld.log
Actual:
No output at all — indicating the component loader never attempted to load the .so.
Expected behaviour
Percona documentation says:
“Once the installation is complete, execute
INSTALL COMPONENT 'file://component_percona_udf'
to install these functions.”
(Percona Toolkit UDFs page) [docs.percona.com]
And the 8.4 component migration guide says:
“After running INSTALL COMPONENT, all functions are automatically registered.”
(Upgrade from plugins to components) [docs.percona.com]
Therefore:
-
The UDF component should load
-
Functions should automatically register in
mysql.func -
The error log should show component load activity
Actual behaviour
-
Component metadata is inserted
-
The component never loads
-
UDFs never register
-
No errors or warnings are logged
-
component_udf_registrationis completely absent from the EL9 packages
Analysis
Based on behaviour and package contents, this appears to be a packaging omission:
-
component_percona_udf.sois shipped -
But
component_udf_registration.sois not shipped in any of the Percona Server EL9 packages
Since component_percona_udf depends on the registration service, the component remains inert.
This silent failure matches what happens when a dependency component is missing: MySQL does not attempt to load the dependent .so and therefore logs nothing.
Impact
-
Percona Toolkit UDFs (e.g., fnv1a_64, murmur_hash, uuid_to_bin) cannot be used
-
Tools that rely on these functions cannot operate
-
No diagnostics are logged, making this difficult to troubleshoot
-
Server behaviour contradicts the documentation
Request
Please confirm whether:
-
component_udf_registration.sois unintentionally missing from the EL9 build, and -
Whether this is a packaging bug that needs correction in future releases.
If the omission is intentional, please update documentation to reflect the dependency and how to install the missing component.
Happy to provide logs, package listings, component tables, directory listings if needed.
Thanks!