[MDEV-19165] EVENT can be SLAVESIDE_DISABLED on all nodes after Galera SST Created: 2019-04-03 Updated: 2023-10-12 |
|
| Status: | Stalled |
| Project: | MariaDB Server |
| Component/s: | Galera, Galera SST, wsrep |
| Affects Version/s: | 10.1, 10.2 |
| Fix Version/s: | 10.4, 10.5 |
| Type: | Bug | Priority: | Major |
| Reporter: | Muhammad Irfan | Assignee: | Julius Goryavsky |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | None | ||
| Description |
|
In MariaDB Galera Cluster, when node which is "owner" of EVENT gets executed fine and that EVENT is SLAVESIDE_DISABLED on other nodes of cluster which seems correct. I think event status should be updated accordingly when mysqld starts up and load events and check originator of event via server_id may be.
|
| Comments |
| Comment by Geoff Montee (Inactive) [ 2019-04-03 ] | |
I don't think server_id would work for everyone. It is common to set server_id to the same value on all nodes in a given cluster. | |
| Comment by Jan Lindström (Inactive) [ 2019-09-05 ] | |
|
MariaDB cluster disables events in "slave nodes", but does not automatically enable disabled events e.g. after SST. | |
| Comment by Jan Lindström (Inactive) [ 2019-09-05 ] | |
|
greenman Can you please add to documentation. | |
| Comment by Rick Pizzi [ 2020-08-07 ] | |
|
You can execute ALTER event from init-file on the node where the event is originally created to re-enable it after an SST.
| |
| Comment by Julius Goryavsky [ 2020-08-11 ] | |
|
Re-opened because after restarting the server on node which created the event, this event has the status SLAVESIDE_DISABLED on all nodes of the cluster, but If in the initial state of the event it was ENABLED, then after restart of the node it must remain ENABLED | |
| Comment by Claudio Nanni [ 2020-09-07 ] | |
|
I think init-file is not a safe long term solution, a node might disappear forever for any reason. While a Galera only based solution would be to enable all events in the SST script after SST completed, that will make sure that events are always enabled after SST (and disabled on the other nodes). If MaxScale is used then a solution would come if this is implemented: https://jira.mariadb.org/browse/MXS-3161 The two solutions conflict thou because MaxScale would move the status only on Master switch, so in case of SST a Slave would got them ENABLED. Nevertheless data would be safe as long the event is executed on one node only. |