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

Sebastian updated ARTEMIS-2007:
-------------------------------
       Priority: Critical  (was: Major)
    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 that are connected to different nodes of an 
Artmis cluster consume from the same queue but with different message filters, 
a message is not forwarded to a node with matching consumers if at least one 
client is connected to even if its message filter does not match the message. 
this results in messages being stuck on the "wrong" cluster node where they in 
our case expire while matching consumers for these messages connected to other 
nodes are starving. 

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 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.


> 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: Critical
>         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 that are connected to different nodes of an 
> Artmis cluster consume from the same queue but with different message 
> filters, a message is not forwarded to a node with matching consumers if at 
> least one client is connected to even if its message filter does not match 
> the message. this results in messages being stuck on the "wrong" cluster node 
> where they in our case expire while matching consumers for these messages 
> connected to other nodes are starving. 
> 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