Skip to content
Permalink
Browse files
Merge 10.4 into 10.5
  • Loading branch information
dr-m committed Aug 20, 2020
2 parents b205e47 + 2fa9f8c commit d5d8756
Show file tree
Hide file tree
Showing 46 changed files with 519 additions and 224 deletions.
@@ -9088,10 +9088,6 @@ static void init_signal_handling(void)
struct sigaction sa;
DBUG_ENTER("init_signal_handling");

#ifdef HAVE_STACKTRACE
my_init_stacktrace(0);
#endif

sa.sa_flags = SA_RESETHAND | SA_NODEFER;
sigemptyset(&sa.sa_mask);
sigprocmask(SIG_SETMASK, &sa.sa_mask, NULL);
@@ -1,5 +1,6 @@
/*
Copyright (c) 2001, 2011, Oracle and/or its affiliates.
Copyright (c) 2020, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -41,7 +42,7 @@
C_MODE_START

#if defined(HAVE_STACKTRACE) || defined(HAVE_BACKTRACE)
void my_init_stacktrace(int setup_handlers);
void my_setup_stacktrace(void);
void my_print_stacktrace(uchar* stack_bottom, ulong thread_stack,
my_bool silent);
int my_safe_print_str(const char* val, size_t max_len);
@@ -53,7 +54,7 @@ char *my_demangle(const char *mangled_name, int *status);
void my_set_exception_pointers(EXCEPTION_POINTERS *ep);
#endif /* __WIN__ */
#else
#define my_init_stacktrace(A) do { } while(0)
#define my_setup_stacktrace()
#endif /* ! (defined(HAVE_STACKTRACE) || defined(HAVE_BACKTRACE)) */

#ifndef _WIN32
@@ -15,6 +15,7 @@ TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
TRUNCATE TABLE time_zone_transition_type;
START TRANSACTION;
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
SET @time_zone_id= LAST_INSERT_ID();
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
@@ -32,6 +33,7 @@ INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset,
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/ignored.tab' as time zone. Skipping it.
Warning: Skipping directory 'MYSQLTEST_VARDIR/zoneinfo/posix/posix': to avoid infinite symlink recursion.
COMMIT;
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
\d |
@@ -57,6 +59,7 @@ TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
TRUNCATE TABLE time_zone_transition_type;
START TRANSACTION;
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
SET @time_zone_id= LAST_INSERT_ID();
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
@@ -71,6 +74,7 @@ INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset,
(@time_zone_id, 0, 0, 0, 'GMT')
;
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
COMMIT;
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
\d |
@@ -160,6 +164,8 @@ TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
TRUNCATE TABLE time_zone_transition_type;
START TRANSACTION;
COMMIT;
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
\d |
@@ -5,6 +5,9 @@ SET wsrep_on=OFF;
DROP SCHEMA test;
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
connection node_3;
connection node_1;
connection node_2;
connection node_3;
SET wsrep_on=OFF;
CREATE TABLE test.t1 (f1 INTEGER);
connection node_1;
@@ -1,40 +1,81 @@
connection node_2;
connection node_1;
connection node_1;
CREATE TABLE t1 (pk INT PRIMARY KEY, node INT) ENGINE=innodb;
INSERT INTO t1 VALUES (1, 1);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (2, 3);
connection node_2;
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET wsrep_sync_wait = 0;
SET wsrep_on = OFF;
SET GLOBAL wsrep_provider_options = 'dbug=d,after_shift_to_joining';
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
INSERT INTO t1 VALUES (3, 2);
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
connection node_3;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (4, 3);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
INSERT INTO t1 VALUES (5, 2);
connection node_3;
connection node_1a;
SET GLOBAL wsrep_provider_options = 'dbug=d,before_send_state_request';
SET GLOBAL wsrep_provider_options = 'signal=after_shift_to_joining';
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (6, 3);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
INSERT INTO t1 VALUES (7, 2);
connection node_3;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (8, 3);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
connection node_1a;
SET GLOBAL wsrep_provider_options = 'dbug=d,process_primary_configuration';
SET GLOBAL wsrep_provider_options = 'signal=before_send_state_request';
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
connection node_2;
INSERT INTO t1 VALUES (9, 2);
connection node_3;
connection node_1a;
SET GLOBAL wsrep_provider_options = 'signal=process_primary_configuration';
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
SET GLOBAL wsrep_provider_options = 'signal=process_primary_configuration';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
DROP TABLE t1;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
connection node_2;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
connection node_3;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
@@ -1,18 +1,39 @@
connection node_2;
connection node_1;
connection node_1;
CREATE TABLE t1 (pk INT PRIMARY KEY, node INT) ENGINE=innodb;
INSERT INTO t1 VALUES (1, 1);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (2, 3);
connection node_2;
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET wsrep_sync_wait = 0;
SET wsrep_on = OFF;
SET GLOBAL wsrep_provider_options = 'dbug=d,after_shift_to_joining';
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
INSERT INTO t1 VALUES (3, 2);
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
connection node_3;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (4, 3);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
INSERT INTO t1 VALUES (5, 2);
connection node_3;
connection node_1a;
SET GLOBAL wsrep_provider_options = 'dbug=d,before_send_state_request';
SET GLOBAL wsrep_provider_options = 'signal=after_shift_to_joining';
SET SESSION wsrep_on = 0;
@@ -24,18 +45,35 @@ SET SESSION wsrep_on = 0;
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_debug_sync_waiters';
VARIABLE_NAME VARIABLE_VALUE
WSREP_DEBUG_SYNC_WAITERS after_shift_to_joining
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (6, 3);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
INSERT INTO t1 VALUES (7, 2);
connection node_3;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (8, 3);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
connection node_1a;
SET GLOBAL wsrep_provider_options = 'dbug=d,process_primary_configuration';
SET GLOBAL wsrep_provider_options = 'signal=after_shift_to_joining';
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
connection node_2;
INSERT INTO t1 VALUES (9, 2);
connection node_3;
connection node_1a;
SET GLOBAL wsrep_provider_options = 'signal=process_primary_configuration';
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
@@ -44,7 +82,10 @@ VARIABLE_NAME VARIABLE_VALUE
WSREP_DEBUG_SYNC_WAITERS process_primary_configuration
SET GLOBAL wsrep_provider_options = 'signal=process_primary_configuration';
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
DROP TABLE t1;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
connection node_2;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
connection node_3;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
@@ -1,44 +1,85 @@
connection node_2;
connection node_1;
connection node_1;
CREATE TABLE t1 (pk INT PRIMARY KEY, node INT) ENGINE=innodb;
INSERT INTO t1 VALUES (1, 1);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (2, 3);
connection node_2;
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET wsrep_sync_wait = 0;
SET wsrep_on = OFF;
SET GLOBAL wsrep_provider_options = 'dbug=d,after_shift_to_joining';
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
INSERT INTO t1 VALUES (3, 2);
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
connection node_3;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (4, 3);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
INSERT INTO t1 VALUES (5, 2);
connection node_3;
connection node_1a;
SET GLOBAL wsrep_provider_options = 'dbug=d,before_send_state_request';
SET GLOBAL wsrep_provider_options = 'signal=after_shift_to_joining';
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
SET GLOBAL wsrep_provider_options = 'dbug=';
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
connection node_1a;
SET GLOBAL wsrep_provider_options = 'dbug=d,after_shift_to_joining';
SET GLOBAL wsrep_provider_options = 'signal=before_send_state_request';
4
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_debug_sync_waiters';
VARIABLE_NAME VARIABLE_VALUE
WSREP_DEBUG_SYNC_WAITERS
connection node_3;
INSERT INTO t1 VALUES (6, 3);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
INSERT INTO t1 VALUES (7, 2);
connection node_3;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'dbug=d,process_primary_configuration';
SET GLOBAL wsrep_provider_options = 'signal=after_shift_to_joining';
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=1';
connection node_2;
connection node_3;
INSERT INTO t1 VALUES (8, 3);
connection node_2;
connection node_1;
SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
connection node_2;
connection node_1a;
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
connection node_2;
INSERT INTO t1 VALUES (9, 2);
connection node_3;
connection node_1a;
SET GLOBAL wsrep_provider_options = 'signal=process_primary_configuration';
SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
@@ -48,8 +89,11 @@ SET SESSION wsrep_on = 0;
SET SESSION wsrep_on = 0;
SET GLOBAL wsrep_provider_options = 'dbug=';
SET GLOBAL wsrep_provider_options = 'signal=after_shift_to_joining';
connection node_1;
DROP TABLE t1;
call mtr.add_suppression("WSREP: Send action {\(.*\), STATE_REQUEST} returned -107 \\(Transport endpoint is not connected\\)");
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
connection node_2;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
connection node_3;
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");

0 comments on commit d5d8756

Please sign in to comment.