mirror of
https://github.com/MariaDB/server.git
synced 2025-11-25 17:25:02 +03:00
deleted: mysql-test/suite/galera/r/MW-86.result deleted: mysql-test/suite/galera/r/mysql-wsrep#216.result modified: mysql-test/suite/galera/t/GCF-1081.test modified: mysql-test/suite/galera_3nodes_sr/r/GCF-832.result modified: mysql-test/suite/galera_3nodes_sr/t/GCF-810A.test modified: mysql-test/suite/galera_3nodes_sr/t/GCF-810B.test modified: mysql-test/suite/galera_3nodes_sr/t/GCF-810C.test modified: mysql-test/suite/galera_3nodes_sr/t/GCF-832.test modified: mysql-test/suite/galera_sr/r/mysql-wsrep-features#35.result modified: mysql-test/suite/galera_sr/t/mysql-wsrep-features#35.test
73 lines
1.9 KiB
Plaintext
73 lines
1.9 KiB
Plaintext
#
|
|
# GCF-1081 - Assertion `!thd->sp_runtime_ctx`
|
|
#
|
|
# Test replaying of stored procedures
|
|
#
|
|
|
|
--source include/galera_cluster.inc
|
|
--source include/have_innodb.inc
|
|
--source include/have_debug_sync.inc
|
|
--source include/galera_have_debug_sync.inc
|
|
|
|
--connection node_1
|
|
|
|
--let $wsrep_local_replays_old = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays'`
|
|
|
|
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1, 0), (3, 0);
|
|
|
|
DELIMITER |;
|
|
CREATE PROCEDURE proc_update ()
|
|
BEGIN
|
|
UPDATE t1 SET f2 = 1 where f1 > 0;
|
|
END|
|
|
DELIMITER ;|
|
|
|
|
# Block the SP
|
|
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
|
--let $galera_sync_point = commit_monitor_master_enter_sync
|
|
--source include/galera_set_sync_point.inc
|
|
|
|
--connection node_1
|
|
--send CALL proc_update ();
|
|
|
|
# Wait until SP is blocked
|
|
--connection node_1a
|
|
SET SESSION wsrep_sync_wait = 0;
|
|
--source include/galera_wait_sync_point.inc
|
|
|
|
# Issue a conflicting insert on node #2
|
|
--connection node_1a
|
|
SET GLOBAL debug_dbug = 'd,sync.wsrep_before_BF_victim_unlock';
|
|
|
|
--connection node_2
|
|
--send INSERT INTO t1 VALUES (2, 2);
|
|
|
|
# Wait until it BF aborts the SP
|
|
--connection node_1a
|
|
SET SESSION DEBUG_SYNC = 'now WAIT_FOR sync.wsrep_before_BF_victim_unlock_reached';
|
|
SET GLOBAL debug_dbug = '';
|
|
|
|
# Unblock the SP
|
|
--connection node_1a
|
|
--source include/galera_clear_sync_point.inc
|
|
--source include/galera_signal_sync_point.inc
|
|
|
|
--connection node_2
|
|
--reap
|
|
SELECT * FROM t1;
|
|
|
|
# SP succeeds
|
|
--connection node_1
|
|
--reap
|
|
SELECT * FROM t1;
|
|
|
|
# wsrep_local_replays has increased by 1
|
|
--let $wsrep_local_replays_new = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays'`
|
|
--disable_query_log
|
|
--eval SELECT $wsrep_local_replays_new - $wsrep_local_replays_old AS wsrep_local_replays;
|
|
--enable_query_log
|
|
|
|
DROP PROCEDURE proc_update;
|
|
DROP TABLE t1;
|