[
https://issues.apache.org/jira/browse/AMQ-2711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14233163#comment-14233163
]
Tim Bain edited comment on AMQ-2711 at 12/3/14 4:29 PM:
--------------------------------------------------------
If you force conduitSubscriptions=true for topics, you lose the ability to
ensure that only messages that actually have a consumer on broker A will be
forwarded from broker B, which could be important if there's a
bandwidth-limited link between the two.
With conduitSubscriptions=true, selectors are ignored and *all* messages are
passed from B to A, even if all consumers on A have selectors that will exclude
the message. In certain scenarios the duplicate messages that could result
from setting conduitSubscriptions=false would be better than the use of limited
bandwidth to pass messages that will be immediately discarded on broker A. And
it's not "almost inevitable" that conduitSubscriptions=false will case
problems; you won't get duplicate messages if all consumers have unique
selectors such that a message is only ever delivered to a singe consumer.
Allowing both values of conduitSubscriptions for both destination types doesn't
hurt anything and it gives configuration options that are useful in certain
situations, so let's close this as Won't Fix.
was (Author: tbain98):
If you force `conduitSubscriptions=true` for topics, you lose the ability to
ensure that only messages that actually have a consumer on broker A will be
forwarded from broker B, which could be important if there's a
bandwidth-limited link between the two.
With `conduitSubscriptions=true`, selectors are ignored and *all* messages are
passed from B to A, even if all consumers on A have selectors that will exclude
the message. In certain scenarios the duplicate messages that could result
from setting `conduitSubscriptions=false` would be better than the use of
limited bandwidth to pass messages that will be immediately discarded on broker
A. And it's not "almost inevitable" that `conduitSubscriptions=false` will
case problems; you won't get duplicate messages if all consumers have unique
selectors such that a message is only ever delivered to a singe consumer.
Allowing both values of `conduitSubscriptions` for both destination types
doesn't hurt anything and it gives configuration options that are useful in
certain situations, so let's close this as Won't Fix.
> conduitSubscriptions flag on networkConnector element should only affect
> queues, not topics
> -------------------------------------------------------------------------------------------
>
> Key: AMQ-2711
> URL: https://issues.apache.org/jira/browse/AMQ-2711
> Project: ActiveMQ
> Issue Type: Improvement
> Components: Connector
> Affects Versions: 5.3.1
> Reporter: Fintan Bolton
> Fix For: 5.x
>
>
> In the doc for 'Networks of Brokers',
> http://activemq.apache.org/networks-of-brokers.html, it says that it is
> sometimes useful to disable {{conduitSubscriptions}} for queues, because this
> gives you a better load balancing effect when consumers are attached to
> various points in the broker network. The only trouble is, currently it does
> not seem practical to disable {{conduitSubscriptions}}, because this almost
> inevitably causes trouble with topics. That is, it can easily happen that
> topic messages are duplicated, if {{conduitSubscriptions}} is set to
> {{false}}.
> It seems like it would be better if topic subscriptions where *always*
> treated as conduits and the {{conduitSubscriptions}} attribute only affected
> queue subscriptions. That way, you could happily disable conduits for queues
> while leaving it enabled for topics.
> A bit of investigation is probably needed, however, to make sure that there
> aren't any edge cases where you might actually want to disable conduit
> subscriptions for topics.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)