mirror of
https://github.com/MariaDB/server.git
synced 2025-02-23 05:43:08 +01:00

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
|