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

Adam Sussman updated AMQCPP-351:
--------------------------------

    Attachment: amqcpp-351.patch

Patch which removes usage of peer list in BrokerInfo.  Rest of code on trunk 
appears to be right.

> 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
>         Attachments: amqcpp-351.patch
>
>
> 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