diff --git a/mysql-test/suite/wsrep/r/wsrep_rpl.result b/mysql-test/suite/wsrep/r/wsrep_rpl.result index fd792c215b3..a5db3b28ec0 100644 --- a/mysql-test/suite/wsrep/r/wsrep_rpl.result +++ b/mysql-test/suite/wsrep/r/wsrep_rpl.result @@ -5,12 +5,12 @@ include/master-slave.inc # wsrep_max_ws_rows exceeded. Error_Code 1180 # CREATE TABLE t1(i INT) ENGINE = INNODB; -SET @@GLOBAL.wsrep_max_ws_rows = 1; +SET @@GLOBAL.wsrep_max_ws_rows = 2; INSERT INTO t1 VALUES(1), (2); SELECT COUNT(*) = 2 FROM t1; COUNT(*) = 2 1 -SET @@GLOBAL.wsrep_max_ws_rows = 1; +SET @@GLOBAL.wsrep_max_ws_rows = 2; DELETE FROM t1; SELECT COUNT(*) = 0 FROM t1; COUNT(*) = 0 diff --git a/mysql-test/suite/wsrep/t/wsrep_rpl.test b/mysql-test/suite/wsrep/t/wsrep_rpl.test index 1cc7214325d..4f34aadc365 100644 --- a/mysql-test/suite/wsrep/t/wsrep_rpl.test +++ b/mysql-test/suite/wsrep/t/wsrep_rpl.test @@ -15,18 +15,13 @@ let $wsrep_max_ws_rows_slave = `SELECT @@GLOBAL.wsrep_max_ws_rows`; connection master; CREATE TABLE t1(i INT) ENGINE = INNODB; -# Setting wsrep_max_ws_rows should have no impact on replication master -# unless its a cluster node. -SET @@GLOBAL.wsrep_max_ws_rows = 1; +SET @@GLOBAL.wsrep_max_ws_rows = 2; INSERT INTO t1 VALUES(1), (2); - sync_slave_with_master; SELECT COUNT(*) = 2 FROM t1; connection slave; -# Setting wsrep_max_ws_rows should have no impact on replication slave -# unless its a cluster node. -SET @@GLOBAL.wsrep_max_ws_rows = 1; +SET @@GLOBAL.wsrep_max_ws_rows = 2; connection master; DELETE FROM t1; @@ -38,7 +33,6 @@ connection master; DROP TABLE t1; sync_slave_with_master; - # Restore wsrep_max_ws_rows on master and slave connection master; eval SET @@GLOBAL.wsrep_max_ws_rows = $wsrep_max_ws_rows_master; diff --git a/sql/handler.cc b/sql/handler.cc index f920686231b..79649316e73 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -5943,7 +5943,7 @@ static int binlog_log_row(TABLE* table, } /* enforce wsrep_max_ws_rows */ - if (table->s->tmp_table == NO_TMP_TABLE) + if (table->s->tmp_table == NO_TMP_TABLE && WSREP(thd)) { thd->wsrep_affected_rows++; if (wsrep_max_ws_rows && diff --git a/sql/log_event.cc b/sql/log_event.cc index ba1981d3318..d2f3b2c60f6 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -7422,6 +7422,10 @@ int Xid_log_event::do_apply_event(rpl_group_info *rgi) Record any GTID in the same transaction, so slave state is transactionally consistent. */ + + /*Set wsrep_affected_rows = 0 */ + thd->wsrep_affected_rows= 0; + if (rgi->gtid_pending) { sub_id= rgi->gtid_sub_id;