Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
MDEV-11092 Assertion `!writer.checksum_len || writer.remains == 0' fa…
…iled 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
- Loading branch information
1 parent
efb9f26
commit b5cdf01
Showing
3 changed files
with
77 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| --source include/have_innodb.inc | ||
| --source include/master-slave.inc | ||
| --source include/not_embedded.inc | ||
| --source include/not_windows.inc | ||
| --source include/have_binlog_format_row.inc | ||
|
|
||
| ######################################################################################## | ||
| 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. .*"); | ||
|
|
||
| let $old_max_binlog_cache_size= query_get_value(SHOW VARIABLES LIKE "max_binlog_cache_size", Value, 1); | ||
| let $old_binlog_cache_size= query_get_value(SHOW VARIABLES LIKE "binlog_cache_size", Value, 1); | ||
| let $old_max_binlog_stmt_cache_size= query_get_value(SHOW VARIABLES LIKE "max_binlog_stmt_cache_size", Value, 1); | ||
| let $old_binlog_stmt_cache_size= query_get_value(SHOW VARIABLES LIKE "binlog_stmt_cache_size", Value, 1); | ||
|
|
||
| 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; | ||
| disconnect master; | ||
| connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,); | ||
|
|
||
| CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MYISAM; | ||
|
|
||
| let $data = `select concat('"', repeat('a',2000), '"')`; | ||
|
|
||
| connection master; | ||
|
|
||
| --disable_query_log | ||
| --error ER_BINLOG_ROW_LOGGING_FAILED | ||
| eval INSERT INTO t1 (a, data) VALUES (2, | ||
| CONCAT($data, $data, $data, $data, $data, $data)); | ||
| --enable_query_log | ||
|
|
||
| # Incident event | ||
| # 1590=ER_SLAVE_INCIDENT | ||
| --let $slave_sql_errno= 1590 | ||
| --source include/wait_for_slave_sql_error_and_skip.inc | ||
|
|
||
| connection master; | ||
|
|
||
| --replace_result $old_max_binlog_cache_size ORIGINAL_VALUE | ||
| --eval SET GLOBAL max_binlog_cache_size= $old_max_binlog_cache_size | ||
| --replace_result $old_binlog_cache_size ORIGINAL_VALUE | ||
| --eval SET GLOBAL binlog_cache_size= $old_binlog_cache_size | ||
| --replace_result $old_max_binlog_stmt_cache_size ORIGINAL_VALUE | ||
| --eval SET GLOBAL max_binlog_stmt_cache_size= $old_max_binlog_stmt_cache_size | ||
| --replace_result $old_binlog_stmt_cache_size ORIGINAL_VALUE | ||
| --eval SET GLOBAL binlog_stmt_cache_size= $old_binlog_stmt_cache_size | ||
|
|
||
| DROP TABLE t1; | ||
|
|
||
| --source include/rpl_end.inc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters