From d688f790ddce7dbbf5f0d5d29d5f14fb614eb7fa Mon Sep 17 00:00:00 2001 From: Izorkin Date: Wed, 1 Jul 2020 16:44:21 +0300 Subject: [PATCH] mariadb: drop build server with tokudb storage --- nixos/doc/manual/release-notes/rl-2103.xml | 7 +++++++ nixos/tests/mysql/mysql.nix | 16 +--------------- pkgs/servers/sql/mariadb/default.nix | 11 ++++------- pkgs/top-level/all-packages.nix | 3 --- 4 files changed, 12 insertions(+), 25 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index a3543aae1ea..22f21718994 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -256,6 +256,13 @@ which is the new stable release. OpenAFS 1.6 was removed. + + + The TokuDB storage engine dropped in mariadb 10.5 and removed in mariadb 10.6. + It is recommended to switch to RocksDB. See also TokuDB and + MDEV-19780: Remove the TokuDB storage engine. + + The openldap module now has support for OLC-style diff --git a/nixos/tests/mysql/mysql.nix b/nixos/tests/mysql/mysql.nix index ccb69c85a55..50ad5c68aef 100644 --- a/nixos/tests/mysql/mysql.nix +++ b/nixos/tests/mysql/mysql.nix @@ -98,7 +98,7 @@ import ./../make-test-python.nix ({ pkgs, ...} : { }]; services.mysql.settings = { mysqld = { - plugin-load-add = [ "ha_tokudb.so" "ha_rocksdb.so" ]; + plugin-load-add = [ "ha_rocksdb.so" ]; }; }; services.mysql.package = pkgs.mariadb; @@ -185,19 +185,5 @@ import ./../make-test-python.nix ({ pkgs, ...} : { mariadb.succeed( "echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser" ) - '' + pkgs.lib.optionalString pkgs.stdenv.isx86_64 '' - # Check if TokuDB plugin works - mariadb.succeed( - "echo 'use testdb; create table tokudb (test_id INT, PRIMARY KEY (test_id)) ENGINE = TokuDB;' | sudo -u testuser mysql -u testuser" - ) - mariadb.succeed( - "echo 'use testdb; insert into tokudb values (25);' | sudo -u testuser mysql -u testuser" - ) - mariadb.succeed( - "echo 'use testdb; select test_id from tokudb;' | sudo -u testuser mysql -u testuser -N | grep 25" - ) - mariadb.succeed( - "echo 'use testdb; drop table tokudb;' | sudo -u testuser mysql -u testuser" - ) ''; }) diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 90c11084a7c..79a19c759bb 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -1,12 +1,11 @@ { stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, nixosTests , libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl -, libaio, libevent, jemalloc450, jemalloc, cracklib, systemd, perl +, libaio, libevent, jemalloc, cracklib, systemd, perl , bzip2, lz4, lzo, snappy, xz, zlib, zstd , fixDarwinDylibNames, cctools, CoreServices, less , numactl # NUMA Support , withStorageMroonga ? true, kytea, msgpack, zeromq , withStorageRocks ? true -, withStorageToku ? true }: with stdenv.lib; @@ -41,8 +40,7 @@ common = rec { # attributes common to both builds ncurses openssl zlib pcre libiconv curl ] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ] ++ optionals stdenv.hostPlatform.isDarwin [ perl cctools CoreServices ] - ++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [ jemalloc450 ] - ++ optional (!stdenv.hostPlatform.isDarwin && !withStorageToku) [ jemalloc ]; + ++ optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ]; prePatch = '' sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt @@ -174,6 +172,7 @@ server = stdenv.mkDerivation (common // { "-DWITH_INNODB_DISALLOW_WRITES=ON" "-DWITHOUT_EXAMPLE=1" "-DWITHOUT_FEDERATED=1" + "-DWITHOUT_TOKUDB=1" ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [ "-DWITH_NUMA=ON" ] ++ optional (!withStorageMroonga) [ @@ -182,9 +181,7 @@ server = stdenv.mkDerivation (common // { "-DWITHOUT_ROCKSDB=1" ] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ "-DWITH_ROCKSDB_JEMALLOC=ON" - ] ++ optional (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isMusl || !withStorageToku) [ - "-DWITHOUT_TOKUDB=1" - ] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageToku) [ + ] ++ optional (!stdenv.hostPlatform.isDarwin) [ "-DWITH_JEMALLOC=static" ] ++ optional stdenv.hostPlatform.isDarwin [ "-DPLUGIN_AUTH_PAM=OFF" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 05dbcd83872..db2b00f32e0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17785,9 +17785,6 @@ in }; mariadb = callPackage ../servers/sql/mariadb { - # As per mariadb's cmake, "static jemalloc_pic.a can only be used up to jemalloc 4". - # https://jira.mariadb.org/browse/MDEV-15034 - jemalloc450 = jemalloc450.override ({ disableInitExecTls = true; }); inherit (darwin) cctools; inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices; };