MDEV-17804: Galera tests cause mysql_socket.h:738: inline_mysql_socket_send: Assertion `mysql_socket.fd != -1' failed.
Do not do end of statement logic if thd is already killed as socket is already closed.
This commit is contained in:
parent
244cc35e7b
commit
1037edcb11
@ -1,11 +1,12 @@
|
|||||||
--- r/galera_ist_mysqldump.result 2018-09-11 12:38:42.027479411 +0300
|
--- r/galera_ist_mysqldump.result 2018-11-22 14:25:28.551554055 +0200
|
||||||
+++ r/galera_ist_mysqldump.reject 2018-09-17 10:28:44.483441364 +0300
|
+++ r/galera_ist_mysqldump.reject 2018-11-22 15:46:33.119441931 +0200
|
||||||
@@ -180,6 +180,103 @@
|
@@ -200,6 +200,114 @@
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
SET AUTOCOMMIT=ON;
|
SET AUTOCOMMIT=ON;
|
||||||
+Performing State Transfer on a server that has been killed and restarted
|
+Performing State Transfer on a server that has been killed and restarted
|
||||||
+while a DDL was in progress on it
|
+while a DDL was in progress on it
|
||||||
|
+connection node_1;
|
||||||
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
|
+CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
|
||||||
+SET AUTOCOMMIT=OFF;
|
+SET AUTOCOMMIT=OFF;
|
||||||
+START TRANSACTION;
|
+START TRANSACTION;
|
||||||
@ -14,6 +15,7 @@
|
|||||||
+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');
|
+INSERT INTO t1 VALUES ('node1_committed_before');
|
||||||
|
+connection node_2;
|
||||||
+START TRANSACTION;
|
+START TRANSACTION;
|
||||||
+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');
|
||||||
@ -22,9 +24,12 @@
|
|||||||
+INSERT INTO t1 VALUES ('node2_committed_before');
|
+INSERT INTO t1 VALUES ('node2_committed_before');
|
||||||
+COMMIT;
|
+COMMIT;
|
||||||
+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
|
+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table';
|
||||||
|
+connection node_1;
|
||||||
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
+ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
||||||
|
+connection node_2;
|
||||||
+SET wsrep_sync_wait = 0;
|
+SET wsrep_sync_wait = 0;
|
||||||
+Killing server ...
|
+Killing server ...
|
||||||
|
+connection node_1;
|
||||||
+SET AUTOCOMMIT=OFF;
|
+SET AUTOCOMMIT=OFF;
|
||||||
+START TRANSACTION;
|
+START TRANSACTION;
|
||||||
+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
|
+INSERT INTO t1 (f1) VALUES ('node1_committed_during');
|
||||||
@ -39,6 +44,7 @@
|
|||||||
+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');
|
+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;
|
+SET AUTOCOMMIT=OFF;
|
||||||
+START TRANSACTION;
|
+START TRANSACTION;
|
||||||
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
|
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
|
||||||
@ -46,7 +52,9 @@
|
|||||||
+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');
|
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
|
||||||
|
+connection node_2;
|
||||||
+Performing --wsrep-recover ...
|
+Performing --wsrep-recover ...
|
||||||
|
+connection node_2;
|
||||||
+Starting server ...
|
+Starting server ...
|
||||||
+Using --wsrep-start-position when starting mysqld ...
|
+Using --wsrep-start-position when starting mysqld ...
|
||||||
+SET AUTOCOMMIT=OFF;
|
+SET AUTOCOMMIT=OFF;
|
||||||
@ -57,6 +65,7 @@
|
|||||||
+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;
|
+COMMIT;
|
||||||
|
+connection node_1;
|
||||||
+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');
|
+INSERT INTO t1 (f1) VALUES ('node1_to_be_committed_after');
|
||||||
@ -71,6 +80,7 @@
|
|||||||
+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;
|
+COMMIT;
|
||||||
|
+connection node_1a_galera_st_kill_slave_ddl;
|
||||||
+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');
|
+INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
|
||||||
@ -88,6 +98,7 @@
|
|||||||
+1
|
+1
|
||||||
+COMMIT;
|
+COMMIT;
|
||||||
+SET AUTOCOMMIT=ON;
|
+SET AUTOCOMMIT=ON;
|
||||||
|
+connection node_1;
|
||||||
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
+SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||||
+COUNT(*) = 2
|
+COUNT(*) = 2
|
||||||
+1
|
+1
|
||||||
@ -101,6 +112,6 @@
|
|||||||
+COMMIT;
|
+COMMIT;
|
||||||
+SET AUTOCOMMIT=ON;
|
+SET AUTOCOMMIT=ON;
|
||||||
+SET GLOBAL debug_dbug = $debug_orig;
|
+SET GLOBAL debug_dbug = $debug_orig;
|
||||||
|
connection node_1;
|
||||||
CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
|
CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
|
||||||
DROP USER sst;
|
DROP USER sst;
|
||||||
CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
|
|
||||||
|
@ -1940,7 +1940,8 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
/* wsrep BF abort in query exec phase */
|
/* wsrep BF abort in query exec phase */
|
||||||
mysql_mutex_lock(&thd->LOCK_thd_data);
|
mysql_mutex_lock(&thd->LOCK_thd_data);
|
||||||
do_end_of_statement= thd->wsrep_conflict_state != REPLAYING &&
|
do_end_of_statement= thd->wsrep_conflict_state != REPLAYING &&
|
||||||
thd->wsrep_conflict_state != RETRY_AUTOCOMMIT;
|
thd->wsrep_conflict_state != RETRY_AUTOCOMMIT &&
|
||||||
|
!thd->killed;
|
||||||
mysql_mutex_unlock(&thd->LOCK_thd_data);
|
mysql_mutex_unlock(&thd->LOCK_thd_data);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user