mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	This will make mysql-test-run.pl try to schedule these long-running (> 60 seconds) tests early in --parallel runs, which helps avoid that the testsuite gets stuck with a few long-running tests at the end while most other test workers are idle. This speed up mtr --parallel=96 with 25 seconds for me. Reviewed-by: Brandon Nesterenko <brandon.nesterenko@mariadb.com> Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
		
			
				
	
	
		
			189 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			189 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#
 | 
						|
# The test checks that basic DDL and DML events are encrypted 
 | 
						|
# in the binary log on master.
 | 
						|
# The test is to be run with all binlog formats 
 | 
						|
# (combinations for rpl_init.inc take care of that).
 | 
						|
#
 | 
						|
#
 | 
						|
# The test runs with the encrypted master and non-encrypted slave. 
 | 
						|
# It generates a sequence of events on master, and checks that
 | 
						|
# - all events are encrypted on master;
 | 
						|
# - slave is able to replicate from the master;
 | 
						|
# - relay logs and binary logs are not encrypted on slave.
 | 
						|
#
 | 
						|
# The same exercise is repeated 
 | 
						|
# - without annotated binlog events and without binlog checksums;
 | 
						|
# - with binlog checksums;
 | 
						|
# - with annotated events and binlog checksums;
 | 
						|
# - with annotated events, default checksums and minimal binlog row image
 | 
						|
#
 | 
						|
 | 
						|
--source include/long_test.inc
 | 
						|
# The test can take very long time with valgrind
 | 
						|
--source include/not_valgrind.inc
 | 
						|
 | 
						|
--source include/have_partition.inc
 | 
						|
--source encryption_algorithms.inc
 | 
						|
--source include/have_innodb.inc
 | 
						|
--enable_connect_log
 | 
						|
 | 
						|
--echo #################
 | 
						|
--echo # Initialization
 | 
						|
--echo #################
 | 
						|
 | 
						|
--disable_connect_log
 | 
						|
--let $rpl_topology= 1->2
 | 
						|
--source include/rpl_init.inc
 | 
						|
--enable_connect_log
 | 
						|
 | 
						|
# We stop SQL thread because we want to have
 | 
						|
# all relay logs at the end of the test flow
 | 
						|
 | 
						|
--connection server_2
 | 
						|
--disable_connect_log
 | 
						|
--source include/stop_slave_sql.inc
 | 
						|
--enable_connect_log
 | 
						|
 | 
						|
--connection server_1
 | 
						|
 | 
						|
SET @binlog_annotate_row_events.save= @@global.binlog_annotate_row_events;
 | 
						|
SET @binlog_checksum.save= @@global.binlog_checksum;
 | 
						|
SET @master_verify_checksum.save= @@global.master_verify_checksum;
 | 
						|
SET @binlog_row_image.save= @@global.binlog_row_image;
 | 
						|
 | 
						|
--echo ####################################################
 | 
						|
--echo # Test 1: simple binlog, no checksum, no annotation
 | 
						|
--echo ####################################################
 | 
						|
 | 
						|
--connection server_1
 | 
						|
 | 
						|
SET binlog_annotate_row_events= 0;
 | 
						|
SET GLOBAL binlog_annotate_row_events= 0;
 | 
						|
SET GLOBAL binlog_checksum= NONE;
 | 
						|
SET GLOBAL master_verify_checksum= 0;
 | 
						|
 | 
						|
--source testdata.inc
 | 
						|
 | 
						|
--echo ####################################################
 | 
						|
--echo # Test 2: binlog with checksum, no annotated events
 | 
						|
--echo ####################################################
 | 
						|
 | 
						|
--connection server_1
 | 
						|
 | 
						|
SET binlog_annotate_row_events= 0;
 | 
						|
SET GLOBAL binlog_annotate_row_events= 0;
 | 
						|
SET GLOBAL binlog_checksum= CRC32;
 | 
						|
SET GLOBAL master_verify_checksum= 1;
 | 
						|
 | 
						|
--source testdata.inc
 | 
						|
 | 
						|
--echo ####################################################
 | 
						|
--echo # Test 3: binlog with checksum and annotated events
 | 
						|
--echo ####################################################
 | 
						|
 | 
						|
--connection server_1
 | 
						|
 | 
						|
SET binlog_annotate_row_events= 1;
 | 
						|
SET GLOBAL binlog_annotate_row_events= 1;
 | 
						|
SET GLOBAL binlog_checksum= CRC32;
 | 
						|
SET GLOBAL master_verify_checksum= 1;
 | 
						|
 | 
						|
--source testdata.inc
 | 
						|
 | 
						|
--echo ####################################################
 | 
						|
--echo # Test 4: binlog with annotated events and binlog_row_image=minimal
 | 
						|
--echo ####################################################
 | 
						|
 | 
						|
--connection server_1
 | 
						|
 | 
						|
SET binlog_annotate_row_events= 1;
 | 
						|
SET GLOBAL binlog_annotate_row_events= 1;
 | 
						|
SET GLOBAL binlog_checksum= NONE;
 | 
						|
SET GLOBAL master_verify_checksum= 0;
 | 
						|
SET GLOBAL binlog_row_image= MINIMAL;
 | 
						|
SET binlog_row_image= MINIMAL;
 | 
						|
 | 
						|
--source testdata.inc
 | 
						|
 | 
						|
--echo #############################
 | 
						|
--echo # Final checks for the master
 | 
						|
--echo #############################
 | 
						|
 | 
						|
--let $master_datadir= `SELECT @@datadir`
 | 
						|
 | 
						|
--let SEARCH_RANGE = 500000
 | 
						|
--let SEARCH_FILE= $master_datadir/master-bin.0*
 | 
						|
--let SEARCH_PATTERN= _to_encrypt.*
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
 | 
						|
--let SEARCH_FILE= $master_datadir/master-bin.0*
 | 
						|
--let SEARCH_PATTERN= COMMIT.*
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
 | 
						|
--let SEARCH_FILE= $master_datadir/master-bin.0*
 | 
						|
--let SEARCH_PATTERN= TIMESTAMP.*
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
 | 
						|
--disable_connect_log
 | 
						|
--source include/save_master_pos.inc
 | 
						|
--enable_connect_log
 | 
						|
 | 
						|
--echo #############################
 | 
						|
--echo # Final checks for the slave
 | 
						|
--echo #############################
 | 
						|
 | 
						|
# Wait for the IO thread to write everything to relay logs
 | 
						|
 | 
						|
--connection server_2
 | 
						|
 | 
						|
--let $slave_datadir= `SELECT @@datadir`
 | 
						|
 | 
						|
--disable_connect_log
 | 
						|
--source include/sync_io_with_master.inc
 | 
						|
 | 
						|
# Check that relay logs are unencrypted
 | 
						|
 | 
						|
--let SEARCH_FILE= $slave_datadir/slave-relay-bin.0*
 | 
						|
--let SEARCH_PATTERN= _to_encrypt.*
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
 | 
						|
--let SEARCH_FILE= $slave_datadir/slave-relay-bin.0*
 | 
						|
--let SEARCH_PATTERN= COMMIT.*
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
 | 
						|
--let SEARCH_FILE= $slave_datadir/slave-relay-bin.0*
 | 
						|
--let SEARCH_PATTERN= TIMESTAMP.*
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
 | 
						|
 | 
						|
# Re-enable SQL thread, let it catch up with IO thread
 | 
						|
# and check slave binary logs
 | 
						|
 | 
						|
--source include/start_slave.inc
 | 
						|
--source include/sync_slave_sql_with_io.inc
 | 
						|
--enable_connect_log
 | 
						|
 | 
						|
--let SEARCH_FILE= $slave_datadir/slave-bin.0*
 | 
						|
--let SEARCH_PATTERN= _to_encrypt.*
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
 | 
						|
--let SEARCH_FILE= $slave_datadir/slave-bin.0*
 | 
						|
--let SEARCH_PATTERN= COMMIT.*
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
 | 
						|
--let SEARCH_FILE= $slave_datadir/slave-bin.0*
 | 
						|
--let SEARCH_PATTERN= TIMESTAMP.*
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
 | 
						|
--echo ##########
 | 
						|
--echo # Cleanup
 | 
						|
--echo ##########
 | 
						|
 | 
						|
--connection server_1
 | 
						|
SET GLOBAL binlog_annotate_row_events= @binlog_annotate_row_events.save;
 | 
						|
SET GLOBAL binlog_checksum= @binlog_checksum.save;
 | 
						|
SET GLOBAL master_verify_checksum= @master_verify_checksum.save;
 | 
						|
SET GLOBAL binlog_row_image= @binlog_row_image.save;
 | 
						|
 | 
						|
--disable_connect_log
 | 
						|
--source include/rpl_end.inc
 |