Commit f5c3e736 authored by Jan Lindström's avatar Jan Lindström Committed by Julius Goryavsky

MDEV-31651 : Assertion wsrep_thd_is_applying(thd) &&...

MDEV-31651 : Assertion wsrep_thd_is_applying(thd) && !wsrep_thd_is_local_toi(thd) in wsrep_ignored_error_code

Problem was that with BINLOG-statement you can execute
binlog events on master also (not only in applier).
Fix removes too strict part wsrep_thd_is_applying from
assertion. Note that actual event in test is intentionally
corrupted to test should this error being ignored.
Signed-off-by: default avatarJulius Goryavsky <julius.goryavsky@mariadb.com>
parent 8a5a07f0
connection node_2;
connection node_1;
call mtr.add_suppression("BINLOG_BASE64_EVENT: Could not read field.*");
call mtr.add_suppression("BINLOG_BASE64_EVENT: Could not execute Write_rows_v1 event on table.*");
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b INT, KEY(b)) engine=innodb;
BINLOG 'AMqaOw8BAAAAdAAAAHgAAAAAAAQANS42LjM0LTc5LjEtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAYVx w2w=';
BINLOG 'wlZOTxMBAAAAKgAAADwCAAAAACkAAAAAAAEABHRlc3QAAnQxAAIDAwAC wlZOTxcBAAAAJgAAAGICAAAAACkAAAAAAAEAAv/8AgAAAAgAAAA=';
ERROR HY000: Got error 171 "The event was corrupt, leading to illegal data being read" from storage engine InnoDB
SELECT * FROM t1;
a b
DROP TABLE t1;
--source include/galera_cluster.inc
call mtr.add_suppression("BINLOG_BASE64_EVENT: Could not read field.*");
call mtr.add_suppression("BINLOG_BASE64_EVENT: Could not execute Write_rows_v1 event on table.*");
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b INT, KEY(b)) engine=innodb;
BINLOG 'AMqaOw8BAAAAdAAAAHgAAAAAAAQANS42LjM0LTc5LjEtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAYVx w2w=';
--error ER_GET_ERRNO
BINLOG 'wlZOTxMBAAAAKgAAADwCAAAAACkAAAAAAAEABHRlc3QAAnQxAAIDAwAC wlZOTxcBAAAAJgAAAGICAAAAACkAAAAAAAEAAv/8AgAAAAgAAAA=';
SELECT * FROM t1;
DROP TABLE t1;
...@@ -2799,8 +2799,9 @@ int wsrep_ignored_error_code(Log_event* ev, int error) ...@@ -2799,8 +2799,9 @@ int wsrep_ignored_error_code(Log_event* ev, int error)
const THD* thd= ev->thd; const THD* thd= ev->thd;
DBUG_ASSERT(error); DBUG_ASSERT(error);
DBUG_ASSERT(wsrep_thd_is_applying(thd) && /* Note that binlog events can be executed on master also with
!wsrep_thd_is_local_toi(thd)); BINLOG '....'; */
DBUG_ASSERT(!wsrep_thd_is_local_toi(thd));
if ((wsrep_ignore_apply_errors & WSREP_IGNORE_ERRORS_ON_RECONCILING_DML)) if ((wsrep_ignore_apply_errors & WSREP_IGNORE_ERRORS_ON_RECONCILING_DML))
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment