activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-684) Client connection are not balanced across cluster with any load balancing policy
Date Thu, 18 Aug 2016 03:22:22 GMT

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

ASF GitHub Bot commented on ARTEMIS-684:
----------------------------------------

Github user bayern39 commented on the issue:

    https://github.com/apache/activemq-artemis/pull/724
  
    @jbertram  Hi Justin,I have try another way fixed it!


> Client connection are not balanced across cluster with any load balancing policy
> --------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-684
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-684
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Chen Maoqian
>            Priority: Critical
>         Attachments: clustered-static-discovery-multi.zip
>
>
> When we use each Connection Factory create a single Connection, Client connection are
not balanced across cluster with any load balancing policy.
> you can modify the cluster-static-discovery example to reproducer the solution.
> *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
(v6.3.4#6332)

Mime
View raw message