mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 18:36:12 +01:00 
			
		
		
		
	 c554f26832
			
		
	
	
	c554f26832
	
	
	
		
			
			MDEV-31003 has introduced second execution for SELECTs that execute under ps-protocol. The following tests in galera suites do not support this mode of execution, disable it: galera.MDEV-27862 galera.galera_log_output_csv galera.galera_query_cache galera.galera_query_cache_sync_wait galera_3nodes_sr.GCF-336 galera_3nodes_sr.galera_sr_isolate_master galera_sr.galera_sr_large_fragment galera_sr.galera_sr_many_fragments Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| --source include/have_query_cache.inc
 | |
| --source include/galera_cluster.inc
 | |
| --source include/have_innodb.inc
 | |
| 
 | |
| --disable_ps2_protocol
 | |
| 
 | |
| #
 | |
| # Ensure that the query cache behaves properly with respect to Galera
 | |
| #
 | |
| # * in the absence of updates, the query cache does serve cached results
 | |
| # * any cache-invalidating query on the remote node also causes the local cache to be invalidated
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
 | |
| 
 | |
| INSERT INTO t1 VALUES (1);
 | |
| 
 | |
| --connection node_2
 | |
| RESET QUERY CACHE;
 | |
| FLUSH STATUS;
 | |
| 
 | |
| #
 | |
| # 1. Cache works
 | |
| #
 | |
| 
 | |
| SELECT COUNT(*) FROM t1;
 | |
| SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
 | |
| 
 | |
| SELECT COUNT(*) FROM t1;
 | |
| SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
 | |
| 
 | |
| #
 | |
| # 2. Cache is invalidated by DML on remote node
 | |
| #
 | |
| 
 | |
| --connection node_1
 | |
| INSERT INTO t1 VALUES (2);
 | |
| 
 | |
| --connection node_2
 | |
| FLUSH STATUS;
 | |
| 
 | |
| SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
 | |
| SELECT COUNT(*) FROM t1;
 | |
| SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
 | |
| 
 | |
| SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
 | |
| SELECT COUNT(*) FROM t1;
 | |
| SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
 | |
| 
 | |
| #
 | |
| # 3. Cache is invalidated by DDL on remote node
 | |
| #
 | |
| 
 | |
| --connection node_1
 | |
| ALTER TABLE t1 ADD COLUMN f2 INTEGER;
 | |
| 
 | |
| --connection node_2
 | |
| FLUSH STATUS;
 | |
| 
 | |
| SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
 | |
| SELECT COUNT(*) FROM t1;
 | |
| SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
 | |
| 
 | |
| SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
 | |
| SELECT COUNT(*) FROM t1;
 | |
| SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'Qcache_hits';
 | |
| 
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --enable_ps2_protocol
 |