Bug #36435 rpl_events uses non-deterministic check
Submitted: 30 Apr 2008 17:01 Modified: 6 May 2008 18:42
Reporter: Andrei Elkin Email Updates:
Status: Closed Impact on me:
None 
Category:Tests: Replication Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: Andrei Elkin CPU Architecture:Any
Tags: 5.1
Triage: D3 (Medium)

[30 Apr 2008 17:01] Andrei Elkin
Description:
The test uses a select on a table that is subjected to changes from the event
handler. Hence, there can be difference with pre-recorded results, like:

https://intranet.mysql.com/secure/pushbuild/getlog.pl?dir=mysql-5.1-bugteam&entry=tsmith

rpl.rpl_events 'mix'           [ fail ]

--- /data0/pushbuild/pb1/pb/mysql-5.1-bugteam/28/mysql-5.1.25-rc-pb28/mysql-test/suite/rpl/r/rpl_events.result	2008-04-30 06:07:35.000000000 +0300
+++ /data0/pushbuild/pb1/pb/mysql-5.1-bugteam/28/mysql-5.1.25-rc-pb28/mysql-test/suite/rpl/r/rpl_events.reject	2008-04-30 07:15:57.063997914 +0300
@@ -122,13 +122,15 @@
 id	c	ts
 1	manually	TIMESTAMP
 2	from justonce	TIMESTAMP
-affected rows: 2
+4	from er	TIMESTAMP
+affected rows: 3
 "Checking event data on the slave"
 SELECT * FROM t1 ORDER BY id;
 id	c	ts
 1	manually	TIMESTAMP
 2	from justonce	TIMESTAMP
-affected rows: 2
+4	from er	TIMESTAMP
+affected rows: 3
 

How to repeat:
Look at pb executions of the test. There have been several failures (use xref to locate). 

Suggested fix:
Change the test in a way to preserve its logics still avoiding the asynchronisity.
[30 Apr 2008 18:03] 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/46242

ChangeSet@1.2575, 2008-04-30 20:36:34+03:00, aelkin@mysql1000.dsl.inet.fi +2 -0
  Bug #36435 rpl_events uses non-deterministic check
  
  Select of the test could not perform deterministically, because the table remains to be 
  updatable by the running event handler.
  
  Fixed with changing verification to use a logical values instead of comparison 
  with a pre-recorded results.
[30 Apr 2008 18:43] 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/46246

ChangeSet@1.2575, 2008-04-30 21:41:50+03:00, aelkin@mysql1000.dsl.inet.fi +2 -0
  Bug #36435 rpl_events uses non-deterministic check
  
  Select of the test could not perform deterministically, because the table remains to be 
  updatable by the running event handler.
  
  Fixed with changing verification to use a logical values instead of comparison 
  with a pre-recorded results.
[5 May 2008 16:25] Andrei Elkin
Pushed to 5.1-bugteam, merged to 6.0-bugteam.
[6 May 2008 0:29] Bugs System
Pushed into 5.1.25-rc
[6 May 2008 0:33] Bugs System
Pushed into 6.0.6-alpha
[6 May 2008 18:42] Paul Dubois
Test suite changes. No changelog entry needed.