xtrabackup binary broken in percona/percona-xtradb-cluster:8.0.36-28.1 image

Description

I have this error adding a new node to an existing pxc cluster:

2024-06-19T14:08:11.092034Z 0 [ERROR] [MY-000000] [WSREP-SST] ******************* ERROR ********************** 2024-06-19T14:08:11.092071Z 0 [ERROR] [MY-000000] [WSREP-SST] Missing version string in comparison 2024-06-19T14:08:11.092075Z 0 [ERROR] [MY-000000] [WSREP-SST] left-side: operation:< right-side:2.4.29 2024-06-19T14:08:11.092079Z 0 [ERROR] [MY-000000] [WSREP-SST] ******************* ERROR **********************

at the end, the new node joins the cluster correctly.

error seems to be in the function compare_versions defined here:
https://github.com/percona/percona-xtradb-cluster/blob/Percona-XtraDB-Cluster-8.0.36-28.1/scripts/wsrep_sst_common.sh#L434

which in turn is called from:
https://github.com/percona/percona-xtradb-cluster/blob/Percona-XtraDB-Cluster-8.0.36-28.1/scripts/wsrep_sst_xtrabackup-v2.sh#L1814

I was able to reproduce it in docker with the following command:

docker run -it --rm --entrypoint="/usr/bin/pxc_extra/pxb-2.4/bin/xtrabackup" percona/percona-xtradb-cluster:8.0.36-28.1

output:

/usr/bin/pxc_extra/pxb-2.4/bin/xtrabackup: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

if I run the container as root and I install libatomic inside it, xtrabackup runs correctly:

docker run --user root -it --rm --entrypoint="/bin/bash" percona/percona-xtradb-cluster:8.0.36-28.1

[root@3ca6868e3b6b /]# ldd /usr/bin/pxc_extra/pxb-2.4/bin/xtrabackup

output:
linux-vdso.so.1 (0x00007ffe16743000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1892faf000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007f1892dac000)
libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f1892a8e000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f189286d000)
librt.so.1 => /lib64/librt.so.1 (0x00007f1892665000)
libatomic.so.1 => not found
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f18923d1000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f1891ee6000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f1891ce2000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f1891ab9000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f1891724000)
libm.so.6 => /lib64/libm.so.6 (0x00007f18913a2000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f189118a000)
libc.so.6 => /lib64/libc.so.6 (0x00007f1890dc5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f18931cf000)
libz.so.1 => /lib64/libz.so.1 (0x00007f1890bad000)

[root@3ca6868e3b6b /]# microdnf install libatomic

[root@3ca6868e3b6b /]# ldd /usr/bin/pxc_extra/pxb-2.4/bin/xtrabackup

output:
linux-vdso.so.1 (0x00007ffc6b1e7000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f18888d0000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007f18886cd000)
libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f18883af000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f188818e000)
librt.so.1 => /lib64/librt.so.1 (0x00007f1887f86000)
libatomic.so.1 => /lib64/libatomic.so.1 (0x00007f1887d7e000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f1887aea000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f18875ff000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f18873fb000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f18871d2000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f1886e3d000)
libm.so.6 => /lib64/libm.so.6 (0x00007f1886abb000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f18868a3000)
libc.so.6 => /lib64/libc.so.6 (0x00007f18864de000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1888af0000)
libz.so.1 => /lib64/libz.so.1 (0x00007f18862c6000)

The same problem is also present on older images, for example:
percona/percona-xtradb-cluster:8.0.35

For now, I managed to solve the problem using a private registry and adding the library to a custom image generated from percona/percona-xtradb-cluster:8.0.36-28.1.

Environment

None

AFFECTED CS IDs

CS0049919, CS0049530

Attachments

1
  • 21 Jun 2024, 12:40 PM

Activity

Show:

Vadim Yalovets June 21, 2024 at 12:40 PM

New docker images have been pushed to perconalab organization
perconalab/percona-xtradb-cluster:8.0.35-27.1
perconalab/percona-xtradb-cluster:8.0.35-27.1-debug
perconalab/percona-xtradb-cluster:8.0.36-28.1
perconalab/percona-xtradb-cluster:8.0.36-28.1-debug

Screenshot 2024-06-21 at 15.38.22.png

Satya Bodapati June 20, 2024 at 2:49 PM

please check^

Done

Details

Assignee

Reporter

Needs QA

Yes

Components

Priority

Smart Checklist

Created June 20, 2024 at 2:38 PM
Updated October 16, 2024 at 9:10 AM
Resolved September 26, 2024 at 6:07 PM

Flag notifications