You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Adam Sussman (JIRA)" <ji...@apache.org> on 2011/02/16 04:06:57 UTC

[jira] Commented: (AMQCPP-351) Using incorrect peer list in failover transport

    [ 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