[MDEV-4632] multi_source.status_vars test fails sporadically Created: 2013-06-10  Updated: 2022-09-08

Status: Open
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.0.10
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Elena Stepanova Assignee: Elena Stepanova
Resolution: Unresolved Votes: 0
Labels: tests


 Description   

http://buildbot.askmonty.org/buildbot/builders/kvm-deb-raring-amd64/builds/83/steps/test_3/logs/stdio

multi_source.status_vars                 w4 [ fail ]
        Test ended at 2013-06-08 15:11:45
 
CURRENT_TEST: multi_source.status_vars
mysqltest: In included file "./include/wait_for_status_var.inc": 
included from /usr/share/mysql/mysql-test/suite/multi_source/status_vars.test at line 92:
At line 88: 
 
The result from queries just before the failure was:
< snip >
set default_master_connection = 'master1';
show status like 'Slave_received_heartbeats';
Variable_name	Value
Slave_received_heartbeats	0
stop slave;
include/wait_for_slave_to_stop.inc
change master to master_heartbeat_period=2;
start slave;
include/wait_for_slave_to_start.inc
**** ERROR: failed while waiting for '' 'Slave_received_heartbeats' = '1' ****
Note: the following output may have changed since the failure was detected
**** Showing STATUS, PROCESSLIST ****
SHOW  STATUS LIKE 'Slave_received_heartbeats';
Variable_name	Value
Slave_received_heartbeats	3
SHOW PROCESSLIST;
Id	User	Host	db	Command	Time	State	Info	Progress
39	root	localhost:41582	test	Query	0	NULL	SHOW PROCESSLIST	0.000
46	system user		NULL	Connect	8	Waiting for master to send event	NULL	0.000
47	system user		NULL	Connect	8	Slave has read all relay log; waiting for the slave I/O thread to update it	NULL	0.000
 
More results from queries before failure can be found in /run/shm/var/4/log/status_vars.log
 
 - saving '/run/shm/var/4/log/multi_source.status_vars/' to '/run/shm/var/log/multi_source.status_vars/'



 Comments   
Comment by Elena Stepanova [ 2014-04-13 ]

The reason of the failure is clear. For example here (and probably in some other places):

68:--source include/wait_for_slave_to_start.inc
69:
70:--let $status_var = Slave_received_heartbeats
71:--let $status_var_value = 2
72:# The units are tens of seconds
73:--let $status_timeout = 30 
74:--source include/wait_for_status_var.inc
75:show status like 'Slave_received_heartbeats';

If the test is slow enough, it can happen that more than 2 heartbeats happened by the time we started waiting for value '2', so the waiting fails.
One way to fix it would be, for example, to wait for >= 2, but it needs to be done carefully, because other values should be adjusted.

Comment by Elena Stepanova [ 2016-09-11 ]

Same test, different failure:

multi_source.status_vars                 w2 [ fail ]
        Test ended at 2016-09-11 09:55:25
 
CURRENT_TEST: multi_source.status_vars
--- /home/buildbot/maria-slave/p8-rhel6-bintar/build/mysql-test/suite/multi_source/status_vars.result	2016-09-10 15:46:28.770045476 -0400
+++ /home/buildbot/maria-slave/p8-rhel6-bintar/build/mysql-test/suite/multi_source/status_vars.reject	2016-09-11 09:55:25.260045477 -0400
@@ -53,7 +53,7 @@
 include/wait_for_slave_to_start.inc
 show status like 'Slave_received_heartbeats';
 Variable_name	Value
-Slave_received_heartbeats	2
+Slave_received_heartbeats	3
 stop slave;
 include/wait_for_slave_to_stop.inc
 set default_master_connection = 'master1';
 
mysqltest: Result content mismatch

Comment by Elena Stepanova [ 2019-01-24 ]

The last occurrence of the failure from the description recorded by buildbot on 2017-02-17 on 10.0.
The last occurrence of the failure similar to the previous comment on 2017-02-16 on 10.2.
Both on p8 builders. Maybe currently active builders just aren't slow enough.

Generated at Thu Feb 08 06:57:53 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.