Bug #40707 rpl_multi_engine fails sporadically in pushbuild
Submitted: 13 Nov 2008 16:58 Modified: 30 Jan 2009 17:50
Reporter: Sven Sandberg Email Updates:
Status: Closed Impact on me:
None 
Category:Tests: Replication Severity:S7 (Test Cases)
Version:5.1-rpl, 6.0-rpl OS:Any
Assigned to: Zhenxing He CPU Architecture:Any
Tags: 5.1-rpl-green, pushbuild, rpl_multi_engine, sporadic, test failure

[13 Nov 2008 16:58] Sven Sandberg
Description:
sporadic pushbuild failure that seems to have started in the rpl trees near the end of October:

rpl.rpl_multi_engine                     [ fail ]

CURRENT_TEST: rpl.rpl_multi_engine
=== SHOW MASTER STATUS ===
---- 1. ----
File	slave-bin.000001
Position	199
Binlog_Do_DB	
Binlog_Ignore_DB	
==========================

=== SHOW SLAVE STATUS ===
---- 1. ----
Slave_IO_State	Waiting for master to send event
Master_Host	127.0.0.1
Master_User	root
Master_Port	12500
Connect_Retry	1
Master_Log_File	master-bin.000001
Read_Master_Log_Pos	455
Relay_Log_File	slave-relay-bin.000003
Relay_Log_Pos	346
Relay_Master_Log_File	master-bin.000001
Slave_IO_Running	Yes
Slave_SQL_Running	No
Replicate_Do_DB	
Replicate_Ignore_DB	
Replicate_Do_Table	
Replicate_Ignore_Table	
Replicate_Wild_Do_Table	
Replicate_Wild_Ignore_Table	
Last_Errno	1049
Last_Error	Error 'Unknown database 'mysqltest1'' on query. Default database: 'mysqltest1'. Query: 'CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc
VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT
0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id))'
Skip_Counter	0
Exec_Master_Log_Pos	199
Relay_Log_Space	758
Until_Condition	None
Until_Log_File	
Until_Log_Pos	0
Master_SSL_Allowed	No
Master_SSL_CA_File	
Master_SSL_CA_Path	
Master_SSL_Cert	
Master_SSL_Cipher	
Master_SSL_Key	
Seconds_Behind_Master	
Master_SSL_Verify_Server_Cert	No
Last_IO_Errno	0
Last_IO_Error	
Last_SQL_Errno	1049
Last_SQL_Error	Error 'Unknown database 'mysqltest1'' on query. Default database: 'mysqltest1'. Query: 'CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc
VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT
0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id))'
Replicate_Ignore_Server_Ids	
Master_Server_Id	1
=========================

=== SHOW PROCESSLIST ===
---- 1. ----
Id	2
User	root
Host	localhost:39799
db	test
Command	Query
Time	0
State	
Info	SHOW PROCESSLIST
---- 2. ----
Id	3
User	root
Host	localhost:39800
db	test
Command	Sleep
Time	0
State	
Info	
---- 3. ----
Id	4
User	system user
Host	
db	
Command	Connect
Time	0
State	Waiting for master to send event
Info	
========================

analyze: sync_with_master
mysqltest: At line 23: sync_slave_with_master failed: 'select master_pos_wait('master-bin.000001', 455, 300)' returned NULL indicating slave SQL thread failure

The result from queries just before the failure was:
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
create database if not exists mysqltest1;
use mysqltest1;
drop table if exists t1;
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc
VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT
0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));

 == /dev/shm/var-n_mix-110/2/tmp/analyze-sync_with_master-mysqld.1.err ==
SHOW PROCESSLIST;
Id	User	Host	db	Command	Time	State	Info
32	root	localhost:42586	NULL	Binlog Dump	0	Master has sent all binlog to slave; waiting for binlog to be updated	NULL
33	root	localhost	NULL	Query	0	NULL	SHOW PROCESSLIST
SHOW BINLOG EVENTS IN 'master-bin.000001';
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	4	Format_desc	1	107	Server ver: 6.0.9-alpha-pb98-debug-log, Binlog ver: 4
master-bin.000001	107	Query	1	199	use `mysqltest1`; drop table if exists t1
master-bin.000001	199	Query	1	455	use `mysqltest1`; CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc
VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT
0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id))

 == /dev/shm/var-n_mix-110/2/tmp/analyze-sync_with_master-mysqld.2.err ==
SHOW PROCESSLIST;
Id	User	Host	db	Command	Time	State	Info
4	system user		NULL	Connect	1	Waiting for master to send event	NULL
6	root	localhost	NULL	Query	0	NULL	SHOW PROCESSLIST
SHOW BINLOG EVENTS IN 'slave-bin.000001';
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-bin.000001	4	Format_desc	2	107	Server ver: 6.0.9-alpha-pb98-debug-log, Binlog ver: 4
slave-bin.000001	107	Query	1	199	use `mysqltest1`; drop table if exists t1

 - saving '/dev/shm/var-n_mix-110/2/log/rpl.rpl_multi_engine/' to '/dev/shm/var-n_mix-110/log/rpl.rpl_multi_engine/'

Retrying test, attempt(2/3)...

How to repeat:
https://intranet.mysql.com/secure/pushbuild/showpush.pl?dir=bzr_mysql-6.0-rpl&order=98 sapsrv1/n_mix
xref: http://tinyurl.com/627sw8
[24 Nov 2008 6:54] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/59656

2701 He Zhenxing	2008-11-24
      BUG#40707 rpl_multi_engine fails sporadically in pushbuild
      
      If before running test rpl_mulit_engin, the mysqltest1 database exists
      on master but not exists on slave, then the following statement:
      
        create database if not exists mysqltest1;
      
      would not be logged to binary log, and so the database would not be
      created on slave. This would cause the test to fail and reporting 
      mysqltest1 database not existed on slave.
      
      This patch fixed this problem by not using a different database for
      the whole test, just use the default test database, there is no reason
      why a seperate database is used for this test.
      
      ******
      BUG#40707 rpl_multi_engine fails sporadically in pushbuild
      
      If before running test rpl_mulit_engin, the mysqltest1 database exists
      on master but not exists on slave, then the following statement:
      
        create database if not exists mysqltest1;
      
      would not be logged to binary log, and so the database would not be
      created on slave. This would cause the test to fail and reporting 
      mysqltest1 database not existed on slave.
      
      This patch fixed this problem by not using a different database for
      the whole test, just use the default test database, there is no reason
      why a seperate database is used for this test.
[24 Nov 2008 6:57] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/59657

2701 He Zhenxing	2008-11-24
      BUG#40707 rpl_multi_engine fails sporadically in pushbuild
      
      If before running test rpl_mulit_engin, the mysqltest1 database exists
      on master but not exists on slave, then the following statement:
      
        create database if not exists mysqltest1;
      
      would not be logged to binary log, and so the database would not be
      created on slave. This would cause the test to fail and reporting 
      mysqltest1 database not existed on slave.
      
      This patch fixed this problem by not using a different database for
      the whole test, just use the default test database, there is no reason
      why a seperate database is used for this test.
[28 Nov 2008 9:59] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/60133

2741 He Zhenxing	2008-11-28 [merge]
      Merge patch of BUG#40707 to 6.0-rpl
[28 Nov 2008 12:53] Zhenxing He
Pushed to 5.1-rpl and 6.0-rpl
[10 Dec 2008 5:42] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/61141

2742 He Zhenxing	2008-12-10 [merge]
      Auto Merge
[30 Jan 2009 13:31] Bugs System
Pushed into 6.0.10-alpha (revid:luis.soares@sun.com-20090129165607-wiskabxm948yx463) (version source revid:luis.soares@sun.com-20090129163120-e2ntks4wgpqde6zt) (merge vers: 6.0.10-alpha) (pib:6)
[30 Jan 2009 15:11] Bugs System
Pushed into 5.1.32 (revid:luis.soares@sun.com-20090129165946-d6jnnfqfokuzr09y) (version source revid:msvensson@mysql.com-20081205211552-7odzip74f430g1du) (merge vers: 5.1.31) (pib:6)
[30 Jan 2009 17:50] Paul DuBois
Test case changes. No changelog entry needed.
[17 Feb 2009 15:00] Bugs System
Pushed into 5.1.32-ndb-6.3.23 (revid:tomas.ulin@sun.com-20090217131017-6u8qz1edkjfiobef) (version source revid:tomas.ulin@sun.com-20090203133556-9rclp06ol19bmzs4) (merge vers: 5.1.32-ndb-6.3.22) (pib:6)
[17 Feb 2009 16:48] Bugs System
Pushed into 5.1.32-ndb-6.4.3 (revid:tomas.ulin@sun.com-20090217134419-5ha6xg4dpedrbmau) (version source revid:tomas.ulin@sun.com-20090203133556-9rclp06ol19bmzs4) (merge vers: 5.1.32-ndb-6.3.22) (pib:6)
[17 Feb 2009 18:24] Bugs System
Pushed into 5.1.32-ndb-6.2.17 (revid:tomas.ulin@sun.com-20090217134216-5699eq74ws4oxa0j) (version source revid:tomas.ulin@sun.com-20090201210519-vehobc4sy3g9s38e) (merge vers: 5.1.32-ndb-6.2.17) (pib:6)