mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-6247: Merge 10.0-galera to 10.1.
Merged lp:maria/maria-10.0-galera up to revision 3879. Added a new functions to handler API to forcefully abort_transaction, producing fake_trx_id, get_checkpoint and set_checkpoint for XA. These were added for future possiblity to add more storage engines that could use galera replication.
This commit is contained in:
@ -135,6 +135,7 @@ my $opt_start;
|
||||
my $opt_start_dirty;
|
||||
my $opt_start_exit;
|
||||
my $start_only;
|
||||
my $file_wsrep_provider;
|
||||
|
||||
END {
|
||||
if ( defined $opt_tmpdir_pid and $opt_tmpdir_pid == $$ )
|
||||
@ -412,6 +413,7 @@ sub main {
|
||||
check_ndbcluster_support();
|
||||
check_ssl_support();
|
||||
check_debug_support();
|
||||
check_wsrep_support();
|
||||
|
||||
if (!$opt_suites) {
|
||||
$opt_suites= join ',', collect_default_suites(@DEFAULT_SUITES);
|
||||
@ -2397,6 +2399,24 @@ sub environment_setup {
|
||||
$ENV{'NDB_EXAMPLES_OUTPUT'}= $path_ndb_testrun_log;
|
||||
}
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Setup env for wsrep
|
||||
# ----------------------------------------------------
|
||||
if (have_wsrep()) {
|
||||
if (defined $ENV{'WSREP_PROVIDER'} ) {
|
||||
# Nothing needs to be done! WSREP_PROVIDER env is already set & checked;
|
||||
# will be used.
|
||||
} else {
|
||||
$ENV{'WSREP_PROVIDER'}= $file_wsrep_provider;
|
||||
}
|
||||
|
||||
if ($ENV{'WSREP_PROVIDER'} ne "") {
|
||||
mtr_verbose("WSREP_PROVIDER set to $ENV{'WSREP_PROVIDER'}");
|
||||
} else {
|
||||
mtr_verbose("WSREP_PROVIDER isn't available");
|
||||
}
|
||||
}
|
||||
|
||||
# ----------------------------------------------------
|
||||
# mysql clients
|
||||
# ----------------------------------------------------
|
||||
@ -3174,6 +3194,40 @@ sub ndbcluster_start ($) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub have_wsrep() {
|
||||
my $wsrep_on= $mysqld_variables{'wsrep-on'};
|
||||
return defined $wsrep_on
|
||||
}
|
||||
|
||||
sub check_wsrep_provider_env {
|
||||
if (defined $ENV{'WSREP_PROVIDER'}) {
|
||||
if (mtr_file_exists($ENV{'WSREP_PROVIDER'}) eq "") {
|
||||
mtr_error("WSREP_PROVIDER env set to an invalid path");
|
||||
return 0; # error
|
||||
}
|
||||
# Ok, WSREP_PROVIDER set to a valid path.
|
||||
return 1;
|
||||
}
|
||||
# Ok, WSREP_PROVIDER not defined.
|
||||
return 2;
|
||||
}
|
||||
|
||||
sub check_wsrep_support() {
|
||||
if (have_wsrep())
|
||||
{
|
||||
mtr_report(" - binaries built with wsrep patch");
|
||||
|
||||
$file_wsrep_provider=
|
||||
mtr_file_exists("/usr/lib/galera/libgalera_smm.so",
|
||||
"/usr/lib64/galera/libgalera_smm.so");
|
||||
|
||||
if ((check_wsrep_provider_env() == 1) || ($file_wsrep_provider ne "")) {
|
||||
# Add galera test suites
|
||||
mtr_report(" - adding wsrep, galera to default test suites");
|
||||
push @DEFAULT_SUITES, qw(wsrep galera);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub mysql_server_start($) {
|
||||
my ($mysqld, $tinfo) = @_;
|
||||
@ -4837,6 +4891,10 @@ sub extract_warning_lines ($$) {
|
||||
qr|Plugin 'FEEDBACK' registration as a INFORMATION SCHEMA failed|,
|
||||
qr|'log-bin-use-v1-row-events' is MySQL 5.6 compatible option|,
|
||||
qr|InnoDB: Setting thread \d+ nice to \d+ failed, current nice \d+, errno 13|, # setpriority() fails under valgrind
|
||||
# Galera-related warnings.
|
||||
qr|WSREP:.*down context.*|,
|
||||
qr|WSREP: Failed to send state UUID:.*|,
|
||||
qr|WSREP: wsrep_sst_receive_address.*|,
|
||||
);
|
||||
|
||||
my $matched_lines= [];
|
||||
|
Reference in New Issue
Block a user