[
https://issues.apache.org/jira/browse/ARTEMIS-2422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16882127#comment-16882127
]
Sebastian T commented on ARTEMIS-2422:
--------------------------------------
[~jbertram] that is very valuable information! We could have used this
information during the broker selection process last year.
As far as I understand the reason for not supporting it at the moment are
primarily performance considerations in conjunction with lots of short lived
consumers. That would not be the case for us. Our consumers are long lived but
sometimes there are technical reasons that result in automatic reconnection of
client instances. So for us it would be nice if we could enable that behaviour
at the potenial expense of performance.
We can also look into creating a custom broker plugin or a patch for the server
artifact ourselves. I checked the source code for the redistribution logic but
currently have trouble grasping it. So hints or some guidance would be more
than welcome regarding how this could be achieved/which parts would need to be
modified.
> 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
> Priority: Major
>
> 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)