Details
-
New Feature
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Won't Do
-
2.4.12
-
None
Description
In Galera Cluster events creation is properly replicated to all nodes.
Also, the result of an event is properly replicated to other nodes as usual with ROW based replication.
Also, Galera takes care of having any EVENT enable on only one node to avoid the same event to execute on more than one node, which is, again, correct.
Indeed when executing on any node:
ALTER EVENT myEvent ENABLE;
The EVENT status on the other nodes will be: SLAVESIDE_DISABLED
The question is now if MaxScale should move the ENABLED status to the current Master whenever the Master flag is moved from one node to another.
While it is true that there is no data issue if the EVENT only runs on a 'Slave' node, performance wise in case of 'heavy' events we would be changing data on two Galera nodes.
So maybe moving the ENABLED status to the current Master is preferrable.
Now, if we consider this:
https://jira.mariadb.org/browse/MDEV-19165
MaxScale would become actually critical because in case of crash or stop of the Master that needs SST on restart all nodes will have SLAVESIDE_DISABLED for the EVENT.
Considering all this, in my opinion, it would be ideal that MaxScale could move the ENABLED status to the Master.
Doing such thing should be as easy as:
ALTER TABLE myEvent ENABLE;
Galera will take care of disabling it on the other nodes.