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 <[email protected]>

> 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 <[email protected]> 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

Reply via email to