Details
-
New Feature
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
If applications are using a MaxScale service that uses a readconnroute configured with router_option=slave without being aware of this fact, the applications may end up doing writes. This will break replication and cause the data on the servers to diverge.
To prevent these kinds of situations, the default behavior should be changed so that if router_options has slave in it, writes result in an error being sent to the client.
A new option (e.g. prevent_writes) would allow the new behavior to be disabled in those cases where it is not needed. This new option might not even be necessary: existing Galera setups could use router_options=synced if they were using router_options=slave for load balancing mixed workloads.