Bug #68953 | Binlog write errors silently ignored | ||
---|---|---|---|
Submitted: | 14 Apr 2013 15:29 | Modified: | 16 Oct 2015 14:30 |
Reporter: | Laurynas Biveinis (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S1 (Critical) |
Version: | 5.6.10, 5.6.12, 5.5.43 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | binlog |
[14 Apr 2013 15:29]
Laurynas Biveinis
[14 Apr 2013 15:38]
Laurynas Biveinis
5.6.10 to be exact.
[14 Apr 2013 15:40]
Laurynas Biveinis
My comment that this is a regression from 5.5 might be incorrect. It may or may not fail in 5.5, I haven't checked.
[14 Apr 2013 16:05]
Laurynas Biveinis
The MTR testcase origin is actually MariaDB 5.5. It was imported to Percona Server as a part of their group commit feature.
[15 Apr 2013 18:28]
Sveta Smirnova
Thank you for the report. Verified as described.
[5 May 2014 11:24]
MySQL Verification Team
related: http://bugs.mysql.com/bug.php?id=51014
[23 Apr 2015 4:41]
Laurynas Biveinis
Adding "regression" tag
[23 Apr 2015 23:35]
Santosh Praneeth Banda
Clients think the transaction is succeeded even though binlog flush fails and the transaction is rolled back. This is serious issue and I don't understand why this is not fixed yet. I could fix this bug using the following patch @@ -6283,6 +6283,8 @@ bool MYSQL_BIN_LOG::write_cache(THD *thd, binlog_cache_data *cache_data, @@ -6341,6 +6343,7 @@ err: errno, my_strerror(errbuf, sizeof(errbuf), errno)); } thd->commit_error= THD::CE_FLUSH_ERROR; + set_write_error(thd, cache_data->is_trx_cache());
[4 May 2015 9:40]
Venkatesh Duggirala
Post from Developer: ==================== The same issue is happening on mysql-5.5.43 as well. Hence it is not a regression. (Removing Regression tag
[16 Oct 2015 14:30]
David Moss
Thanks for your feedback, this has been fixed and the following was noted in the 5.6.28 and 5.7.10 changelogs: Fatal errors encountered during flushing or synchronizing the binary log were being ignored. Such errors are now caught and handled depending on the setting of binlog_error_action. Additionally the documentation for binlog_error_action has also been improved: https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_binlog_...