You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Denis Bazhenov <ba...@farpost.com> on 2008/07/21 05:39:21 UTC

Network bridge Issue

I have tow brokers connected to each other (dispatchAsync=true,
networkTTL=64). In such topology producers and consumers can be
connected to each broker, and messages must be routed to consumer
automatically (local or remote), as i understand.

But sometimes broker (which do not have consumers) refuse to deliver
messages on remote broker (which have consumers). I restart broker with
logging level DEBUG, and saw in logs (aux1 and aux2 is names of
brokers):
"DEBUG DemandForwardingBridge         - aux2 Ignoring sub ConsumerInfo
{commandId = 4, responseRequired = false, consumerId =
ID:aux1.srv.loc-34016-1216608848604-21:1:1:1, destination =
queue://example.A, prefetchSize = 1000, maximumPendingMessageLimit = 0,
browser = false, dispatchAsync = true, selector = null, subscriptionName
= null, noLocal = false, exclusive = false, retroactive = false,
priority = 0, brokerPath = [ID:aux2.srv.loc-54287-1216610072725-0:0],
optimizedAcknowledge = false, noRangeAcks = false, additionalPredicate =
org.apache.activemq.command.NetworkBridgeFilter@11402c4} already routed
through this broker once".

I've found where this message written in log file.

DemandForwardingBridgeSupport.java:
if(contains(destInfo.getBrokerPath(),localBrokerPath[0])){
  // Ignore this consumer as it's a consumer we locally sent
  // to the broker.
  if(log.isDebugEnabled())
    log.debug("Ignoring sub " + destInfo +
      " already routed through this broker once");
  return;
}

Can anyone help?

-- 
Denis Bazhenov <ba...@farpost.com>
FarPost Inc.


Re: Network bridge Issue

Posted by Hiram Chirino <hi...@hiramchirino.com>.
That's the logic in the brokers which avoids the messages from doing
loops between the brokers.  And that message is just a consumer
advisory message.  Not an application specific message.  So I don't
think it's pointing at your problem.

Perhaps it would be best if you can simulate your failure in a junit
test cases and submit it so that we can all evaluate it.

Regards,
Hiram

On Sun, Jul 20, 2008 at 11:39 PM, Denis Bazhenov <ba...@farpost.com> wrote:
> I have tow brokers connected to each other (dispatchAsync=true,
> networkTTL=64). In such topology producers and consumers can be
> connected to each broker, and messages must be routed to consumer
> automatically (local or remote), as i understand.
>
> But sometimes broker (which do not have consumers) refuse to deliver
> messages on remote broker (which have consumers). I restart broker with
> logging level DEBUG, and saw in logs (aux1 and aux2 is names of
> brokers):
> "DEBUG DemandForwardingBridge         - aux2 Ignoring sub ConsumerInfo
> {commandId = 4, responseRequired = false, consumerId =
> ID:aux1.srv.loc-34016-1216608848604-21:1:1:1, destination =
> queue://example.A, prefetchSize = 1000, maximumPendingMessageLimit = 0,
> browser = false, dispatchAsync = true, selector = null, subscriptionName
> = null, noLocal = false, exclusive = false, retroactive = false,
> priority = 0, brokerPath = [ID:aux2.srv.loc-54287-1216610072725-0:0],
> optimizedAcknowledge = false, noRangeAcks = false, additionalPredicate =
> org.apache.activemq.command.NetworkBridgeFilter@11402c4} already routed
> through this broker once".
>
> I've found where this message written in log file.
>
> DemandForwardingBridgeSupport.java:
> if(contains(destInfo.getBrokerPath(),localBrokerPath[0])){
>  // Ignore this consumer as it's a consumer we locally sent
>  // to the broker.
>  if(log.isDebugEnabled())
>    log.debug("Ignoring sub " + destInfo +
>      " already routed through this broker once");
>  return;
> }
>
> Can anyone help?
>
> --
> Denis Bazhenov <ba...@farpost.com>
> FarPost Inc.
>
>



-- 
Regards,
Hiram

Blog: http://hiramchirino.com

Open Source SOA
http://open.iona.com