1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-06 05:42:06 +03:00

MDEV-11092 Assertion `!writer.checksum_len || writer.remains == 0' failed

Problem:-
This crash happens because logged stmt is quite big and while writing
Annotate_rows_log_event it throws EFBIG error  but we ignore this error
and do not call cache_data->set_incident().

Solution:-
When we normally write Binlog_log_event we check for error EFBIG, but we did
do this for Annotate_rows_log_event. We check for this error and call
cache_data->set_incident() accordingly.

# Conflicts:
#	sql/log.cc
This commit is contained in:
Sachin Setiya
2017-05-18 17:13:37 +05:30
parent efb9f2617b
commit b5cdf01404
3 changed files with 77 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
include/master-slave.inc
[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
call mtr.add_suppression("Slave SQL: The incident LOST_EVENTS occured on the master. .*");
SET GLOBAL max_binlog_cache_size = 4096;
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
SET GLOBAL binlog_stmt_cache_size = 4096;
CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MYISAM;
ERROR HY000: Writing one row to the row-based binary log failed
include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
DROP TABLE t1;
include/rpl_end.inc