// variable (rpl_semi_sync_replica_enabled) of the replicas depending on their semi-sync priority and promotion rule. If exactReplicaTopology, the function will only ever enable
@@ -1519,6 +1519,12 @@ func recoverSemiSyncReplicas(topologyRecovery *TopologyRecovery, analysisEntry i
returntrue,topologyRecovery,log.Errorf("cannot determine actions based on possible semi-sync replicas; cannot recover on %+v",&analysisEntry.AnalyzedInstanceKey)
}
// Disable semi-sync master on all replicas; this is to avoid semi-sync failures on the replicas (rpl_semi_sync_master_no_tx)
// and to make it consistent with the logic in SetReadOnly
for_,replica:=rangereplicas{
inst.MaybeDisableSemiSyncMaster(replica)// it's okay if this fails
}
// Take action: we first enable and then disable (two loops) in order to avoid "locked master" scenarios