-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
22 changed files
with
978 additions
and
102 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
connection node_2; | ||
connection node_1; | ||
connection node_1; | ||
set global wsrep_on=OFF; | ||
reset master; | ||
set global wsrep_on=ON; | ||
connection node_2; | ||
set global wsrep_on=OFF; | ||
reset master; | ||
set global wsrep_on=ON; | ||
CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB; | ||
INSERT INTO t1 VALUES (1); | ||
CREATE TABLE t2 (id INT) ENGINE=InnoDB; | ||
INSERT INTO t2 VALUES (1); | ||
INSERT INTO t2 VALUES (1); | ||
connection node_2; | ||
SELECT COUNT(*) = 1 FROM t1; | ||
COUNT(*) = 1 | ||
1 | ||
SELECT COUNT(*) = 2 FROM t2; | ||
COUNT(*) = 2 | ||
1 | ||
connection node_1; | ||
ALTER TABLE t1 ADD COLUMN f2 INTEGER; | ||
include/show_binlog_events.inc | ||
Log_name Pos Event_type Server_id End_log_pos Info | ||
hostname1-bin.000001 # Gtid # # GTID #-#-# | ||
hostname1-bin.000001 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB | ||
hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# | ||
hostname1-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES (1) | ||
hostname1-bin.000001 # Table_map # # table_id: # (test.t1) | ||
hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F | ||
hostname1-bin.000001 # Xid # # COMMIT /* XID */ | ||
hostname1-bin.000001 # Gtid # # GTID #-#-# | ||
hostname1-bin.000001 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB | ||
hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# | ||
hostname1-bin.000001 # Annotate_rows # # INSERT INTO t2 VALUES (1) | ||
hostname1-bin.000001 # Table_map # # table_id: # (test.t2) | ||
hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F | ||
hostname1-bin.000001 # Xid # # COMMIT /* XID */ | ||
hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# | ||
hostname1-bin.000001 # Annotate_rows # # INSERT INTO t2 VALUES (1) | ||
hostname1-bin.000001 # Table_map # # table_id: # (test.t2) | ||
hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F | ||
hostname1-bin.000001 # Xid # # COMMIT /* XID */ | ||
hostname1-bin.000001 # Gtid # # GTID #-#-# | ||
hostname1-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER | ||
connection node_2; | ||
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; | ||
COUNT(*) = 2 | ||
1 | ||
include/show_binlog_events.inc | ||
Log_name Pos Event_type Server_id End_log_pos Info | ||
hostname1-bin.000001 # Gtid # # GTID #-#-# | ||
hostname1-bin.000001 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB | ||
hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# | ||
hostname1-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES (1) | ||
hostname1-bin.000001 # Table_map # # table_id: # (test.t1) | ||
hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F | ||
hostname1-bin.000001 # Xid # # COMMIT /* XID */ | ||
hostname1-bin.000001 # Gtid # # GTID #-#-# | ||
hostname1-bin.000001 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB | ||
hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# | ||
hostname1-bin.000001 # Annotate_rows # # INSERT INTO t2 VALUES (1) | ||
hostname1-bin.000001 # Table_map # # table_id: # (test.t2) | ||
hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F | ||
hostname1-bin.000001 # Xid # # COMMIT /* XID */ | ||
hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# | ||
hostname1-bin.000001 # Annotate_rows # # INSERT INTO t2 VALUES (1) | ||
hostname1-bin.000001 # Table_map # # table_id: # (test.t2) | ||
hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F | ||
hostname1-bin.000001 # Xid # # COMMIT /* XID */ | ||
hostname1-bin.000001 # Gtid # # GTID #-#-# | ||
hostname1-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER | ||
DROP TABLE t1; | ||
DROP TABLE t2; | ||
#cleanup | ||
connection node_1; | ||
SET GLOBAL wsrep_on=OFF; | ||
RESET MASTER; |
192 changes: 192 additions & 0 deletions
192
mysql-test/suite/galera/r/galera_sst_mariabackup_force_recovery,debug.rdiff
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,192 @@ | ||
--- r/galera_sst_mariabackup.result 2021-04-10 14:25:04.142716409 +0300 | ||
+++ r/galera_sst_mariabackup,debug.reject 2021-04-10 14:53:30.033162191 +0300 | ||
@@ -516,5 +516,189 @@ | ||
1 | ||
DROP TABLE t1; | ||
COMMIT; | ||
+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; | ||
+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'); | ||
+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'); | ||
+COMMIT; | ||
+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table'; | ||
+connection node_1; | ||
+ALTER TABLE t1 ADD COLUMN f2 INTEGER; | ||
+connection node_2; | ||
+SET wsrep_sync_wait = 0; | ||
+Killing server ... | ||
+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'); | ||
+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'); | ||
+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'); | ||
+connection node_2; | ||
+Performing --wsrep-recover ... | ||
+connection node_2; | ||
+Starting server ... | ||
+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'); | ||
+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'); | ||
+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'); | ||
+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'); | ||
+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(*) = 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 | ||
+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 GLOBAL debug_dbug = $debug_orig; | ||
disconnect node_2; | ||
disconnect node_1; |
Oops, something went wrong.