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

Sebastian updated ARTEMIS-2007:
-------------------------------
    Description: 
The documentation at 
[https://activemq.apache.org/artemis/docs/latest/clusters.html] states: "If 
this is set to ON_DEMAND then Apache ActiveMQ Artemis will only forward 
messages to other nodes of the cluster if the address to which they are being 
forwarded has queues which have consumers, and if those consumers have message 
filters (selectors) at least one of those selectors must match the message."

However, when multiple clients connected to different nodes of an Artmis 
cluster consume from. the same queue with different message filters, a message 
is not forwarded as expected if the client connected to the node where the 
message is stored does not have a matching filter but a client connected to 
another node has a matching filter. this results in messages being stuck on the 
wrong cluster node. 

I attached a maven test case that illustrates the issue.

  was:
The documentation at 
https://activemq.apache.org/artemis/docs/latest/clusters.html states: "If this 
is set to ON_DEMAND then Apache ActiveMQ Artemis will only forward messages to 
other nodes of the cluster if the address to which they are being forwarded has 
queues which have consumers, and if those consumers have message filters 
(selectors) at least one of those selectors must match the message."

However, when multiple clients with different message filters are connected to 
a queue of an Artemis cluster (each connected to a different server), proper 
on-demand message load balancing does not happen even if the client connected 
to the node where the message is stored does not have a matching filter but a 
client connected to another node has a matching filter. 

I attached a maven test case that illustrates the issue.


> OnDemand Message LoadBalancing does not take message filter into account
> ------------------------------------------------------------------------
>
>                 Key: ARTEMIS-2007
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2007
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: AMQP, Broker
>    Affects Versions: 2.6.2
>            Reporter: Sebastian
>            Priority: Major
>         Attachments: artemis-2007.zip
>
>
> The documentation at 
> [https://activemq.apache.org/artemis/docs/latest/clusters.html] states: "If 
> this is set to ON_DEMAND then Apache ActiveMQ Artemis will only forward 
> messages to other nodes of the cluster if the address to which they are being 
> forwarded has queues which have consumers, and if those consumers have 
> message filters (selectors) at least one of those selectors must match the 
> message."
> However, when multiple clients connected to different nodes of an Artmis 
> cluster consume from. the same queue with different message filters, a 
> message is not forwarded as expected if the client connected to the node 
> where the message is stored does not have a matching filter but a client 
> connected to another node has a matching filter. this results in messages 
> being stuck on the wrong cluster node. 
> I attached a maven test case that illustrates the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to