mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 567c097359
			
		
	
	
	567c097359
	
	
	
		
			
			Warnings are added to net_server.cc when global_system_variables.log_warnings >= 4. When the above condition holds then: - All communication errors from net_serv.cc is also written to the error log. - In case of a of not being able to read or write a packet, a more detailed error is given. Other things: - Added detection of slaves that has hangup to Ack_receiver::run() - vio_close() is now first marking the socket closed before closing it. The reason for this is to ensure that the connection that gets a read error can check if the reason was that the socket was closed. - Add a new state to vio to be able to detect if vio is acive, shutdown or closed. This is used to detect if socket is closed by another thread. - Testing of the new warnings is done in rpl_get_lock.test - Suppress some of the new warnings in mtr to allow one to run some of the tests with -mysqld=--log-warnings=4. All test in the 'rpl' suite can now be run with this option. - Ensure that global.log_warnings are restored at test end in a way that allows one to use mtr --mysqld=--log-warnings=4. Reviewed-by: <serg@mariadb.org>,<brandon.nesterenko@mariadb.com>
		
			
				
	
	
		
			68 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| --source include/have_debug.inc
 | |
| # Valgrind does not work well with test that crashes the server
 | |
| --source include/not_valgrind.inc
 | |
| 
 | |
| --let $rpl_topology=1->2
 | |
| --source include/rpl_init.inc
 | |
| 
 | |
| --disable_query_log
 | |
| call mtr.add_suppression("Could not read packet:.* errno: 11");
 | |
| --enable_query_log
 | |
| 
 | |
| --echo *** Test crashing master with InnoDB disabled, the binlog gtid state should still be correctly recovered. ***
 | |
| 
 | |
| --connection server_1
 | |
| CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=MyISAM;
 | |
| --save_master_pos
 | |
| 
 | |
| --connection server_2
 | |
| --sync_with_master
 | |
| --source include/stop_slave.inc
 | |
| CHANGE MASTER TO master_use_gtid=slave_pos;
 | |
| --source include/start_slave.inc
 | |
| 
 | |
| --connection server_1
 | |
| INSERT INTO t1 VALUES (1);
 | |
| INSERT INTO t1 VALUES (2);
 | |
| --save_master_pos
 | |
| 
 | |
| --connection server_2
 | |
| --sync_with_master
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| 
 | |
| --connection server_1
 | |
| 
 | |
| --write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 | |
| wait
 | |
| EOF
 | |
| 
 | |
| FLUSH TABLES;
 | |
| SET SESSION debug_dbug="+d,crash_dispatch_command_before";
 | |
| --error 2006,2013
 | |
| SELECT 1;
 | |
| 
 | |
| --source include/wait_until_disconnected.inc
 | |
| 
 | |
| --append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 | |
| restart-rpl_gtid_crash.test
 | |
| EOF
 | |
| 
 | |
| --connection server_1
 | |
| --enable_reconnect
 | |
| --source include/wait_until_connected_again.inc
 | |
| 
 | |
| INSERT INTO t1 VALUES (3);
 | |
| --save_master_pos
 | |
| 
 | |
| --connection server_2
 | |
| --sync_with_master
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| 
 | |
| --connection server_1
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --connection default
 | |
| --enable_reconnect
 | |
| --source include/wait_until_connected_again.inc
 | |
| 
 | |
| --source include/rpl_end.inc
 |