Skip to content

Commit

Permalink
MDEV-19780 Remove the TokuDB storage engine
Browse files Browse the repository at this point in the history
The TokuDB storage engine has been deprecated by upstream
Percona Server 8.0 in favor of MyRocks and will not be available
in subsequent major upstream releases.

Let us remove it from MariaDB Server as well.
MyRocks is actively maintained, and it can be used instead.
  • Loading branch information
dr-m committed May 14, 2020
1 parent 3b251e2 commit 7924158
Show file tree
Hide file tree
Showing 3,247 changed files with 7 additions and 2,491,788 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
28 changes: 0 additions & 28 deletions .gitignore
Expand Up @@ -228,34 +228,6 @@ storage/rocksdb/mysql_ldb
storage/rocksdb/myrocks_hotbackup
storage/rocksdb/rdb_source_revision.h
storage/rocksdb/sst_dump
storage/tokudb/PerconaFT/buildheader/db.h
storage/tokudb/PerconaFT/buildheader/make_tdb
storage/tokudb/PerconaFT/buildheader/runcat.sh
storage/tokudb/PerconaFT/ft/log_code.cc
storage/tokudb/PerconaFT/ft/log_header.h
storage/tokudb/PerconaFT/ft/log_print.cc
storage/tokudb/PerconaFT/ft/logformat
storage/tokudb/PerconaFT/ft/ftverify
storage/tokudb/PerconaFT/ft/tdb-recover
storage/tokudb/PerconaFT/ft/tokuftdump
storage/tokudb/PerconaFT/portability/merge_archives_tokuportability_static.cmake
storage/tokudb/PerconaFT/portability/toku_config.h
storage/tokudb/PerconaFT/portability/tokuportability_static_depends.cc
storage/tokudb/PerconaFT/snappy/
storage/tokudb/PerconaFT/src/merge_archives_tokufractaltree_static.cmake
storage/tokudb/PerconaFT/src/tokufractaltree_static_depends.cc
storage/tokudb/PerconaFT/toku_include/toku_config.h
storage/tokudb/PerconaFT/tools/ba_replay
storage/tokudb/PerconaFT/tools/ftverify
storage/tokudb/PerconaFT/tools/tdb-recover
storage/tokudb/PerconaFT/tools/tokudb_dump
storage/tokudb/PerconaFT/tools/tokudb_gen
storage/tokudb/PerconaFT/tools/tokudb_load
storage/tokudb/PerconaFT/tools/tokuftdump
storage/tokudb/PerconaFT/tools/tokuft_logprint
storage/tokudb/PerconaFT/xz/
storage/tokudb/tokudb.cnf
storage/tokudb/tokudb.conf
strings/conf_to_src
support-files/MySQL-shared-compat.spec
support-files/binary-configure
Expand Down
2 changes: 1 addition & 1 deletion .travis.compiler.sh
Expand Up @@ -7,7 +7,7 @@ set -v -x

function exclude_modules() {
# excludes for all
CMAKE_OPT="${CMAKE_OPT} -DPLUGIN_TOKUDB=NO -DPLUGIN_MROONGA=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_SPHINX=NO"
CMAKE_OPT="${CMAKE_OPT} -DPLUGIN_MROONGA=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_SPHINX=NO"
# exclude storage engines not being tested in current job
if [[ ! "${MYSQL_TEST_SUITES}" =~ "archive" ]]; then
CMAKE_OPT="${CMAKE_OPT} -DPLUGIN_ARCHIVE=NO"
Expand Down
3 changes: 1 addition & 2 deletions .travis.yml
Expand Up @@ -207,8 +207,7 @@ before_script:
script:
# following modules are disabled after sourcing .travis.compiler.sh:
# clang disabled: mroonga just generates too many warnings with clang and travis stops the job
# cland disabled: tokudb has fatal warnings
# gcc/rpl: tokudb and mroonga
# gcc/rpl: mroonga
- source .travis.compiler.sh
- cmake .
-DCMAKE_BUILD_TYPE=${TYPE}
Expand Down
4 changes: 1 addition & 3 deletions BUILD/SETUP.sh
Expand Up @@ -198,8 +198,6 @@ base_configs="$base_configs --with-extra-charsets=complex "
base_configs="$base_configs --enable-thread-safe-client "
base_configs="$base_configs --with-big-tables $maintainer_mode"
base_configs="$base_configs --with-plugin-aria --with-aria-tmp-tables --with-plugin-s3=STATIC"
# Following is to get tokudb to work
base_configs="$base_configs --with-jemalloc=NO"

if test -d "$path/../cmd-line-utils/readline"
then
Expand Down Expand Up @@ -303,7 +301,7 @@ gcov_compile_flags="$gcov_compile_flags -DMYSQL_SERVER_SUFFIX=-gcov -DHAVE_gcov"

#
# The following plugins doesn't work on 32 bit systems
disable_64_bit_plugins="--without-plugin-tokudb --without-plugin-rocksdb"
disable_64_bit_plugins="--without-plugin-rocksdb"


# GCC4 needs -fprofile-arcs -ftest-coverage on the linker command line (as well
Expand Down
2 changes: 1 addition & 1 deletion cmake/cpack_rpm.cmake
Expand Up @@ -81,7 +81,7 @@ SET(CPACK_RPM_SPEC_MORE_DEFINE "
%filter_provides_in \\\\.\\\\(test\\\\|result\\\\|h\\\\|cc\\\\|c\\\\|inc\\\\|opt\\\\|ic\\\\|cnf\\\\|rdiff\\\\|cpp\\\\)$
%filter_requires_in \\\\.\\\\(test\\\\|result\\\\|h\\\\|cc\\\\|c\\\\|inc\\\\|opt\\\\|ic\\\\|cnf\\\\|rdiff\\\\|cpp\\\\)$
%filter_from_provides /perl(\\\\(mtr\\\\|My::\\\\)/d
%filter_from_requires /\\\\(lib\\\\(ft\\\\|lzma\\\\|tokuportability\\\\)\\\\)\\\\|\\\\(perl(\\\\(.*mtr\\\\|My::\\\\|.*HandlerSocket\\\\|Mysql\\\\)\\\\)/d
%filter_from_requires /\\\\(liblzma\\\\)\\\\|\\\\(perl(\\\\(.*mtr\\\\|My::\\\\|.*HandlerSocket\\\\|Mysql\\\\)\\\\)/d
%filter_setup
}
")
Expand Down
32 changes: 0 additions & 32 deletions debian/additions/mariadb-report
Expand Up @@ -142,7 +142,6 @@ my $have_innodb_vals = 1; # This might be set to 0 later in get_MySQL_version()
my $have_aria_vals = 0;
my $have_subquerycache_vals = 0;
my $have_binlog_vals = 0;
my $have_tokudb_engine = 0;
my $use_thread_pool = 0;

if(defined $op{'r'})
Expand Down Expand Up @@ -690,15 +689,6 @@ sub get_MySQL_version
} else {
$have_binlog_vals = 0;
}

$have_tokudb_engine = $dbh->selectall_arrayref("SELECT SUPPORT FROM information_schema.engines WHERE ENGINE = 'TokuDB';", undef)->[0][0];
if(defined($have_tokudb_engine) && ($have_tokudb_engine eq "YES" || $have_tokudb_engine eq "DEFAULT"))
{
print "TokuDB detected\n" if $op{debug};
$have_tokudb_engine = 1;
} else {
$have_tokudb_engine = 0;
}
}
}

Expand Down Expand Up @@ -903,7 +893,6 @@ sub write_report
write_Aria() if $have_aria_vals;
write_Subquerycache() if $have_subquerycache_vals;
write_Binlog() if $have_binlog_vals;
write_TokuDB() if $have_tokudb_engine;
}

sub sec_to_dhms # Seconds to days+hours:minutes:seconds
Expand Down Expand Up @@ -1175,16 +1164,6 @@ sub write_Binlog
write;
}

sub write_TokuDB
{
print "write_TokuDB\n" if $op{debug};

return if $stats{'Tokudb_cachetable_size_current'} == 0;

$~ = 'TOKUDB';
write;
}

sub write_InnoDB
{
print "write_InnoDB\n" if $op{debug};
Expand Down Expand Up @@ -1574,17 +1553,6 @@ perc($binlog_cache_ratio)
perc($binlog_stmt_cache_ratio)
.

format TOKUDB =

__ TokuDB ______________________________________________________________
Cachetable @>>>>>> of @>>>>>> %Usage: @>>>>>
make_short($stats{Tokudb_cachetable_size_current}, 1), make_short($vars{tokudb_cache_size}, 1), perc($stats{Tokudb_cachetable_size_current}, $vars{tokudb_cache_size})
Miss @>>>>>> @>>>>>/s
make_short($stats{'Tokudb_cachetable_miss'}), t($stats{'Tokudb_cachetable_miss'})
Evictions @>>>>>> @>>>>>/s
make_short($stats{'Tokudb_cachetable_evictions'}), t($stats{'Tokudb_cachetable_evictions'})
.

format ROWS =

__ Rows ________________________________________________________________
Expand Down
1 change: 0 additions & 1 deletion debian/rules
Expand Up @@ -85,7 +85,6 @@ endif
-DSYSTEM_TYPE="debian-$(DEB_HOST_GNU_SYSTEM)" \
-DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_ARCH) \
-DBUILD_CONFIG=mysql_release \
-DWITHOUT_TOKUDB=true \
-DWITHOUT_CASSANDRA=true \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
-WITH_EMBEDDED_SERVER=OFF \
Expand Down
63 changes: 0 additions & 63 deletions mysql-test/unstable-tests
Expand Up @@ -947,13 +947,6 @@ rpl.show_status_stop_slave_race-7126 : MDEV-17438 - Timeout

#-----------------------------------------------------------------------

rpl-tokudb.* : MDEV-14354 - Tests fail with tcmalloc
rpl-tokudb.rpl_deadlock_tokudb : MDEV-20529 - mysqltest failed but provided no output
rpl-tokudb.rpl_extra_col_master_tokudb : MDEV-13258 - Extra warning
rpl-tokudb.rpl_tokudb_commit_after_flush : MDEV-16966 - Server crash

#-----------------------------------------------------------------------

rpl/extra/rpl_tests.* : MDEV-10994 - Not maintained

#-----------------------------------------------------------------------
Expand Down Expand Up @@ -1022,62 +1015,6 @@ sys_vars.wait_timeout_func : MDEV-12896 - Wrong result

#-----------------------------------------------------------------------

tokudb.change_column_all_1000_10 : MDEV-12640 - Lost connection
tokudb.change_column_bin : MDEV-12640 - Lost connection
tokudb.change_column_char : MDEV-12822 - Lost connection
tokudb.change_column_varbin : MDEV-17682 - Timeout
tokudb.cluster_filter : MDEV-10678 - Wrong execution plan
tokudb.cluster_filter_hidden : MDEV-10678 - Wrong execution plan
tokudb.cluster_filter_unpack_varchar : MDEV-10636 - Wrong execution plan
tokudb.dir_per_db : MDEV-11537 - Wrong result
tokudb.dir_per_db_rename_to_nonexisting_schema : MDEV-14359 - Directory not empty
tokudb.hotindex-del-0 : MDEV-16559 - Timeout
tokudb.hotindex-insert-0 : MDEV-15271 - Timeout
tokudb.hotindex-insert-1 : MDEV-13870 - Lost connection to MySQL server
tokudb.hotindex-insert-2 : MDEV-15271 - Timeout
tokudb.hotindex-insert-bigchar : MDEV-12640 - Crash
tokudb.hotindex-update-0 : MDEV-15198 - Timeout
tokudb.hotindex-update-1 : MDEV-12640 - Crash
tokudb.locks-select-update-1 : MDEV-13406 - Lock wait timeout
tokudb.rows-32m-rand-insert : MDEV-12640 - Crash
tokudb.rows-32m-seq-insert : MDEV-12640 - Crash
tokudb.savepoint-5 : MDEV-15280 - Wrong result
tokudb.type_blob : Modified in 10.4.13
tokudb.type_datetime : MDEV-15193 - Wrong result

#-----------------------------------------------------------------------

tokudb_alter_table.hcad_all_add2 : MDEV-15269 - Timeout

#-----------------------------------------------------------------------

tokudb_backup.* : MDEV-11001 - Missing include file

#-----------------------------------------------------------------------

tokudb_bugs.checkpoint_lock : MDEV-10637 - Wrong processlist output
tokudb_bugs.checkpoint_lock_3 : MDEV-10637 - Wrong processlist output
tokudb_bugs.frm_store : MDEV-12823 - Valgrind
tokudb_bugs.frm_store2 : MDEV-12823 - Valgrind
tokudb_bugs.frm_store3 : MDEV-12823 - Valgrind
tokudb_bugs.xa : MDEV-11804 - Lock wait timeout
tokudb_bugs.xa-3 : MDEV-22512 - Server failed to restart
tokudb_bugs.xa-4 : MDEV-22512 - Server failed to restart

#-----------------------------------------------------------------------

tokudb_parts.partition_alter4_tokudb : MDEV-12640 - Lost connection

#-----------------------------------------------------------------------

tokudb_rpl.* : MDEV-11001 - Missing include file

#-----------------------------------------------------------------------

tokudb_sys_vars.* : MDEV-11001 - Missing include file

#-----------------------------------------------------------------------

unit.conc_basic-t : MDEV-15286 - not ok 7 - test_reconnect_maxpackage
unit.conc_bulk1 : MDEV-19410 - LeakSanitizer: detected memory leaks
unit.conc_errors : MDEV-18634 - ASAN global-buffer-overflow
Expand Down
8 changes: 0 additions & 8 deletions mysql-test/valgrind.supp
Expand Up @@ -968,14 +968,6 @@
obj:*/libodbc.so*
}

{
TokuDB uses gcc __thread variables
Memcheck:Leak
fun:memalign
fun:*
fun:__tls_get_addr
}

{
Galera uses gcc __thread variables
Memcheck:Leak
Expand Down
5 changes: 0 additions & 5 deletions sql-bench/server-cfg.sh
Expand Up @@ -205,11 +205,6 @@ sub new
$limits{'max_temporary_tables'}= $limits{"max_tables"};
$self->{'transactions'} = 1; # Transactions enabled
}
if (defined($main::opt_create_options) &&
$main::opt_create_options =~ /engine=tokudb/i)
{
$self->{'transactions'} = 1; # Transactions enabled
}

return $self;
}
Expand Down
2 changes: 1 addition & 1 deletion sql/handler.h
Expand Up @@ -525,7 +525,7 @@ enum legacy_db_type
DB_TYPE_PERFORMANCE_SCHEMA=28,
DB_TYPE_S3=41,
DB_TYPE_ARIA=42,
DB_TYPE_TOKUDB=43,
DB_TYPE_TOKUDB=43, /* disabled in MariaDB Server 10.5, removed in 10.6 */
DB_TYPE_SEQUENCE=44,
DB_TYPE_FIRST_DYNAMIC=45,
DB_TYPE_DEFAULT=127 // Must be last
Expand Down
2 changes: 1 addition & 1 deletion sql/sql_class.cc
Expand Up @@ -5008,7 +5008,7 @@ thd_need_wait_reports(const MYSQL_THD thd)
}

/*
Used by storage engines (currently TokuDB and InnoDB) to report that
Used by storage engines (currently InnoDB) to report that
one transaction THD is about to go to wait for a transactional lock held by
another transactions OTHER_THD.
Expand Down
2 changes: 1 addition & 1 deletion sql/table.h
Expand Up @@ -1057,7 +1057,7 @@ struct TABLE_SHARE
bool write_frm_image(const uchar *frm_image, size_t frm_length);
bool write_par_image(const uchar *par_image, size_t par_length);

/* Only used by tokudb */
/* Only used by S3 */
bool write_frm_image(void)
{ return frm_image ? write_frm_image(frm_image->str, frm_image->length) : 0; }

Expand Down
1 change: 0 additions & 1 deletion storage/mroonga/appveyor.yml
Expand Up @@ -47,7 +47,6 @@ build_script:
-DPLUGIN_SPHINX=NO
-DPLUGIN_SPIDER=NO
-DPLUGIN_TEST_SQL_DISCOVERY=NO
-DPLUGIN_TOKUDB=NO
-DPLUGIN_XTRADB=NO
-DWITH_UNIT_TESTS=OFF
-DWITH_MARIABACKUP=OFF
Expand Down
1 change: 0 additions & 1 deletion storage/mroonga/tools/travis/before_script.sh
Expand Up @@ -37,7 +37,6 @@ if [ "${MROONGA_BUNDLED}" = "yes" ]; then
cmake_args=("${cmake_args[@]}" -DWITHOUT_SPHINX=TRUE)
cmake_args=("${cmake_args[@]}" -DWITHOUT_SPIDER=TRUE)
cmake_args=("${cmake_args[@]}" -DWITHOUT_TEST_SQL_DISCOVERY=TRUE)
cmake_args=("${cmake_args[@]}" -DWITHOUT_TOKUDB=TRUE)
if [ "${MROONGA_TEST_EMBEDDED}" = "yes" ]; then
cmake_args=("${cmake_args[@]}" -DWITH_EMBEDDED_SERVER=TRUE)
cmake_args=("${cmake_args[@]}" -DMRN_BUILD_FOR_EMBEDDED_SERVER=TRUE)
Expand Down
40 changes: 0 additions & 40 deletions storage/tokudb/.clang-format

This file was deleted.

0 comments on commit 7924158

Please sign in to comment.