You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Rob Davies <ra...@gmail.com> on 2008/02/01 07:49:11 UTC

Re: FailoverTransport in 5.1 seems to make more noise...

On Jan 31, 2008, at 6:31 PM, Jason Rosenberg wrote:

>
> All,
>
> I've been testing with AMQ 5.1-SNAPSHOT, using the FailoverTransport.
>
> I'm using TcpTransport as the underyling transport.
>
> I've noticed that is seems to report more on the logging level,  
> items that
> might have previously been reported with [DEBUG] are now [INFO] or  
> [WARN].
> This is causing significant clutter in my logs.   I'd like to  
> normally not
> suppress [INFO] or [WARN] output....
>
> I have an application that needs to support very high throughput,  
> but also
> can be prone to extended down time.  So, tcp connections have a  
> tendency to
> timeout during the downtimes.  When a subsequent connection comes  
> through, I
> am seeing TCP exception level warns, that didn't used to appear when  
> the
> client is running with 4.1.1, e.g.
>
> I'm using a broker uri that looks like this:
>
> failover:(tcp://some.broker.com:61616? 
> wireFormat.maxInactivityDuration=0,tcp://some2.broker.com:61616? 
> wireFormat 
> .maxInactivityDuration 
> =0)&initialReconnectDelay=20&maxReconnectDelay=900&randomize=false
>
> Here's what I'm seeing with the client using 5.1:
>
> WARN  [2008-01-31 10:11:00,163] thread:ActiveMQ Transport:
> tcp://some.broker.com/10.82.67.59:61616               
> FailoverTransport --
> Transport failed, attempting to automatically reconnect due to:
> java.net.SocketException: Socket closed
> java.net.SocketException: Socket closed
>        at java.net.SocketInputStream.socketRead0(Native Method)
>        at java.net.SocketInputStream.read(SocketInputStream.java:129)
>        at
> org 
> .apache 
> .activemq 
> .transport 
> .tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
>        at
> org 
> .apache 
> .activemq 
> .transport 
> .tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
>        at java.io.DataInputStream.readInt(DataInputStream.java:370)
>        at
> org 
> .apache 
> .activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>        at
> org 
> .apache 
> .activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java: 
> 203)
>        at
> org 
> .apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java: 
> 195)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java: 
> 183)
>        at java.lang.Thread.run(Thread.java:619)
> INFO  [2008-01-31 10:11:00,168] thread:ActiveMQ Task
> FailoverTransport -- Successfully reconnected to
> tcp://some.broker.com:61616?wireFormat.maxInactivityDuration=0
>
>
> The same scenario with AMQ 4.1.1 only outputs info at log-level  
> [DEBUG],
> which I can more routinely suppress:
>
> DEBUG [2008-01-31 13:23:29,288] thread:http-8080-exec-4
> FailoverTransport -- Stopped.
> DEBUG [2008-01-31 13:23:29,292] thread:http-8080-exec-4
> FailoverTransport -- Waking up reconnect task
> DEBUG [2008-01-31 13:23:29,292] thread:http-8080-exec-4
> FailoverTransport -- Started.
> DEBUG [2008-01-31 13:23:29,293] thread:ActiveMQ Task
> FailoverTransport -- Attempting connect to:
> tcp://some.broker.com:61616?wireFormat.maxInactivityDuration=0
> DEBUG [2008-01-31 13:23:29,297] thread:ActiveMQ Task
> WireFormatNegotiator -- Sending: WireFormatInfo { version=2,
> properties={CacheSize=1024, CacheEnabled=true,  
> SizePrefixDisabled=false,
> TcpNoDelayEnabled=true, MaxInactivityDuration=0,  
> TightEncodingEnabled=true,
> StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
> DEBUG [2008-01-31 13:23:29,297] thread:ActiveMQ Task
> FailoverTransport -- Connection established
> DEBUG [2008-01-31 13:23:29,305] thread:ActiveMQ Transport:
> tcp://some.broker.com/10.82.67.99:61616            
> WireFormatNegotiator --
> Received WireFormat: WireFormatInfo { version=3,  
> properties={CacheSize=1024,
> CacheEnabled=true, SizePrefixDisabled=false, TcpNoDelayEnabled=true,
> MaxInactivityDuration=30000, TightEncodingEnabled=true,
> StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
> DEBUG [2008-01-31 13:23:29,305] thread:ActiveMQ Transport:
> tcp://some.broker.com/10.82.67.99:61616            
> WireFormatNegotiator --
> tcp://some.broker.com/10.82.67.99:61616 before negotiation:
> OpenWireFormat{version=2, cacheEnabled=false, stackTraceEnabled=false,
> tightEncodingEnabled=false, sizePrefixDisabled=false}
> DEBUG [2008-01-31 13:23:29,305] thread:ActiveMQ Transport:
> tcp://some.broker.com/10.82.67.99:61616            
> WireFormatNegotiator --
> tcp://some.broker.com/10.82.67.99:61616 after negotiation:
> OpenWireFormat{version=2, cacheEnabled=true, stackTraceEnabled=true,
> tightEncodingEnabled=true, sizePrefixDisabled=false}
>
>
> Thoughts?  Is there a reason why in 5.1, the FailoverTransport  
> passes on the
> underlying tcp socket timeout due to inactivity?
>
> Thanks,
>
> Jason
> -- 
> View this message in context: http://www.nabble.com/FailoverTransport-in-5.1-seems-to-make-more-noise...-tp15211718s2354p15211718.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>

due you want to add a jira issue so you can track ?

cheers,

Rob


Re: FailoverTransport in 5.1 seems to make more noise...

Posted by Jason Rosenberg <jr...@shopzilla.com>.
I've logged an issue:

https://issues.apache.org/activemq/browse/AMQ-1574

Jason

-- 
View this message in context: http://www.nabble.com/FailoverTransport-in-5.1-seems-to-make-more-noise...-tp15211718s2354p15227526.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.