Commit 5f0c9199 authored by Michael Widenius's avatar Michael Widenius

TokuDB fixes:

- Better error message when using huge pages
- Fixed link error
- Test suite should run even on system with huge pages

storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake:
  Fixed that linking works on systems that uses lib64
storage/tokudb/ft-index/portability/huge_page_detection.cc:
  Better error message
storage/tokudb/mysql-test/rpl/suite.pm:
  Test suite should run even on system with huge pages
storage/tokudb/mysql-test/tokudb/suite.pm:
  Test suite should run even on system with huge pages
parent 45d3ada7
......@@ -34,6 +34,7 @@ ExternalProject_Add(build_lzma
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
"--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
......
......@@ -109,7 +109,7 @@ static bool check_huge_pages_config_file(const char *fname)
char *r = fgets(buf, sizeof(buf), f);
assert(r != NULL);
if (strstr(buf, "[always]")) {
fprintf(stderr, "Transparent huge pages are enabled, according to %s\n", fname);
fprintf(stderr,"TokuDB: Transparent huge pages are enabled, according to %s. TokuDB will be disabled. To use TokuDB disable huge pages in your kernel or, for testing, set the environment variable TOKU_HUGE_PAGES_OK to 1\n", fname);
huge_pages_enabled = true;
} else {
huge_pages_enabled =false;
......
package My::Suite::TokuDB;
use File::Basename;
@ISA = qw(My::Suite);
# Ensure we can run the TokuDB tests even if hugepages are enabled
$ENV{TOKU_HUGE_PAGES_OK}=1;
#return "Not run for embedded server" if $::opt_embedded_server;
return "No TokuDB engine" unless $ENV{HA_TOKUDB_SO} or $::mysqld_variables{tokudb};
bless { };
......@@ -2,6 +2,9 @@ package My::Suite::TokuDB;
use File::Basename;
@ISA = qw(My::Suite);
# Ensure we can run the TokuDB tests even if hugepages are enabled
$ENV{TOKU_HUGE_PAGES_OK}=1;
#return "Not run for embedded server" if $::opt_embedded_server;
return "No TokuDB engine" unless $ENV{HA_TOKUDB_SO} or $::mysqld_variables{tokudb};
bless { };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment