[ 
https://issues.apache.org/jira/browse/AMQCPP-351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12995131#comment-12995131
 ] 

Adam Sussman commented on AMQCPP-351:
-------------------------------------

Perusal of the C-sharp client libs show that they are also using 
ConnectionControl.connectedBrokers + ConnectionControl.reconnectTo.  So, the 
C++ lib is the odd man out.

> Using incorrect peer list in failover transport
> -----------------------------------------------
>
>                 Key: AMQCPP-351
>                 URL: https://issues.apache.org/jira/browse/AMQCPP-351
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 3.2.4
>            Reporter: Adam Sussman
>            Assignee: Timothy Bish
>
> In the failover transport, the broker hands the client a list of known peer 
> brokers the client can attempt upon connection failure.  In the Java client 
> libs, this list of peers is obtained from the ConnectionControl object and 
> that list is subject to various configuration controls on the broker.  The 
> C++ client gets its list from the BrokerInfo object who's list is NOT 
> controlled at all by broker settings and which also retains query string 
> artifacts that should not be used (see AMQ-3124).
> The list of peers the C++ client is using is not correct and not under the 
> same controls as the list the Java client is using. The C++ failover 
> transport should be altered to use the same source of peer data as the Java 
> client, the ConnectionControl object.
> In currently released versions (3.2.4 and older), the entire reconnect list 
> comes from BrokerInfo.getPeerBrokerInfos.  In trunk, the list comes from 
> BrokerInfo.getPeerBrokerInfos PLUS ConnectionControl.getReconnectTo.  
> However, the Java client gets its list from 
> ConnectionControl.getConnectedBrokers plus ConnectionControl.getReconnectTo 
> and does not use BrokerInfo at all.
> At a minimum, the usage of BrokerInfo.getPeerBrokerInfos needs to be removed 
> in FailoverTransportListener.cpp and usage of getConnectedBrokers needs to be 
> added to FailoverTransport.cpp:handleConnectionControl.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to