Merge lp:~laurynas-biveinis/percona-server/bug1361568 into lp:percona-server/5.6

Proposed by Laurynas Biveinis
Status: Merged
Approved by: Laurynas Biveinis
Approved revision: no longer in the source branch.
Merged at revision: 654
Proposed branch: lp:~laurynas-biveinis/percona-server/bug1361568
Merge into: lp:percona-server/5.6
Diff against target: 13 lines (+3/-0)
1 file modified
mysql-test/suite/rpl/t/rpl_err_ignoredtable.test (+3/-0)
To merge this branch: bzr merge lp:~laurynas-biveinis/percona-server/bug1361568
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Approve
Review via email: mp+232350@code.launchpad.net

Description of the change

Fix bug 1361568 (Intermittent rpl_err_ignoredtable failures on the 5.6
trunk).

The bug is in the testcase, the relevant bits are:

connection master1;
select get_lock('crash_lock%20C', 10);

connection master;
...
send update t2 set a = a + 1 + get_lock('crash_lock%20C', 10);

connection master1;
...
kill @id;
drop table t2,t3;
...
connection master;
# The get_lock function causes warning for unsafe statement.
--disable_warnings
--error 0,1317,2013
reap;

KILL and DROP TABLE statements race and may end up in the master1
thread holding the user lock and attempting to drop the tables, while
the master thread hasn't reacted to the kill bit yet, and thus has the
same tables locked and is waiting for the user lock.

Fix with a MariaDB patch that waits for the KILL to complete before
proceeding with the DROP TABLE
(https://github.com/MariaDB/server/commit/45f8bcb282f9ff68c2a21366aad5947380a503c0).

http://jenkins.percona.com/job/percona-server-5.6-param/700/

To post a comment you must log in.
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'mysql-test/suite/rpl/t/rpl_err_ignoredtable.test'
2--- mysql-test/suite/rpl/t/rpl_err_ignoredtable.test 2014-06-11 13:33:46 +0000
3+++ mysql-test/suite/rpl/t/rpl_err_ignoredtable.test 2014-08-27 06:15:43 +0000
4@@ -47,6 +47,9 @@
5 source include/wait_condition.inc;
6 select (@id := id) - id from t3;
7 kill @id;
8+let $id= `SELECT @id`;
9+let $wait_condition= SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = $id;
10+source include/wait_condition.inc;
11 drop table t2,t3;
12 insert into t4 values (3),(4);
13 connection master;

Subscribers

People subscribed via source and target branches