You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Sebastian T (JIRA)" <ji...@apache.org> on 2019/07/10 13:19:00 UTC

[jira] [Created] (ARTEMIS-2422) Support Message Redistribution based on Message Filters/Selectors

Sebastian T created ARTEMIS-2422:
------------------------------------

             Summary: Support Message Redistribution based on Message Filters/Selectors
                 Key: ARTEMIS-2422
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2422
             Project: ActiveMQ Artemis
          Issue Type: New Feature
          Components: Broker
    Affects Versions: 2.9.0
            Reporter: Sebastian T


We are running an active/active Artemis clusters (with ON_DEMAND message loadbalacing and message redistribution enabled) with a TCP loadbalancer in front. Our customers use consumers with message selectors/filters. When applications have to reestablish their connection to the broker (e.g. b/c of redeployment, infrastructure issues, etc) it is not guaranteed that their consumers end-up on the same cluster node as before.

Since message filters are only taken in consideration on first-time distribution (e.g. the moment the message arrives on a broker) or when ALL consumers of a queue on a particular node are removed, we sometimes end up with with a situation where messages waiting on one node to be consumed, while the matching consumer is starving on another node.

A related discussion from 2015: [http://activemq.2283324.n4.nabble.com/artemis-cluster-don-t-redistribute-message-td4703503.html]

We did run RabbitMQ in active/active configurations before and did not have to worry about this particular issue.

What we are looking for is an option that when a consumers is disconnected from a queue and there are messages left in the queue that were matched by this consumer and there are no other matching local consumer message then redistribution of these messages should be triggered.

 



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