Details
-
New Feature
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
None
Description
In multi-master one can have semi-sync enabled for some connection and not for others by changing rpl_semi_sync_slave_enabled when connecting to the master.
In the future we should change things so that semi-sync should be a parameter for CHANGE MASTER so that one can have different semi-sync options for each connection.
⸺ monty's rejection onMDEV-32944
It is unïntuitive that @@rpl_semi_sync_slave_enabled can be changed mid-replication, but only takes effect on new connection establishments.
MDEV-32947 reported that @@rpl_semi_sync_slave_enabled beïng global is a bug because it can change mid-replication.
It'd also be unïntuitive if changes to this variable only take effect after every IO thread stops, so it should be a per-connection configuration in practice.
A new configuration is required, for directly changing the variable to the @@connection.variable syntax would break whatever compatibility it's still worth.
(It becomes specific to @@default_master_connection when connection is not specified.)
Though CHANGE MASTER rpl_semi_sync_slave_enabled, albeit verbose, would match this variable with MDEV-28302's conventions.
@@rpl_semi_sync_slave_delay_master and @@rpl_semi_sync_slave_trace_level also make sense to migrate to per-connection, though this process can also expand their effects to non-semi-sync as well.
MDEV-39583 will make @@rpl_semi_sync_slave_kill_conn_timeout obsolete.
Attachments
Issue Links
- is blocked by
-
MDEV-32947 Async conflicts with semi-sync in multi-source
-
- In Review
-
- is caused by
-
MDEV-32944 Rpl_semi_sync_slave_enabled sysvar Should Not Be Modifiable While IO Thread is Running
-
- Closed
-
-
MDEV-32947 Async conflicts with semi-sync in multi-source
-
- In Review
-
- relates to
-
MDEV-32551 "Read semi-sync reply magic number error" warnings on master
-
- Closed
-
-
MDEV-39875 Add a way to access the global default value of per-connection replication configurations
-
- Open
-