activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiram Chirino" <hi...@hiramchirino.com>
Subject Re: Bug AMQ-810 not fixed properly yet?
Date Wed, 18 Oct 2006 23:01:05 GMT
Hi xalibur..

you have hit a situation where we need some further redesign to fix this
properly.  The original bug was reported because of the exact opposite
behaviour of what your are seeing.

Basically, we have 2 subscribers on the same topic where the selectors are
partitioning the trafic.  Think selectorA = 'price > 10' and selectorB =
'price <= 10'.  If selectorB was registered after selectorA, then it would
not receive any messages since the 2nd subscription was not being forwarded.

The fix was simplistic in that it said, hey if the consumer is using
selectors, then lets forward the subscription.  But in your case your
selectors do not partition the traffic.. they actually share some of the
traffic.  Those shared messages that mach both selectors get duplicated :(

We need to think of a better approach.  Off the top of my head, we could...
:

1) only forward the first subscription, but always strip off any selector.
That way message to the topic are always properly replicated.  The down side
if that in a big network this kills your scaleability since every broker has
to process every message.  Might not be a problem if you have consumers on
every node that need to see every message (but this is typically not the
case).

2) if a subscription has a selector, then send a copy per subscription but
somehow target a specific consumer on the remote broker so that the remote
broker does not broadcast the message again to all it subscribers.
Implementing this might be a bit trickier but should preseve scalability of
a broker network.

Any other ideas?


On 10/18/06, xalibur@nexgo.de <xalibur@nexgo.de> wrote:
>
> Hello,
>
> with a network of brokers and conduit subscriptions there is a known bug
> in version 4.0.1, that under certain conditions prevents subscribers from
> getting events.
> (https://issues.apache.org/activemq/browse/AMQ-810)
> According to the issue tracker the bug is fixed with version 4.0.2.
> I know, that 4.0.2 is not released yet, so maybe I'm a little to early,
> but I retested the problem yesterday with 4.0.2-RC4 (
> http://people.apache.org/~chirino/incubator-activemq-4.0.2-RC4/maven1/incubator-activemq/distributions/)
> and found the behaviour has changed, but it's still not correct. Now there
> are duplicated events.
> Should I submit a bug report, or is the bug-fixing for AMQ-810 still
> ongoing?
>
> Regards
> Linda Floren
> ----
>
> My test does the following:
> I have two brokers A and B linked to each other with
> conduitSubscriptions=true.
> I have a publisher on A and subscribers with messageSelectors on B (and an
> identical set of subscribers on A for sanity check).
>
> In 4.0.1 the behavior was as follows:
> On broker B only the subscribers with a messageSelector that was a subset
> of the messageSelector of the first subscription made on B received events.
> Subscribers with different messageSelectors received nothing.
>
> With 4.0.2-RC4 the behaviour is as follows:
> If on broker B n subscribers have identical messageSelectors, they receive
> each matching event n times!
>
> Without messageSelectors everything works fine.
>
>
> Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren
> ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: günstig
> und schnell mit DSL - das All-Inclusive-Paket für clevere Doppel-Sparer,
> nur  44,85 €  inkl. DSL- und ISDN-Grundgebühr!
> http://www.arcor.de/rd/emf-dsl-2
>



-- 
Regards,
Hiram

Blog: http://hiramchirino.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message