mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 a19cb3884f
			
		
	
	
	a19cb3884f
	
	
	
		
			
			Shutdown of mtr tests may be too impatient, esp on CI environment where 10 seconds of `arg` of `shutdown_server arg` may not be enough for the clean shutdown to complete. This is fixed to remove explicit non-zero timeout argument to `shutdown_server` from all mtr tests. mysqltest computes 60 seconds default value for the timeout for the argless `shutdown_server` command. This policy is additionally ensured with a compile time assert.
		
			
				
	
	
		
			74 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # Server restart with uncommitted XA transactions
 | |
| #
 | |
| 
 | |
| --source ../have_engine.inc
 | |
| --source support_xa.inc
 | |
| 
 | |
| # Before we start, we want to restart the server gracefully,
 | |
| # so GCOV information and everything else is properly stored
 | |
| 
 | |
| --enable_reconnect
 | |
| --append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 | |
| restart
 | |
| EOF
 | |
| --shutdown_server
 | |
| --source include/wait_until_connected_again.inc
 | |
| 
 | |
| 
 | |
| call mtr.add_suppression("Found 2 prepared XA transactions");
 | |
| if (!$support_xa)
 | |
| {
 | |
|   --disable_query_log
 | |
|   call mtr.add_suppression("Table '.*t1' is marked as crashed and should be repaired");
 | |
|   call mtr.add_suppression("Checking table:   '.*t1'");
 | |
|   --enable_query_log
 | |
| }
 | |
| 
 | |
| # Close all unused tables to prevent unrelated corruption
 | |
| FLUSH TABLES;
 | |
| 
 | |
| --disable_warnings
 | |
| DROP TABLE IF EXISTS t1;
 | |
| --enable_warnings
 | |
| 
 | |
| --connect (con1,localhost,root,,)
 | |
| --connect (con2,localhost,root,,)
 | |
| 
 | |
| --connection con1
 | |
| --let $create_definition = a $int_col
 | |
| --source ../create_table.inc
 | |
| 
 | |
| XA START 'xa1';
 | |
| INSERT INTO t1 (a) VALUES (1),(2);
 | |
| XA END 'xa1';
 | |
| XA PREPARE 'xa1';
 | |
| 
 | |
| --connection con2
 | |
| XA START 'xa2';
 | |
| INSERT INTO t1 (a) VALUES (3);
 | |
| INSERT INTO t1 (a) VALUES (4);
 | |
| XA END 'xa2';
 | |
| XA PREPARE 'xa2';
 | |
| 
 | |
| --connection default
 | |
| --enable_reconnect
 | |
| --append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 | |
| wait
 | |
| EOF
 | |
| --shutdown_server 0
 | |
| --source include/wait_until_disconnected.inc
 | |
| 
 | |
| --append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 | |
| restart
 | |
| EOF
 | |
| --source include/wait_until_connected_again.inc
 | |
| XA RECOVER;
 | |
| XA ROLLBACK 'xa1';
 | |
| XA COMMIT 'xa2';
 | |
| --replace_result \\ /
 | |
| SELECT a FROM t1;
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --source ../cleanup_engine.inc
 | |
| 
 |