[
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)