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

Proposed by Laurynas Biveinis on 2015-02-11
Status: Merged
Approved by: Laurynas Biveinis on 2015-02-11
Approved revision: 741
Merged at revision: 741
Proposed branch: lp:~laurynas-biveinis/percona-server/bug1420303
Merge into: lp:percona-server/5.6
Diff against target: 15 lines (+2/-2)
1 file modified
sql/binlog.cc (+2/-2)
To merge this branch: bzr merge lp:~laurynas-biveinis/percona-server/bug1420303
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Approve on 2015-02-11
Review via email: mp+249284@code.launchpad.net

Description of the change

Fix bug 1420303 (binlog cache I/O error might be reported twice).

MYSQL_BIN_LOG::write_cache jumps to err with write_error set in the
case the error exit path should not call sql_print_error, presumably
because it has been called already. This has been broken with the
initial 5.6 port which made sql_print_error call unconditional. Fix by
restoring the original behavior. This is tested by
rpl.rpl_semi_sync_group_commit_deadlock testcase.

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

To post a comment you must log in.
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'sql/binlog.cc'
2--- sql/binlog.cc 2015-01-09 04:18:32 +0000
3+++ sql/binlog.cc 2015-02-11 07:49:04 +0000
4@@ -6185,9 +6185,9 @@
5
6 err:
7 if (!write_error)
8+ {
9+ char errbuf[MYSYS_STRERROR_SIZE];
10 write_error= 1;
11- {
12- char errbuf[MYSYS_STRERROR_SIZE];
13 sql_print_error(ER(ER_ERROR_ON_WRITE), name,
14 errno, my_strerror(errbuf, sizeof(errbuf), errno));
15 }

Subscribers

People subscribed via source and target branches