[MDEV-31640] MyRocks Plugin Unable to Detect zstd Compression Algorithm on RHEL/AlmaLinux/RockyLinux 8 Created: 2023-07-06  Updated: 2023-07-11  Resolved: 2023-07-11

Status: Closed
Project: MariaDB Server
Component/s: Packaging
Affects Version/s: 10.6.13
Fix Version/s: 10.4.31, 10.5.22, 10.6.15, 10.9.8, 10.10.6, 10.11.5, 11.0.3, 11.1.2

Type: Bug Priority: Major
Reporter: Luke Assignee: Daniel Bartholomew
Resolution: Fixed Votes: 0
Labels: rocksdb
Environment:

FROM almalinux:8.8-minimal

COPY MariaDB.rhel8-amd64.repo /etc/yum.repos.d/MariaDB.repo

RUN microdnf update -y && microdnf install -y shadow-utils && \
microdnf clean -y all

RUN groupadd -r mysql && useradd -r -g mysql mysql

ENV MARIADB_MAJOR 10.6
ENV MARIADB_VERSION 10.6.13
ENV GOSU_VERSION 1.16

RUN rpm --import https://supplychain.mariadb.com/MariaDB-Server-GPG-KEY && \
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && \
microdnf install y MariaDB-server$MARIADB_VERSION MariaDB-rocksdb-engine-$MARIADB_VERSION MariaDB-backup-$MARIADB_VERSION jemalloc pwgen tzdata xz zstd && \
microdnf reinstall tzdata -y && \
microdnf clean -y all && \
curl https://github.com/tianon/gosu/releases/download/1.16/gosu-amd64 -L --output /usr/local/bin/gosu && \
chmod a+x /usr/local/bin/gosu; \
gosu --version; \
gosu nobody true

VOLUME /var/lib/mysql

COPY docker-entrypoint.sh /usr/local/bin/
COPY my.cnf /etc/my.cnf.d/my.cnf

RUN rm -rf /var/lib/mysql; \
mkdir -p /var/lib/mysql /var/run/mysqld; \
chown -R mysql:mysql /var/lib/mysql /var/run/mysqld; \
chmod 777 /var/run/mysqld; \
mkdir /docker-entrypoint-initdb.d ; \
chmod +x /usr/local/bin/docker-entrypoint.sh

ENTRYPOINT ["docker-entrypoint.sh"]

EXPOSE 3306

CMD ["mysqld"]


Attachments: File MariaDB.rhel8-amd64.repo     File docker-entrypoint.sh     File my.cnf    

 Description   

I would like to report an issue regarding the MyRocks plugin in MariaDB 10.6.13 on RHEL/AlmaLinux/RockyLinux 8.

The problem is that the MyRocks plugin is unable to detect the zstd compression algorithm.

Even after installing libzstd 1.4.4, I still encounter the following error:

[ERROR] RocksDB: Error opening instance, Status Code: 4, Status: Invalid argument: Compression type ZSTD is not linked with the binary.

or

[ERROR] RocksDB: Failed to initialize data dictionary.
[ERROR] Plugin 'ROCKSDB' init function returned error.
[ERROR] Plugin 'ROCKSDB' registration as a STORAGE ENGINE failed.



 Comments   
Comment by Luke [ 2023-07-06 ]

Additionally, this doesn't happen on CentOS 7 and latest RHEL/AlmaLinux/RockyLinux 9

Comment by Andrew Hutchings [ 2023-07-11 ]

It looks like it is possible that the RHEL 8 build machine doesn't have libzstd-devel installed. Assigning to DBart who may know more.

Comment by Daniel Bartholomew [ 2023-07-11 ]

Yes, it appears that library is not installed on the RHEL 8 x86_64 build machine. Out of curiosity I checked the aarch64 build machine as well, along with the x86_64 and aarch64 build machines for RHEL 9 and they all have it installed, it's just the RHEL 8 x86_64 build machine where it is missing. I'll get the builder updated. Thanks.

Comment by Daniel Bartholomew [ 2023-07-11 ]

installed libzstd-devel on RHEL 8 builder

Generated at Thu Feb 08 10:25:23 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.