#At file:///home/andrei/MySQL/BZR/FIXES/5.5-tr-bf-bug51398-rpl_heartbeat_basic/ based on revid:davi.arnaut@stripped
2992 Andrei Elkin 2010-03-12
Bug #51398 Test "rpl_heartbeat_basic" fails "while waiting for slave_received_heartbeats"
Non-determinism of the test was caused by false expectations for received hb:s
in the circular setup of the test.
Even though the HB periods ratio was as choosen to be as high as 10, it's incorrect
to compare number of hb-events basing only a relation between their periods.
Fixed with removing the incorrect snippet of the test.
@ mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
results are changed.
@ mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
Reducing the test env to run in only with MIXED mode;
Simplifying logics of the circular setup to verify only
that HB flows both directions.
modified:
mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
=== modified file 'mysql-test/suite/rpl/r/rpl_heartbeat_basic.result'
--- a/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result 2010-02-02 09:26:28 +0000
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result 2010-03-12 18:42:42 +0000
@@ -288,14 +288,11 @@ SELECT * FROM t1 ORDER BY a;
a b
1 on master
2 on slave
-Heartbeat event received on master
Heartbeat event received on slave
-Slave has received more events than master (1 means 'yes'): 1
-
*** Clean up ***
include/stop_slave.inc
DROP TABLE t1;
include/stop_slave.inc
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
-End of 6.0 test
+End of tests
=== modified file 'mysql-test/suite/rpl/t/rpl_heartbeat_basic.test'
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test 2010-02-05 15:11:16 +0000
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test 2010-03-12 18:42:42 +0000
@@ -10,6 +10,12 @@
# * Circular replication
#############################################################
--source include/master-slave.inc
+#
+# The test runs long and does not have any specifics to
+# binlog_format. It is choosen therefore to run with MIXED mode
+# in order to not slow down much `make test'.
+#
+--source include/have_binlog_format_mixed.inc
--echo
--echo *** Preparing ***
@@ -470,7 +476,7 @@ let $status_var_comparsion= >;
--echo Heartbeat event received
--echo
-# Circular replication
+# Circular replication: demonstrating bidirectional hearbeat flow
--echo *** Circular replication ***
# Configure circular replication
--source include/master-slave-reset.inc
@@ -499,15 +505,15 @@ SELECT * FROM t1 ORDER BY a;
let $master_rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
--connection slave
SELECT * FROM t1 ORDER BY a;
-# Wait heartbeat event on master
+
+# Wait for heartbeat event on master
--connection master
let $status_var= slave_received_heartbeats;
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
let $status_var_comparsion= >;
--source include/wait_for_status_var.inc
---echo Heartbeat event received on master
-let $master_rcvd_heartbeats= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
-# Wait heartbeat event on slave
+
+# Wait heartbeat events on slave
--connection slave
let $status_var= slave_received_heartbeats;
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
@@ -515,11 +521,6 @@ let $status_var_comparsion= >;
--source include/wait_for_status_var.inc
--echo Heartbeat event received on slave
let $slave_rcvd_heartbeats= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
-# Heartbeat period on slave less than on master therefore number of received events on slave
-# should be greater than on master
-let $result= query_get_value(SELECT ($slave_rcvd_heartbeats DIV $master_rcvd_heartbeats) > 1 AS Result, Result, 1);
---echo Slave has received more events than master (1 means 'yes'): $result
---echo
#
# Clean up and restore system variables
@@ -533,5 +534,5 @@ DROP TABLE t1;
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
--echo
-# End of 6.0 test
---echo End of 6.0 test
+# End of tests
+--echo End of tests
Attachment: [text/bzr-bundle] bzr/aelkin@mysql.com-20100312184242-yp0uzwed2hbdpo9t.bundle