[MDEV-15084] MyRocks is not present in non-old-systemd tarballs Created: 2018-01-26  Updated: 2020-06-04  Resolved: 2020-06-04

Status: Closed
Project: MariaDB Server
Component/s: Packaging, Storage Engine - RocksDB
Affects Version/s: 10.2
Fix Version/s: 10.2.32, 10.3.23, 10.4.13

Type: Bug Priority: Major
Reporter: Sergei Petrunia Assignee: Daniel Bartholomew
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-22672 10.5 bintar builders Closed

 Description   

I am looking at the three 64-bit binary tarballs that we ship:

mariadb-10.2.12-linux-glibc_214-x86_64.tar.gz
mariadb-10.2.12-linux-systemd-x86_64.tar.gz
mariadb-10.2.12-linux-x86_64.tar.gz

Of these three, only mariadb-10.2.12-linux-systemd-x86_64 has lib/plugin/ha_rocksdb.so in it.

This is odd, because "systemd" binary is not "a binary with systemd for modern OSes", it is "a binary for OSes with older version of systemd".

This "systemd" binary is unusable on modern OSes like latest LTS Ubuntu or latest non-LTS ubuntu, check out MDEV-12370 for details. (An example of a recent OS where it is usable: latest CentOS, 7.x)

For comparison, Percona-Server-5.7.20-19-Linux.x86_64.ssl100.tar.gz does not depend on out-of-date systemd and also has ha_rocksdb.so in it.



 Comments   
Comment by Sergei Petrunia [ 2018-01-26 ]

For comparison, TokuDB (which also needs a C++11 compiler) is present in these bintars:

./mariadb-10.2.12-linux-systemd-x86_64/lib/plugin/ha_tokudb.so
./mariadb-10.2.12-linux-glibc_214-x86_64/lib/plugin/ha_tokudb.so

Comment by Sergei Petrunia [ 2018-01-26 ]

Looking at buildbot logs for making bintars:

http://buildbot.askmonty.org/buildbot/builders/kvm-bintar-quantal-amd64/builds/9046/steps/compile/logs/stdio
-- Check if the system is big endian - little endian
-- Can't build rocksdb engine - requires c++11 -capable compiler (minimal supported versions are g++ 4.8, clang 3.3, VS2015)
-- Performing Test TOKUDB_OK
-- Performing Test TOKUDB_OK - Success

http://buildbot.askmonty.org/buildbot/builders/kvm-bintar-centos5-amd64/builds/8389/steps/compile/logs/stdio
-- Check if the system is big endian - little endian
-- Can't build rocksdb engine - requires c++11 -capable compiler (minimal supported versions are g++ 4.8, clang 3.3, VS2015)
-- CMake 2.8.9 or higher is required by TokuDB

http://buildbot.askmonty.org/buildbot/builders/kvm-bintar-trusty-amd64/builds/4476/steps/compile/logs/stdio
( builds both MyRocks and TokuDB)

Comment by Elena Stepanova [ 2018-01-26 ]

Apparently, something went wrong with MDEV-9734.

Initially, trusty builder was meant to be a replacement for the EOL-ed quantal, to build glbc 2.14+ binaries and (as requested in MDEV-9734) also provide systemd support, which quantal couldn't do. Quantal bintars were at that point kept just in case, for compatibility purposes etc. Trusty was never intended to support some "older version of systemd", if it does, it's a mistake which probably needs to be fixed.

For the quantal builder which doesn't build MyRocks, that's because it has gcc 4.7.2; I don't think it makes sense to upgrade it, it the builder needs to be replaced anyway.

Comment by Daniel Bartholomew [ 2018-01-26 ]

This is two issues, the "systemd bintar only works on systems running old systemd" issue should be moved to a new MDEV. I think the solution to it is to create a new systemd bintar builder, based on our CentOS 7.x or Ubuntu Xenial builders, whichever one would work best for creating bintars with systemd stuff in them.


In regards to MyRocks not being built by our CentOS 5 and Quantal bintar builders, I'm not sure we should update them so that MyRocks can be built.

On our CentOS 5 builder we don't build TokuDB and I don't think we should build MyRocks either. This isn't because of TokuDB, rather because of the the builder. serg looked into getting TokuDB working on the CentOS 5 builder (MDEV-5731) but the version of glibc on CentOS 5 is a roadblock. My guess is the same issues encountered with TokuDB would happen with MyRocks, and possibly more.

As far as the Quantal (glibc_214) builder is concerned, I could install a manually-compiled custom updated toolchain on it, but I don't want to do that unless it is something we really need. Ideally I'd like to get rid of the Quantal builder entirely and not try to keep it propped up with custom fixes. It probably should have been retired a while ago (the same can probably be said for the CentOS 5 builder).

Comment by Daniel Bartholomew [ 2020-06-04 ]

As of 10.2.32, the bintar-linux-glibc_214-x86_64 now has MyRocks.

As of 10.3.23 and 10.4.13, both the bintar-linux-glibc_214-x86_64 and bintar-linux-x86_64 bintars have MyRocks.

Generated at Thu Feb 08 08:18:34 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.