[jboss-jira] [JBoss JIRA] (WFLY-6967) Client connection are not balanced across cluster with any load balancing policy

Kabir Khan (JIRA) issues at jboss.org
Tue Apr 3 14:04:01 EDT 2018


    [ https://issues.jboss.org/browse/WFLY-6967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13555263#comment-13555263 ] 

Kabir Khan commented on WFLY-6967:
----------------------------------

[~ataylor] [~martyn-taylor] is this old issue still relevant? If not please close it

> Client connection are not balanced across cluster with any load balancing policy
> --------------------------------------------------------------------------------
>
>                 Key: WFLY-6967
>                 URL: https://issues.jboss.org/browse/WFLY-6967
>             Project: WildFly
>          Issue Type: Bug
>          Components: JMS
>    Affects Versions: 10.1.0.CR1
>            Reporter: Chen Maoqian
>            Assignee: Andy Taylor
>            Priority: Critical
>
> *Scenario*
> There two nodes in cluster. Nodes in cluster are connected and both nodes have same jms destinations and connection factory defined like the following one
> {noformat}
>  <connection-factory name="RemoteConnectionFactory" connectors="http-connector" entries="java:jboss/exported/jms/RemoteConnectionFactory" ha="true" connection-ttl="120000" call-timeout="60000" block-on-acknowledge="true" retry-interval="1000" reconnect-attempts="-1" connection-load-balancing-policy-class-name="org.apache.activemq.artemis.api.core.client.loadbalance.RandomConnectionLoadBalancingPolicy"/>
> {noformat}
> There are clients connecting to cluster. With _RandomConnectionLoadBalancingPolicy_, I would expect that connections are randomly distributed among the nodes in cluster. However, when I list connections on both nodes (/subsystem=messaging-activemq/server=default:list-connection-ids), all connections are on one server. 
> Method {{private TransportConfiguration selectConnector()}} in class {{ServerLocatorImpl}} checks whether the {{topologyArray}} is null and makes decision between choosing connector to other node in topology or initial connector of connection factory. In method {{private TransportConfiguration selectConnector()}}  {{topologyArray}} is still null, so clients make connection using initial connector. It seems like {{topologyArray}} is only updated during {{notifyNodeUp/Down}} methods.
> Could you please explain how is this client connection balancing supposed to work?



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list