Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
7d3d3838
Commit
7d3d3838
authored
May 23, 2022
by
Julius Goryavsky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MDEV-28583: post-merge fixes
parent
7d5d9ead
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
454 additions
and
1071 deletions
+454
-1071
mysql-test/suite/galera/r/galera_ist_MDEV-28423,debug.rdiff
mysql-test/suite/galera/r/galera_ist_MDEV-28423,debug.rdiff
+63
-139
mysql-test/suite/galera/r/galera_ist_MDEV-28423.result
mysql-test/suite/galera/r/galera_ist_MDEV-28423.result
+163
-395
mysql-test/suite/galera/r/galera_ist_MDEV-28583,debug.rdiff
mysql-test/suite/galera/r/galera_ist_MDEV-28583,debug.rdiff
+63
-139
mysql-test/suite/galera/r/galera_ist_MDEV-28583.result
mysql-test/suite/galera/r/galera_ist_MDEV-28583.result
+163
-395
scripts/wsrep_sst_mariabackup.sh
scripts/wsrep_sst_mariabackup.sh
+2
-3
No files found.
mysql-test/suite/galera/r/galera_ist_MDEV-28423,debug.rdiff
View file @
7d3d3838
--- r/galera_ist_MDEV-28423.result
+++ r/galera_ist_MDEV-28423,debug.reject
@@ -517,3 +517,187 @@
1
+++ r/galera_ist_MDEV-28423.reject
@@ -286,3 +286,111 @@
DROP TABLE t1;
COMMIT;
SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+while a DDL was in progress on it
+connection node_1;
+CREATE TABLE t1 (
id int not null primary key,
f1 CHAR(255)) ENGINE=InnoDB;
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (
1,
'node1_committed_before');
+INSERT INTO t1 VALUES (
2,
'node1_committed_before');
+INSERT INTO t1 VALUES (
3,
'node1_committed_before');
+INSERT INTO t1 VALUES (
4,
'node1_committed_before');
+INSERT INTO t1 VALUES (
5,
'node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+connection node_2;
+START TRANSACTION;
+INSERT INTO t1 VALUES (
6,
'node2_committed_before');
+INSERT INTO t1 VALUES (
7,
'node2_committed_before');
+INSERT INTO t1 VALUES (
8,
'node2_committed_before');
+INSERT INTO t1 VALUES (
9,
'node2_committed_before');
+INSERT INTO t1 VALUES (
10,
'node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
+connection node_1;
...
...
@@ -32,26 +32,26 @@
+connection node_1;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (11,
'node1_committed_during');
+INSERT INTO t1 (
id,f1) VALUES (12,
'node1_committed_during');
+INSERT INTO t1 (
id,f1) VALUES (13,
'node1_committed_during');
+INSERT INTO t1 (
id,f1) VALUES (14,
'node1_committed_during');
+INSERT INTO t1 (
id,f1) VALUES (15,
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (16,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (17,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (18,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (19,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (20,
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+connect node_1a_galera_st_kill_slave_ddl, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (21,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (22,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (23,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (24,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (25,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+connection node_2;
+Performing --wsrep-recover ...
+connection node_2;
...
...
@@ -59,132 +59,56 @@
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (26,
'node2_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (27,
'node2_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (28,
'node2_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (29,
'node2_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (30,
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+COMMIT;
+connection node_1;
+INSERT INTO t1 (
id,f1) VALUES (31,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (32,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (33,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (34,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (35,
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (36,
'node1_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (37,
'node1_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (38,
'node1_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (39,
'node1_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (40,
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+COMMIT;
+connection node_1a_galera_st_kill_slave_ddl;
+INSERT INTO t1 (
id,f1) VALUES (41,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (42,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (43,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (44,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (45,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+ROLLBACK;
+SET AUTOCOMMIT=ON;
+SET SESSION wsrep_sync_wait=15;
+SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+EXPECT_3
+3
+SELECT COUNT(*) AS EXPECT_35 FROM t1;
+EXPECT_35
+35
+SELECT * FROM t1;
+id f1 f2
+1 node1_committed_before NULL
+2 node1_committed_before NULL
+3 node1_committed_before NULL
+4 node1_committed_before NULL
+5 node1_committed_before NULL
+6 node2_committed_before NULL
+7 node2_committed_before NULL
+8 node2_committed_before NULL
+9 node2_committed_before NULL
+10 node2_committed_before NULL
+11 node1_committed_during NULL
+12 node1_committed_during NULL
+13 node1_committed_during NULL
+14 node1_committed_during NULL
+15 node1_committed_during NULL
+16 node1_to_be_committed_after NULL
+17 node1_to_be_committed_after NULL
+18 node1_to_be_committed_after NULL
+19 node1_to_be_committed_after NULL
+20 node1_to_be_committed_after NULL
+26 node2_committed_after NULL
+27 node2_committed_after NULL
+28 node2_committed_after NULL
+29 node2_committed_after NULL
+30 node2_committed_after NULL
+31 node1_to_be_committed_after NULL
+32 node1_to_be_committed_after NULL
+33 node1_to_be_committed_after NULL
+34 node1_to_be_committed_after NULL
+35 node1_to_be_committed_after NULL
+36 node1_committed_after NULL
+37 node1_committed_after NULL
+38 node1_committed_after NULL
+39 node1_committed_after NULL
+40 node1_committed_after NULL
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+connection node_1;
+SET AUTOCOMMIT=ON;
+SET SESSION wsrep_sync_wait=15;
+SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+EXPECT_3
+3
+SELECT COUNT(*) AS EXPECT_35 FROM t1;
+EXPECT_35
+35
+SELECT * FROM t1;
+id f1 f2
+1 node1_committed_before NULL
+2 node1_committed_before NULL
+3 node1_committed_before NULL
+4 node1_committed_before NULL
+5 node1_committed_before NULL
+6 node2_committed_before NULL
+7 node2_committed_before NULL
+8 node2_committed_before NULL
+9 node2_committed_before NULL
+10 node2_committed_before NULL
+11 node1_committed_during NULL
+12 node1_committed_during NULL
+13 node1_committed_during NULL
+14 node1_committed_during NULL
+15 node1_committed_during NULL
+16 node1_to_be_committed_after NULL
+17 node1_to_be_committed_after NULL
+18 node1_to_be_committed_after NULL
+19 node1_to_be_committed_after NULL
+20 node1_to_be_committed_after NULL
+26 node2_committed_after NULL
+27 node2_committed_after NULL
+28 node2_committed_after NULL
+29 node2_committed_after NULL
+30 node2_committed_after NULL
+31 node1_to_be_committed_after NULL
+32 node1_to_be_committed_after NULL
+33 node1_to_be_committed_after NULL
+34 node1_to_be_committed_after NULL
+35 node1_to_be_committed_after NULL
+36 node1_committed_after NULL
+37 node1_committed_after NULL
+38 node1_committed_after NULL
+39 node1_committed_after NULL
+40 node1_committed_after NULL
+connection node_1;
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+SET GLOBAL debug_dbug = $debug_orig;
mysql-test/suite/galera/r/galera_ist_MDEV-28423.result
View file @
7d3d3838
connection node_2;
connection node_1;
connection node_1;
connection node_2;
Performing State Transfer on a server that has been temporarily disconnected
connection node_1;
CREATE TABLE t1 (
id int not null primary key,
f1 CHAR(255)) ENGINE=InnoDB;
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
1,
'node1_committed_before');
INSERT INTO t1 VALUES (
2,
'node1_committed_before');
INSERT INTO t1 VALUES (
3,
'node1_committed_before');
INSERT INTO t1 VALUES (
4,
'node1_committed_before');
INSERT INTO t1 VALUES (
5,
'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
COMMIT;
connection node_2;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
6,
'node2_committed_before');
INSERT INTO t1 VALUES (
7,
'node2_committed_before');
INSERT INTO t1 VALUES (
8,
'node2_committed_before');
INSERT INTO t1 VALUES (
9,
'node2_committed_before');
INSERT INTO t1 VALUES (
10,
'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
COMMIT;
Unloading wsrep provider ...
SET GLOBAL wsrep_cluster_address = '';
connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
11,
'node1_committed_during');
INSERT INTO t1 VALUES (
12,
'node1_committed_during');
INSERT INTO t1 VALUES (
13,
'node1_committed_during');
INSERT INTO t1 VALUES (
14,
'node1_committed_during');
INSERT INTO t1 VALUES (
15,
'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
COMMIT;
START TRANSACTION;
INSERT INTO t1 VALUES (
16,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
17,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
18,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
19,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
20,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
connect node_1a_galera_st_disconnect_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
21,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
22,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
23,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
24,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
25,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
connection node_2;
Loading wsrep provider ...
disconnect node_2;
connect node_2, 127.0.0.1, root, , test, $NODE_MYPORT_2;
connection node_2;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
26,
'node2_committed_after');
INSERT INTO t1 VALUES (
27,
'node2_committed_after');
INSERT INTO t1 VALUES (
28,
'node2_committed_after');
INSERT INTO t1 VALUES (
29,
'node2_committed_after');
INSERT INTO t1 VALUES (
30,
'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
COMMIT;
connection node_1;
INSERT INTO t1 VALUES (
31,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
32,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
33,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
34,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
35,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
COMMIT;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
36,
'node1_committed_after');
INSERT INTO t1 VALUES (
37,
'node1_committed_after');
INSERT INTO t1 VALUES (
38,
'node1_committed_after');
INSERT INTO t1 VALUES (
39,
'node1_committed_after');
INSERT INTO t1 VALUES (
40,
'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
COMMIT;
connection node_1a_galera_st_disconnect_slave;
INSERT INTO t1 VALUES (
41,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
42,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
43,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
44,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
45,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
connection node_1
;
COMMIT
;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
connection node_1;
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
DROP TABLE t1;
COMMIT;
SET AUTOCOMMIT=ON;
Performing State Transfer on a server that has been shut down cleanly and restarted
connection node_1;
CREATE TABLE t1 (
id int not null primary key,
f1 CHAR(255)) ENGINE=InnoDB;
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
1,
'node1_committed_before');
INSERT INTO t1 VALUES (
2,
'node1_committed_before');
INSERT INTO t1 VALUES (
3,
'node1_committed_before');
INSERT INTO t1 VALUES (
4,
'node1_committed_before');
INSERT INTO t1 VALUES (
5,
'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
COMMIT;
connection node_2;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
6,
'node2_committed_before');
INSERT INTO t1 VALUES (
7,
'node2_committed_before');
INSERT INTO t1 VALUES (
8,
'node2_committed_before');
INSERT INTO t1 VALUES (
9,
'node2_committed_before');
INSERT INTO t1 VALUES (
10,
'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
COMMIT;
Shutting down server ...
connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
11,
'node1_committed_during');
INSERT INTO t1 VALUES (
12,
'node1_committed_during');
INSERT INTO t1 VALUES (
13,
'node1_committed_during');
INSERT INTO t1 VALUES (
14,
'node1_committed_during');
INSERT INTO t1 VALUES (
15,
'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
COMMIT;
START TRANSACTION;
INSERT INTO t1 VALUES (
16,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
17,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
18,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
19,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
20,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
connect node_1a_galera_st_shutdown_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
21,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
22,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
23,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
24,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
25,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
connection node_2;
Starting server ...
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
26,
'node2_committed_after');
INSERT INTO t1 VALUES (
27,
'node2_committed_after');
INSERT INTO t1 VALUES (
28,
'node2_committed_after');
INSERT INTO t1 VALUES (
29,
'node2_committed_after');
INSERT INTO t1 VALUES (
30,
'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
COMMIT;
connection node_1;
INSERT INTO t1 VALUES (
31,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
32,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
33,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
34,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
35,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
COMMIT;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
36,
'node1_committed_after');
INSERT INTO t1 VALUES (
37,
'node1_committed_after');
INSERT INTO t1 VALUES (
38,
'node1_committed_after');
INSERT INTO t1 VALUES (
39,
'node1_committed_after');
INSERT INTO t1 VALUES (
40,
'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
COMMIT;
connection node_1a_galera_st_shutdown_slave;
INSERT INTO t1 VALUES (
41,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
42,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
43,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
44,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
45,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_15 FROM t1;
EXPECT_15
35
SELECT * from t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
COMMIT;
connection node_1;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_15 FROM t1;
EXPECT_15
35
SELECT * from t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
connection node_1;
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
DROP TABLE t1;
COMMIT;
SET AUTOCOMMIT=ON;
Performing State Transfer on a server that has been killed and restarted
connection node_1;
CREATE TABLE t1 (
id int not null primary key,
f1 CHAR(255)) ENGINE=InnoDB;
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
1,
'node1_committed_before');
INSERT INTO t1 VALUES (
2,
'node1_committed_before');
INSERT INTO t1 VALUES (
3,
'node1_committed_before');
INSERT INTO t1 VALUES (
4,
'node1_committed_before');
INSERT INTO t1 VALUES (
5,
'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
COMMIT;
connection node_2;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
6,
'node2_committed_before');
INSERT INTO t1 VALUES (
7,
'node2_committed_before');
INSERT INTO t1 VALUES (
8,
'node2_committed_before');
INSERT INTO t1 VALUES (
9,
'node2_committed_before');
INSERT INTO t1 VALUES (
10,
'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
COMMIT;
Killing server ...
connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
11,
'node1_committed_during');
INSERT INTO t1 VALUES (
12,
'node1_committed_during');
INSERT INTO t1 VALUES (
13,
'node1_committed_during');
INSERT INTO t1 VALUES (
14,
'node1_committed_during');
INSERT INTO t1 VALUES (
15,
'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
COMMIT;
START TRANSACTION;
INSERT INTO t1 VALUES (
16,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
17,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
18,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
19,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
20,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
connect node_1a_galera_st_kill_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
21,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
22,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
23,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
24,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
25,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
connection node_2;
Performing --wsrep-recover ...
Starting server ...
Using --wsrep-start-position when starting mysqld ...
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
26,
'node2_committed_after');
INSERT INTO t1 VALUES (
27,
'node2_committed_after');
INSERT INTO t1 VALUES (
28,
'node2_committed_after');
INSERT INTO t1 VALUES (
29,
'node2_committed_after');
INSERT INTO t1 VALUES (
30,
'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
COMMIT;
connection node_1;
INSERT INTO t1 VALUES (
31,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
32,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
33,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
34,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
35,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
COMMIT;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
36,
'node1_committed_after');
INSERT INTO t1 VALUES (
37,
'node1_committed_after');
INSERT INTO t1 VALUES (
38,
'node1_committed_after');
INSERT INTO t1 VALUES (
39,
'node1_committed_after');
INSERT INTO t1 VALUES (
40,
'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
COMMIT;
connection node_1a_galera_st_kill_slave;
INSERT INTO t1 VALUES (
41,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
42,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
43,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
45,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
46,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
COMMIT;
connection node_1;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
connection node_1;
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
DROP TABLE t1;
COMMIT;
SET AUTOCOMMIT=ON;
mysql-test/suite/galera/r/galera_ist_MDEV-28583,debug.rdiff
View file @
7d3d3838
--- r/galera_ist_MDEV-28583.result
+++ r/galera_ist_MDEV-28583,debug.reject
@@ -517,3 +517,187 @@
1
+++ r/galera_ist_MDEV-28583.reject
@@ -285,3 +285,111 @@
DROP TABLE t1;
COMMIT;
SET AUTOCOMMIT=ON;
+Performing State Transfer on a server that has been killed and restarted
+while a DDL was in progress on it
+connection node_1;
+CREATE TABLE t1 (
id int not null primary key,
f1 CHAR(255)) ENGINE=InnoDB;
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (
1,
'node1_committed_before');
+INSERT INTO t1 VALUES (
2,
'node1_committed_before');
+INSERT INTO t1 VALUES (
3,
'node1_committed_before');
+INSERT INTO t1 VALUES (
4,
'node1_committed_before');
+INSERT INTO t1 VALUES (
5,
'node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+INSERT INTO t1 VALUES ('node1_committed_before');
+connection node_2;
+START TRANSACTION;
+INSERT INTO t1 VALUES (
6,
'node2_committed_before');
+INSERT INTO t1 VALUES (
7,
'node2_committed_before');
+INSERT INTO t1 VALUES (
8,
'node2_committed_before');
+INSERT INTO t1 VALUES (
9,
'node2_committed_before');
+INSERT INTO t1 VALUES (
10,
'node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+INSERT INTO t1 VALUES ('node2_committed_before');
+COMMIT;
+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
+connection node_1;
...
...
@@ -32,26 +32,26 @@
+connection node_1;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (11,
'node1_committed_during');
+INSERT INTO t1 (
id,f1) VALUES (12,
'node1_committed_during');
+INSERT INTO t1 (
id,f1) VALUES (13,
'node1_committed_during');
+INSERT INTO t1 (
id,f1) VALUES (14,
'node1_committed_during');
+INSERT INTO t1 (
id,f1) VALUES (15,
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_during');
+COMMIT;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (16,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (17,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (18,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (19,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (20,
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+connect node_1a_galera_st_kill_slave_ddl, 127.0.0.1, root, , test, $NODE_MYPORT_1;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (21,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (22,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (23,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (24,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (25,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+connection node_2;
+Performing --wsrep-recover ...
+connection node_2;
...
...
@@ -59,132 +59,56 @@
+Using --wsrep-start-position when starting mysqld ...
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (26,
'node2_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (27,
'node2_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (28,
'node2_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (29,
'node2_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (30,
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node2_committed_after');
+COMMIT;
+connection node_1;
+INSERT INTO t1 (
id,f1) VALUES (31,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (32,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (33,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (34,
'node1_to_be_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (35,
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_committed_after');
+COMMIT;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 (
id,f1) VALUES (36,
'node1_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (37,
'node1_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (38,
'node1_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (39,
'node1_committed_after');
+INSERT INTO t1 (
id,f1) VALUES (40,
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_committed_after');
+COMMIT;
+connection node_1a_galera_st_kill_slave_ddl;
+INSERT INTO t1 (
id,f1) VALUES (41,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (42,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (43,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (44,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
id,f1) VALUES (45,
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+INSERT INTO t1 (
f1) VALUES (
'node1_to_be_rollbacked_after');
+ROLLBACK;
+SET AUTOCOMMIT=ON;
+SET SESSION wsrep_sync_wait=15;
+SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+EXPECT_3
+3
+SELECT COUNT(*) AS EXPECT_35 FROM t1;
+EXPECT_35
+35
+SELECT * FROM t1;
+id f1 f2
+1 node1_committed_before NULL
+2 node1_committed_before NULL
+3 node1_committed_before NULL
+4 node1_committed_before NULL
+5 node1_committed_before NULL
+6 node2_committed_before NULL
+7 node2_committed_before NULL
+8 node2_committed_before NULL
+9 node2_committed_before NULL
+10 node2_committed_before NULL
+11 node1_committed_during NULL
+12 node1_committed_during NULL
+13 node1_committed_during NULL
+14 node1_committed_during NULL
+15 node1_committed_during NULL
+16 node1_to_be_committed_after NULL
+17 node1_to_be_committed_after NULL
+18 node1_to_be_committed_after NULL
+19 node1_to_be_committed_after NULL
+20 node1_to_be_committed_after NULL
+26 node2_committed_after NULL
+27 node2_committed_after NULL
+28 node2_committed_after NULL
+29 node2_committed_after NULL
+30 node2_committed_after NULL
+31 node1_to_be_committed_after NULL
+32 node1_to_be_committed_after NULL
+33 node1_to_be_committed_after NULL
+34 node1_to_be_committed_after NULL
+35 node1_to_be_committed_after NULL
+36 node1_committed_after NULL
+37 node1_committed_after NULL
+38 node1_committed_after NULL
+39 node1_committed_after NULL
+40 node1_committed_after NULL
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+COMMIT;
+connection node_1;
+SET AUTOCOMMIT=ON;
+SET SESSION wsrep_sync_wait=15;
+SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+EXPECT_3
+3
+SELECT COUNT(*) AS EXPECT_35 FROM t1;
+EXPECT_35
+35
+SELECT * FROM t1;
+id f1 f2
+1 node1_committed_before NULL
+2 node1_committed_before NULL
+3 node1_committed_before NULL
+4 node1_committed_before NULL
+5 node1_committed_before NULL
+6 node2_committed_before NULL
+7 node2_committed_before NULL
+8 node2_committed_before NULL
+9 node2_committed_before NULL
+10 node2_committed_before NULL
+11 node1_committed_during NULL
+12 node1_committed_during NULL
+13 node1_committed_during NULL
+14 node1_committed_during NULL
+15 node1_committed_during NULL
+16 node1_to_be_committed_after NULL
+17 node1_to_be_committed_after NULL
+18 node1_to_be_committed_after NULL
+19 node1_to_be_committed_after NULL
+20 node1_to_be_committed_after NULL
+26 node2_committed_after NULL
+27 node2_committed_after NULL
+28 node2_committed_after NULL
+29 node2_committed_after NULL
+30 node2_committed_after NULL
+31 node1_to_be_committed_after NULL
+32 node1_to_be_committed_after NULL
+33 node1_to_be_committed_after NULL
+34 node1_to_be_committed_after NULL
+35 node1_to_be_committed_after NULL
+36 node1_committed_after NULL
+37 node1_committed_after NULL
+38 node1_committed_after NULL
+39 node1_committed_after NULL
+40 node1_committed_after NULL
+connection node_1;
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
+COUNT(*) = 2
+1
+SELECT COUNT(*) = 35 FROM t1;
+COUNT(*) = 35
+1
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
+COUNT(*) = 0
+1
+DROP TABLE t1;
+COMMIT;
+SET AUTOCOMMIT=ON;
+SET GLOBAL debug_dbug = $debug_orig;
mysql-test/suite/galera/r/galera_ist_MDEV-28583.result
View file @
7d3d3838
connection node_2;
connection node_1;
connection node_1;
connection node_2;
Performing State Transfer on a server that has been temporarily disconnected
connection node_1;
CREATE TABLE t1 (
id int not null primary key,
f1 CHAR(255)) ENGINE=InnoDB;
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
1,
'node1_committed_before');
INSERT INTO t1 VALUES (
2,
'node1_committed_before');
INSERT INTO t1 VALUES (
3,
'node1_committed_before');
INSERT INTO t1 VALUES (
4,
'node1_committed_before');
INSERT INTO t1 VALUES (
5,
'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
COMMIT;
connection node_2;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
6,
'node2_committed_before');
INSERT INTO t1 VALUES (
7,
'node2_committed_before');
INSERT INTO t1 VALUES (
8,
'node2_committed_before');
INSERT INTO t1 VALUES (
9,
'node2_committed_before');
INSERT INTO t1 VALUES (
10,
'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
COMMIT;
Unloading wsrep provider ...
SET GLOBAL wsrep_cluster_address = '';
connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
11,
'node1_committed_during');
INSERT INTO t1 VALUES (
12,
'node1_committed_during');
INSERT INTO t1 VALUES (
13,
'node1_committed_during');
INSERT INTO t1 VALUES (
14,
'node1_committed_during');
INSERT INTO t1 VALUES (
15,
'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
COMMIT;
START TRANSACTION;
INSERT INTO t1 VALUES (
16,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
17,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
18,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
19,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
20,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
connect node_1a_galera_st_disconnect_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
21,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
22,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
23,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
24,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
25,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
connection node_2;
Loading wsrep provider ...
disconnect node_2;
connect node_2, 127.0.0.1, root, , test, $NODE_MYPORT_2;
connection node_2;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
26,
'node2_committed_after');
INSERT INTO t1 VALUES (
27,
'node2_committed_after');
INSERT INTO t1 VALUES (
28,
'node2_committed_after');
INSERT INTO t1 VALUES (
29,
'node2_committed_after');
INSERT INTO t1 VALUES (
30,
'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
COMMIT;
connection node_1;
INSERT INTO t1 VALUES (
31,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
32,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
33,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
34,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
35,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
COMMIT;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
36,
'node1_committed_after');
INSERT INTO t1 VALUES (
37,
'node1_committed_after');
INSERT INTO t1 VALUES (
38,
'node1_committed_after');
INSERT INTO t1 VALUES (
39,
'node1_committed_after');
INSERT INTO t1 VALUES (
40,
'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
COMMIT;
connection node_1a_galera_st_disconnect_slave;
INSERT INTO t1 VALUES (
41,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
42,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
43,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
44,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
45,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
connection node_1
;
COMMIT
;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
connection node_1;
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
DROP TABLE t1;
COMMIT;
SET AUTOCOMMIT=ON;
Performing State Transfer on a server that has been shut down cleanly and restarted
connection node_1;
CREATE TABLE t1 (
id int not null primary key,
f1 CHAR(255)) ENGINE=InnoDB;
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
1,
'node1_committed_before');
INSERT INTO t1 VALUES (
2,
'node1_committed_before');
INSERT INTO t1 VALUES (
3,
'node1_committed_before');
INSERT INTO t1 VALUES (
4,
'node1_committed_before');
INSERT INTO t1 VALUES (
5,
'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
COMMIT;
connection node_2;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
6,
'node2_committed_before');
INSERT INTO t1 VALUES (
7,
'node2_committed_before');
INSERT INTO t1 VALUES (
8,
'node2_committed_before');
INSERT INTO t1 VALUES (
9,
'node2_committed_before');
INSERT INTO t1 VALUES (
10,
'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
COMMIT;
Shutting down server ...
connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
11,
'node1_committed_during');
INSERT INTO t1 VALUES (
12,
'node1_committed_during');
INSERT INTO t1 VALUES (
13,
'node1_committed_during');
INSERT INTO t1 VALUES (
14,
'node1_committed_during');
INSERT INTO t1 VALUES (
15,
'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
COMMIT;
START TRANSACTION;
INSERT INTO t1 VALUES (
16,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
17,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
18,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
19,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
20,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
connect node_1a_galera_st_shutdown_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
21,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
22,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
23,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
24,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
25,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
connection node_2;
Starting server ...
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
26,
'node2_committed_after');
INSERT INTO t1 VALUES (
27,
'node2_committed_after');
INSERT INTO t1 VALUES (
28,
'node2_committed_after');
INSERT INTO t1 VALUES (
29,
'node2_committed_after');
INSERT INTO t1 VALUES (
30,
'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
COMMIT;
connection node_1;
INSERT INTO t1 VALUES (
31,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
32,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
33,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
34,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
35,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
COMMIT;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
36,
'node1_committed_after');
INSERT INTO t1 VALUES (
37,
'node1_committed_after');
INSERT INTO t1 VALUES (
38,
'node1_committed_after');
INSERT INTO t1 VALUES (
39,
'node1_committed_after');
INSERT INTO t1 VALUES (
40,
'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
COMMIT;
connection node_1a_galera_st_shutdown_slave;
INSERT INTO t1 VALUES (
41,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
42,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
43,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
44,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
45,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_15 FROM t1;
EXPECT_15
35
SELECT * from t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
COMMIT;
connection node_1;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_15 FROM t1;
EXPECT_15
35
SELECT * from t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
connection node_1;
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
DROP TABLE t1;
COMMIT;
SET AUTOCOMMIT=ON;
Performing State Transfer on a server that has been killed and restarted
connection node_1;
CREATE TABLE t1 (
id int not null primary key,
f1 CHAR(255)) ENGINE=InnoDB;
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
1,
'node1_committed_before');
INSERT INTO t1 VALUES (
2,
'node1_committed_before');
INSERT INTO t1 VALUES (
3,
'node1_committed_before');
INSERT INTO t1 VALUES (
4,
'node1_committed_before');
INSERT INTO t1 VALUES (
5,
'node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
INSERT INTO t1 VALUES ('node1_committed_before');
COMMIT;
connection node_2;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
6,
'node2_committed_before');
INSERT INTO t1 VALUES (
7,
'node2_committed_before');
INSERT INTO t1 VALUES (
8,
'node2_committed_before');
INSERT INTO t1 VALUES (
9,
'node2_committed_before');
INSERT INTO t1 VALUES (
10,
'node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
COMMIT;
Killing server ...
connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
11,
'node1_committed_during');
INSERT INTO t1 VALUES (
12,
'node1_committed_during');
INSERT INTO t1 VALUES (
13,
'node1_committed_during');
INSERT INTO t1 VALUES (
14,
'node1_committed_during');
INSERT INTO t1 VALUES (
15,
'node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
INSERT INTO t1 VALUES ('node1_committed_during');
COMMIT;
START TRANSACTION;
INSERT INTO t1 VALUES (
16,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
17,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
18,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
19,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
20,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
connect node_1a_galera_st_kill_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
21,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
22,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
23,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
24,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
25,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
connection node_2;
Performing --wsrep-recover ...
Starting server ...
Using --wsrep-start-position when starting mysqld ...
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
26,
'node2_committed_after');
INSERT INTO t1 VALUES (
27,
'node2_committed_after');
INSERT INTO t1 VALUES (
28,
'node2_committed_after');
INSERT INTO t1 VALUES (
29,
'node2_committed_after');
INSERT INTO t1 VALUES (
30,
'node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
INSERT INTO t1 VALUES ('node2_committed_after');
COMMIT;
connection node_1;
INSERT INTO t1 VALUES (
31,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
32,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
33,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
34,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES (
35,
'node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
INSERT INTO t1 VALUES ('node1_to_be_committed_after');
COMMIT;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (
36,
'node1_committed_after');
INSERT INTO t1 VALUES (
37,
'node1_committed_after');
INSERT INTO t1 VALUES (
38,
'node1_committed_after');
INSERT INTO t1 VALUES (
39,
'node1_committed_after');
INSERT INTO t1 VALUES (
40,
'node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
INSERT INTO t1 VALUES ('node1_committed_after');
COMMIT;
connection node_1a_galera_st_kill_slave;
INSERT INTO t1 VALUES (
41,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
42,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
43,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
45,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES (
46,
'node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
COMMIT;
connection node_1;
SET AUTOCOMMIT=ON;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) AS EXPECT_35 FROM t1;
EXPECT_35
35
SELECT * FROM t1;
id f1
1 node1_committed_before
2 node1_committed_before
3 node1_committed_before
4 node1_committed_before
5 node1_committed_before
6 node2_committed_before
7 node2_committed_before
8 node2_committed_before
9 node2_committed_before
10 node2_committed_before
11 node1_committed_during
12 node1_committed_during
13 node1_committed_during
14 node1_committed_during
15 node1_committed_during
16 node1_to_be_committed_after
17 node1_to_be_committed_after
18 node1_to_be_committed_after
19 node1_to_be_committed_after
20 node1_to_be_committed_after
26 node2_committed_after
27 node2_committed_after
28 node2_committed_after
29 node2_committed_after
30 node2_committed_after
31 node1_to_be_committed_after
32 node1_to_be_committed_after
33 node1_to_be_committed_after
34 node1_to_be_committed_after
35 node1_to_be_committed_after
36 node1_committed_after
37 node1_committed_after
38 node1_committed_after
39 node1_committed_after
40 node1_committed_after
connection node_1;
SELECT COUNT(*) = 35 FROM t1;
COUNT(*) = 35
1
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COUNT(*) = 0
1
DROP TABLE t1;
COMMIT;
SET AUTOCOMMIT=ON;
scripts/wsrep_sst_mariabackup.sh
View file @
7d3d3838
...
...
@@ -86,7 +86,6 @@ encrypt_threads=""
encrypt_chunk
=
""
readonly
SECRET_TAG
=
'secret'
readonly
TOTAL_TAG
=
'secret /total'
# Required for backup locks
# For backup locks it is 1 sent by joiner
...
...
@@ -419,7 +418,7 @@ get_transfer()
get_footprint
()
{
pushd
"
$WSREP_SST_OPT_DATA
"
1>/dev/null
cd
"
$DATA_DIR
"
payload
=
$(
find
.
-regex
'.*\.ibd$\|.*\.MYI$\|.*\.MYD$\|.*ibdata1$'
\
-type
f
-print0
|
du
--files0-from
=
-
--block-size
=
1
-c
-s
|
\
awk
'END { print $1 }'
)
...
...
@@ -428,7 +427,7 @@ get_footprint()
# When compression/compaction used, the progress is only an approximate.
payload
=
$((
payload
*
1
/
2
))
fi
popd
1>/dev/null
cd
"
$OLD_PWD
"
pcmd
=
"
$pcmd
-s
$payload
"
adjust_progress
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment