[ 
https://issues.apache.org/activemq/browse/AMQ-1511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rob Davies reassigned AMQ-1511:
-------------------------------

    Assignee: Rob Davies

> Slave starts connectors before master fails
> -------------------------------------------
>
>                 Key: AMQ-1511
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1511
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 4.1.1
>            Reporter: Howard Orner
>            Assignee: Rob Davies
>
> A broker configured as a slave starts its connectors before the the master 
> fails.  This is bad because a) The documentation states that this is not the 
> case.  b) it shouldn't be the case because you don't want clients to be able 
> to connect to the slave until it takes over as master.
> In looking at source, it would appear that the MasterConnector of 
> BrokerService is not started until after all the connections are started in 
> startAllConnection().  Unfortunately, to determine if connections should be 
> started, isSlave() is called which relies on the MasterConnector.start() 
> method being called.  
> The MasterConnector service start() method needs to be called first before 
> isSlave will work.
> See broken code snippet from BrokerService below:
> protected void startAllConnectors() throws Exception{
>   if (!isSlave()){   // OOPS!!! isSlave asks the MasterConnector if the 
> master is active, but can't until its started 
>     ...
>        if (services != null) {
>                 for (int i = 0; i < services.length; i++) {
>                     Service service = services[i];   //OOPS, MasterConnector 
> is in this list and the surrounding if relies on it to be started
>                     configureService(service);
>                     service.start();   //OOPS!!!!   this should have been 
> called for isSlave() to return the right answer.
>                 }
>             }
>    }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to