Details
Description
Some Linux distribution provide galera library in their default repositories, packaged by themselves or by Codership. These libraries can be older than the one that MariaDB provides, e.g. Ubuntu 20.04 Focal now has 26.4.3.
For MariaDB server package installation, a galera library is required. However, at least the debian package doesn't depend on a specific Galera minor version, any 26.4 is sufficient. So if the old library was installed, the server doesn't upgrade it through dependencies.
Apparently after changes made earlier this year in wsrep-lib submodule, the cluster no longer starts with the old library, it aborts saying
2023-09-12 5:05:38 0 [Note] Starting MariaDB 10.10.7-MariaDB-debug-log source revision 0b6de3d1ceb9a8943d62f0f6d7bf26363189bcb1 as process 75750
|
2023-09-12 5:05:38 0 [Note] WSREP: Loading provider /lib/libgalera_smm.so initial position: 00000000-0000-0000-0000-000000000000:-1
|
2023-09-12 5:05:38 0 [Note] WSREP: wsrep_load(): loading provider library '/lib/libgalera_smm.so'
|
2023-09-12 5:05:38 0 [Note] WSREP: wsrep_load(): Galera 4.3(rXXXX) by Codership Oy <info@codership.com> loaded successfully.
|
2023-09-12 5:05:38 0 [Warning] WSREP: Support for allowlist service v1 wsrep_init_allowlist_service_v1 not found from provider: /lib/libgalera_smm.so: undefined symbol: wsrep_init_allowlist_service_v1
|
2023-09-12 5:05:38 0 [Warning] WSREP: Provider does not support allowlist service v1
|
2023-09-12 5:05:38 0 [ERROR] WSREP: Failed to create a new provider '/lib/libgalera_smm.so' with options '': Failed to initialize allowlist service
|
2023-09-12 5:05:38 0 [ERROR] WSREP: Failed to load provider
|
2023-09-12 5:05:38 0 [ERROR] Aborting
|
I have seen it with 10.10 and 11.2 server so far, but it is probably so for all versions.
As long as the server requires the library, it should require the right version of the library through proper package dependencies.
While fixing it, please check how things are with RPMs, possibly a similar fix is needed there.
Also, the error messages do not explain that the library version is the issue. On the contrary, first the note says that the library loaded successfully, which reads as if the version is good enough, and only then it aborts with rather obscure errors.
Since the server can come not just from packages but from other sources, in which case the problem wouldn't be solved by dependencies, it would be good to improve the error message as well.