Replication and Binary Logging Options and Variables the timeout period. As long as enough replicas acknowledge the transaction before the timeout period expires, semisynchronous replication continues. When the value of  rpl_semi_sync_master_wait_no_slave  is  OFF , if the replica count drops to less than the number configured in  rpl_semi_sync_master_wait_for_slave_count  at any time during the timeout period configured by  rpl_semi_sync_master_timeout , the source reverts to normal replication. This variable is available only if the source-side semisynchronous replication plugin is installed. This variable controls the point at which a semisynchronous replication source server waits for replica acknowledgment of transaction receipt before returning a status to the client that committed the transaction. These values are permitted: The replication characteristics of these settings differ as follows: In the event of source failure, all transactions committed on the source have been replicated to the replica (saved to its relay log). An unexpected exit of the source server and failover to the replica is lossless because the replica is up to date. Note, however, that the source cannot be restarted in this scenario and must be discarded, because its binary log might contain uncommitted transactions that would cause a conflict with the replica when externalized after binary log recovery. 3504 • rpl_semi_sync_master_wait_point • AFTER_SYNC  (the default): The source writes each transaction to its binary log and the replica, and syncs the binary log to disk. The source waits for replica acknowledgment of transaction receipt after the sync. Upon receiving acknowledgment, the source commits the transaction to the storage engine and returns a result to the client, which then can proceed. • AFTER_COMMIT : The source writes each transaction to its binary log and the replica, syncs the binary log, and commits the transaction to the storage engine. The source waits for replica acknowledgment of transaction receipt after the commit. Upon receiving acknowledgment, the source returns a result to the client, which then can proceed. •With  AFTER_SYNC , all clients see the committed transaction at the same time: After it has been acknowledged by the replica and committed to the storage engine on the source. Thus, all clients see the same data on the source. •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. Command-Line Format --rpl-semi-sync-master-wait- point=value System Variable rpl_semi_sync_master_wait_point Scope Global Dynamic Yes SET_VAR  Hint Applies No Type Enumeration Default Value AFTER_SYNC Valid Values AFTER_SYNC AFTER_COMMIT