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

Reply via email to