mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
MDEV-7203: replicate_events_marked_for_skip didn't work on Galera cluster
OPTION_SKIP_REPLICATION flag needs to be preserved for events received on non-originating nodes.
This commit is contained in:
parent
6f9e33ecb0
commit
c6acdf7c28
1 changed files with 7 additions and 2 deletions
|
@ -149,8 +149,9 @@ static wsrep_cb_status_t wsrep_apply_events(THD* thd,
|
|||
break;
|
||||
}
|
||||
|
||||
thd->set_server_id(ev->server_id); // use the original server id for logging
|
||||
thd->set_time(); // time the query
|
||||
/* Use the original server id for logging. */
|
||||
thd->set_server_id(ev->server_id);
|
||||
thd->set_time(); // time the query
|
||||
wsrep_xid_init(&thd->transaction.xid_state.xid,
|
||||
&thd->wsrep_trx_meta.gtid.uuid,
|
||||
thd->wsrep_trx_meta.gtid.seqno);
|
||||
|
@ -162,6 +163,10 @@ static wsrep_cb_status_t wsrep_apply_events(THD* thd,
|
|||
ev->when_sec_part= hrtime_sec_part(hrtime);
|
||||
}
|
||||
|
||||
thd->variables.option_bits=
|
||||
(thd->variables.option_bits & ~OPTION_SKIP_REPLICATION) |
|
||||
(ev->flags & LOG_EVENT_SKIP_REPLICATION_F ? OPTION_SKIP_REPLICATION : 0);
|
||||
|
||||
ev->thd = thd;
|
||||
exec_res = ev->apply_event(thd->wsrep_rgi);
|
||||
DBUG_PRINT("info", ("exec_event result: %d", exec_res));
|
||||
|
|
Loading…
Reference in a new issue