activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Tully <gary.tu...@gmail.com>
Subject Re: Message brokerPath property change from 5.1 to 5.2
Date Thu, 05 Mar 2009 12:28:11 GMT
Hi Eric,
Good catch. The change does stop forwarding, but possibly the problem is in
the filter that stops forwarding as other parts of the code depend on the
brokerPath being extended/copied appended to. In particular the enforcement
of NetworkHops limited by NetworkTTL.

see:
org.apache.activemq.command.NetworkBridgeFilter.matchesForwardingFilter(Message)
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/NetworkBridgeFilter.java?view=markup

Do you have a JUnit test case that shows this problem such that it can be
included in the test suite?

Regards,
Gary.

2009/3/5 Eric Chu <eric.chu@gmail.com>

> Hi,
>
> Sorry, just writing the email has helped me find the issue:
>
> AMQ 5.1 - org.apache.activemq.command.Message.java @ copy(Message)
>        // copying the broker path breaks networks - if a consumer re-uses a
>        // consumed
>        // message and forwards it on
>        // copy.brokerPath = brokerPath;
>
> AMQ 5.2 - org.apache.activemq.command.Message.java @ copy(Message)
>        copy.brokerPath = brokerPath;
>
> Looks like copying of brokerPath was uncommented in 5.2. Looks like this
> change has caused exactly what was commented into code in version 5.1. It
> breaks the network of brokers and prevents message forwarding.
>
> Best Regards,
> Eric
>
> On Wed, Mar 4, 2009 at 9:28 PM, Eric Chu <eric.chu@gmail.com> wrote:
>
> > Hi,
> >
> > I was hoping that any developers that have experience developing on the
> > brokerPath property of the Message object might be able to give me
> insight
> > on something peculiar I am seeing in 5.1 versus 5.2.
> >
> > On 5.1, using a Network of 5 Brokers, this is a trace for a message
> hopping
> > from broker to broker. But in the code, the brokerPath is always only 1
> > entry. (note: the one brokerId entry in the brokerPath is always the
> > brokerId of the previous broker the message had been on)
> >
> > PRODUCED > B1 > B4 > B3 > B1 > B4 > B2 > B1 > B3 > B4
> B1 > B3 > B2 > B4
> > > B5 > B3 > B4 > B5 > B1 > B2 > B5 > B3 > B2 > B5
> B3 > B1 > B5 > B2 >
> > DELIVERED
> >
> >
> > On 5.2, using a Network of 5 Brokers, this is a trace for a message
> hopping
> > from broker to broker. But in this case, the brokerPath grows and
> persists
> > which broker it had been on originally.
> >
> > PRODUCED > B5 > B3 > B1 > B2 > DELIVERED
> > PRODUCED > B5 > B3 > B1 > B2 > B4 > ORPHANED
> >
> > I'm wondering if this change in the functionality of the brokerPath has
> > inadvertently introduced the following bug (
> > https://issues.apache.org/activemq/browse/AMQ-2135). Any insight would
> be
> > appreciated, I am actively trying to solve this one.
> >
> > Best Regards,
> > Eric
> >
>



-- 
http://blog.garytully.com

Open Source SOA
http://FUSESource.com

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