mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
ec505e9570
heavy load". rpl_row_sp003.test has sporadically failed when run on machine under heavy load or on slow hardware. This patch fixes races in the test which were causing these failures and also removes unnecessary 100 second wait from it.
81 lines
2 KiB
Text
81 lines
2 KiB
Text
#############################################################################
|
|
# Original Author: JBM #
|
|
# Original Date: Aug/13/2005 Created from Bug 12335 #
|
|
#############################################################################
|
|
|
|
# Begin clean up test section
|
|
connection master;
|
|
--disable_warnings
|
|
DROP PROCEDURE IF EXISTS test.p1;
|
|
DROP PROCEDURE IF EXISTS test.p2;
|
|
DROP TABLE IF EXISTS test.t1;
|
|
--enable_warnings
|
|
# End of cleanup
|
|
|
|
# Begin test section 1
|
|
|
|
eval CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=$engine_type;
|
|
|
|
delimiter |;
|
|
CREATE PROCEDURE test.p1()
|
|
BEGIN
|
|
INSERT INTO test.t1 VALUES (4);
|
|
SELECT get_lock("test", 100);
|
|
UPDATE test.t1 set a=a+4 WHERE a=4;
|
|
END|
|
|
CREATE PROCEDURE test.p2()
|
|
BEGIN
|
|
UPDATE test.t1 SET a=a+1;
|
|
END|
|
|
delimiter ;|
|
|
|
|
SELECT get_lock("test", 200);
|
|
|
|
connection master1;
|
|
send CALL test.p1();
|
|
|
|
connection master;
|
|
# Make sure that the call on master1 arrived at the get_lock.
|
|
let $wait_condition=
|
|
select count(*) = 1 from information_schema.processlist
|
|
where state = 'User lock' and
|
|
info = 'SELECT get_lock("test", 100)';
|
|
--source include/wait_condition.inc
|
|
CALL test.p2();
|
|
SELECT release_lock("test");
|
|
|
|
connection master1;
|
|
# Reap CALL test.p1() to ensure that it has fully completed
|
|
# before doing any selects on test.t1.
|
|
--reap
|
|
# Release lock acquired by it.
|
|
SELECT release_lock("test");
|
|
|
|
connection master;
|
|
SELECT * FROM test.t1;
|
|
#show binlog events;
|
|
--source include/wait_for_ndb_to_binlog.inc
|
|
sync_slave_with_master;
|
|
connection slave;
|
|
SELECT * FROM test.t1;
|
|
|
|
connection master;
|
|
DROP TABLE IF EXISTS test.t1;
|
|
eval CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=$engine_type;
|
|
CALL test.p2();
|
|
CALL test.p1();
|
|
SELECT release_lock("test");
|
|
SELECT * FROM test.t1;
|
|
|
|
sync_slave_with_master;
|
|
connection slave;
|
|
SELECT * FROM test.t1;
|
|
connection master;
|
|
#show binlog events from 720;
|
|
|
|
DROP PROCEDURE IF EXISTS test.p1;
|
|
DROP PROCEDURE IF EXISTS test.p2;
|
|
DROP TABLE IF EXISTS test.t1;
|
|
sync_slave_with_master;
|
|
|
|
# End of 5.0 test case
|