]
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?