1--- galera_sst_rsync.result
2+++ galera_sst_rsync,debug.reject
3@@ -284,3 +284,111 @@
4 DROP TABLE t1;
5 COMMIT;
6 SET AUTOCOMMIT=ON;
7+Performing State Transfer on a server that has been killed and restarted
8+while a DDL was in progress on it
9+connection node_1;
10+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
11+SET AUTOCOMMIT=OFF;
12+START TRANSACTION;
13+INSERT INTO t1 VALUES ('node1_committed_before');
14+INSERT INTO t1 VALUES ('node1_committed_before');
15+INSERT INTO t1 VALUES ('node1_committed_before');
16+INSERT INTO t1 VALUES ('node1_committed_before');
17+INSERT INTO t1 VALUES ('node1_committed_before');
18+connection node_2;
19+START TRANSACTION;
20+INSERT INTO t1 VALUES ('node2_committed_before');
21+INSERT INTO t1 VALUES ('node2_committed_before');
22+INSERT INTO t1 VALUES ('node2_committed_before');
23+INSERT INTO t1 VALUES ('node2_committed_before');
24+INSERT INTO t1 VALUES ('node2_committed_before');
25+COMMIT;
26+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
27+connection node_1;
28+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
29+connection node_2;
30+SET wsrep_sync_wait = 0;
31+Killing server ...
32+connection node_1;
33+SET AUTOCOMMIT=OFF;
34+START TRANSACTION;
35+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
36+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
37+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
38+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
39+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
40+COMMIT;
41+START TRANSACTION;
42+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
43+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
44+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
45+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
46+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
47+connect node_1a_galera_st_kill_slave_ddl, 127.0.0.1, root, , test, $NODE_MYPORT_1;
48+SET AUTOCOMMIT=OFF;
49+START TRANSACTION;
50+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
51+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
52+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
53+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
54+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
55+connection node_2;
56+Performing --wsrep-recover ...
57+connection node_2;
58+Starting server ...
59+Using --wsrep-start-position when starting mysqld ...
60+SET AUTOCOMMIT=OFF;
61+START TRANSACTION;
62+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
63+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
64+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
65+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
66+INSERT INTO t1 (f1) VALUES ('node2_committed_after');
67+COMMIT;
68+connection node_1;
69+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
70+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
71+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
72+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
73+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
74+COMMIT;
75+SET AUTOCOMMIT=OFF;
76+START TRANSACTION;
77+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
78+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
79+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
80+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
81+INSERT INTO t1 (f1) VALUES ('node1_committed_after');
82+COMMIT;
83+connection node_1a_galera_st_kill_slave_ddl;
84+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
85+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
86+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
87+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
88+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
89+ROLLBACK;
90+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
91+COUNT(*) = 2
92+1
93+SELECT COUNT(*) = 35 FROM t1;
94+COUNT(*) = 35
95+1
96+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
97+COUNT(*) = 0
98+1
99+COMMIT;
100+SET AUTOCOMMIT=ON;
101+connection node_1;
102+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
103+COUNT(*) = 2
104+1
105+SELECT COUNT(*) = 35 FROM t1;
106+COUNT(*) = 35
107+1
108+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
109+COUNT(*) = 0
110+1
111+DROP TABLE t1;
112+COMMIT;
113+SET AUTOCOMMIT=ON;
114+SET GLOBAL debug_dbug = $debug_orig;
115