Semisynchronous Replication •With  AFTER_COMMIT , the client issuing the transaction gets a return status only after the server commits to the storage engine and receives replica acknowledgment. After the commit and before replica acknowledgment, other clients can see the committed transaction before the committing client. •Two plugins implement semisynchronous capability. There is one plugin for the source side and one for the replica side. •System variables control plugin behavior. Some examples: • rpl_semi_sync_master_enabled • rpl_semi_sync_master_timeout • rpl_semi_sync_slave_enabled •From MySQL 8.0.23, you can improve the performance of semisynchronous replication by enabling the system variables  replication_sender_observe_commit_only , which limits callbacks, and replication_optimize_for_static_plugin_config , which adds shared locks and avoids unnecessary lock acquisitions. These settings help as the number of replicas increases, because contention for locks can slow down performance. Semisynchronous replication source servers can also get performance benefits from enabling these system variables, because they use the same locking mechanisms as the replicas. •Status variables enable semisynchronous replication monitoring. Some examples: • Rpl_semi_sync_master_clients • Rpl_semi_sync_master_status • Rpl_semi_sync_master_no_tx 3648 If something goes wrong such that the replica does not process the transaction, then in the event of an unexpected source exit and failover to the replica, it is possible for such clients to see a loss of data relative to what they saw on the source. The administrative interface to semisynchronous replication has several components: Controls whether semisynchronous replication is enabled on the source server. To enable or disable the plugin, set this variable to 1 or 0, respectively. The default is 0 (off). A value in milliseconds that controls how long the source waits on a commit for acknowledgment from a replica before timing out and reverting to asynchronous replication. The default value is 10000 (10 seconds). Similar to  rpl_semi_sync_master_enabled , but controls the replica plugin. All  rpl_semi_sync_ xxx  system variables are described at Section 17.1.6.2, “Replication Source Options and Variables”  and Section 17.1.6.3, “Replica Server Options and Variables” . The number of semisynchronous replicas. Whether semisynchronous replication currently is operational on the source server. The value is 1 if the plugin has been enabled and a commit acknowledgment has not occurred. It is 0 if the plugin is not enabled or the source has fallen back to asynchronous replication due to commit acknowledgment timeout. 17.4.10.1 Semisynchronous Replication Administrative Interface