mirror of
https://github.com/MariaDB/server.git
synced 2025-07-28 06:04:59 +02:00

mtr test galera.galera_UK_conflict, has rather distorted logic in test scenario 2. The test would fail always with: CURRENT_TEST: galera.galera_UK_conflict mysqltest: In included file "./include/galera_wait_sync_point.inc": included from /home/seppo/work/wsrep/mariadb-server/mysql-test/suite/galera/t/galera_UK_conflict.test at line 216: At line 3: query 'SET SESSION wsrep_on = 0' failed: 1179: You are not allowed to execute this command in a transaction This happens because wait_condition is called in wrong connection (node_1, which is excuting MST transaction) This test is fixed by using contl connection for wait contdition check, and new result is recorded as well
181 lines
4.6 KiB
Text
181 lines
4.6 KiB
Text
connection node_2;
|
|
connection node_1;
|
|
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 int, f3 int, unique key keyj (f2));
|
|
INSERT INTO t1 VALUES (1, 1, 0);
|
|
INSERT INTO t1 VALUES (3, 3, 0);
|
|
INSERT INTO t1 VALUES (10, 10, 0);
|
|
SET GLOBAL wsrep_slave_threads = 3;
|
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
|
connection node_1;
|
|
SET SESSION wsrep_sync_wait=0;
|
|
START TRANSACTION;
|
|
DELETE FROM t1 WHERE f2 = 3;
|
|
INSERT INTO t1 VALUES (3, 3, 1);
|
|
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
|
connection node_1a;
|
|
SET SESSION wsrep_sync_wait=0;
|
|
connection node_2;
|
|
INSERT INTO t1 VALUES (5, 5, 2);
|
|
connection node_1a;
|
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
|
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
|
connection node_2;
|
|
INSERT INTO t1 VALUES (4, 4, 2);
|
|
connection node_1a;
|
|
SET SESSION wsrep_on = 0;
|
|
SET SESSION wsrep_on = 1;
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_master_enter_sync';
|
|
connection node_1;
|
|
COMMIT;
|
|
connection node_1a;
|
|
SET SESSION wsrep_on = 0;
|
|
SET SESSION wsrep_on = 1;
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_master_enter_sync';
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET GLOBAL DEBUG_DBUG = "";
|
|
SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
|
|
SET GLOBAL debug_dbug = NULL;
|
|
SET debug_sync='RESET';
|
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
|
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
|
SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_slave_enter_sync';
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET GLOBAL DEBUG_DBUG = "";
|
|
SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";
|
|
SET GLOBAL debug_dbug = NULL;
|
|
SET debug_sync='RESET';
|
|
SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_slave_enter_sync';
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
connection node_1;
|
|
SELECT * FROM t1;
|
|
f1 f2 f3
|
|
1 1 0
|
|
3 3 1
|
|
4 4 2
|
|
5 5 2
|
|
10 10 0
|
|
SET GLOBAL wsrep_slave_threads = DEFAULT;
|
|
connection node_2;
|
|
SELECT * FROM t1;
|
|
f1 f2 f3
|
|
1 1 0
|
|
3 3 1
|
|
4 4 2
|
|
5 5 2
|
|
10 10 0
|
|
INSERT INTO t1 VALUES (7,7,7);
|
|
INSERT INTO t1 VALUES (8,8,8);
|
|
SELECT COUNT(*) FROM t1;
|
|
COUNT(*)
|
|
7
|
|
SELECT * FROM t1;
|
|
f1 f2 f3
|
|
1 1 0
|
|
3 3 1
|
|
4 4 2
|
|
5 5 2
|
|
7 7 7
|
|
8 8 8
|
|
10 10 0
|
|
connection node_1;
|
|
SELECT COUNT(*) FROM t1;
|
|
COUNT(*)
|
|
7
|
|
SELECT * FROM t1;
|
|
f1 f2 f3
|
|
1 1 0
|
|
3 3 1
|
|
4 4 2
|
|
5 5 2
|
|
7 7 7
|
|
8 8 8
|
|
10 10 0
|
|
DROP TABLE t1;
|
|
test scenario 2
|
|
connection node_1;
|
|
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 int, f3 int, unique key keyj (f2));
|
|
INSERT INTO t1 VALUES (1, 1, 0);
|
|
INSERT INTO t1 VALUES (3, 3, 0);
|
|
INSERT INTO t1 VALUES (10, 10, 0);
|
|
SET GLOBAL wsrep_slave_threads = 3;
|
|
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
|
connection node_1;
|
|
SET SESSION wsrep_sync_wait=0;
|
|
START TRANSACTION;
|
|
DELETE FROM t1 WHERE f2 = 3;
|
|
INSERT INTO t1 VALUES (3, 3, 1);
|
|
connection node_1a;
|
|
SET SESSION wsrep_sync_wait=0;
|
|
connection node_2;
|
|
INSERT INTO t1 VALUES (5, 5, 2);
|
|
connection node_1a;
|
|
SET SESSION wsrep_on = 0;
|
|
SET SESSION wsrep_on = 1;
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_master_enter_sync';
|
|
connection node_1;
|
|
COMMIT;
|
|
connection node_1a;
|
|
SET SESSION wsrep_on = 0;
|
|
SET SESSION wsrep_on = 1;
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_replay_cb";
|
|
SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_master_enter_sync';
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_replay_cb_reached";
|
|
SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_slave_enter_sync';
|
|
connection node_2;
|
|
INSERT INTO t1 VALUES (4, 4, 2);
|
|
connection node_1a;
|
|
SET SESSION wsrep_on = 0;
|
|
SET SESSION wsrep_on = 1;
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_slave_enter_sync';
|
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
SET GLOBAL DEBUG_DBUG = "";
|
|
SET DEBUG_SYNC = "now SIGNAL signal.wsrep_replay_cb";
|
|
SET GLOBAL debug_dbug = NULL;
|
|
SET debug_sync='RESET';
|
|
connection node_1;
|
|
SET GLOBAL wsrep_slave_threads = DEFAULT;
|
|
connection node_2;
|
|
SELECT * FROM t1;
|
|
f1 f2 f3
|
|
1 1 0
|
|
3 3 1
|
|
4 4 2
|
|
5 5 2
|
|
10 10 0
|
|
INSERT INTO t1 VALUES (7,7,7);
|
|
INSERT INTO t1 VALUES (8,8,8);
|
|
SELECT COUNT(*) FROM t1;
|
|
COUNT(*)
|
|
7
|
|
SELECT * FROM t1;
|
|
f1 f2 f3
|
|
1 1 0
|
|
3 3 1
|
|
4 4 2
|
|
5 5 2
|
|
7 7 7
|
|
8 8 8
|
|
10 10 0
|
|
connection node_1;
|
|
SELECT COUNT(*) FROM t1;
|
|
COUNT(*)
|
|
7
|
|
SELECT * FROM t1;
|
|
f1 f2 f3
|
|
1 1 0
|
|
3 3 1
|
|
4 4 2
|
|
5 5 2
|
|
7 7 7
|
|
8 8 8
|
|
10 10 0
|
|
DROP TABLE t1;
|