qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Sim <g...@redhat.com>
Subject Re: How to avoid waiting for a very long timeout on messaging::Connection::open()?
Date Wed, 23 Nov 2011 09:38:08 GMT
On 11/23/2011 09:05 AM, Toralf Lund wrote:
> Hello,
> Sometimes the host I'm connecting to via qpid::messaging::Connection
> turns out to be down. When this is the case, the open() call may exhibit
> two different kinds of behaviour, depending on the network configuration
> or something:
> 1. An exception is raised almost immediately, and a message like
> 2011-11-23 09:15:44 warning Connect failed: No route to host
> is logged.
> 2. An exception is raised after a *long* delay, and log message is
> 2011-11-23 09:25:01 warning Connect failed: Connection timed out
> Now, case 1) is not really much of an issue, but 2) is rather
> problematic because the timeout is something like 4 minutes, and I don't
> want to lock up my application for that long. Questions:
> 1. Why is it that I sometimes get "No route to host" and at other
> times have to wait for a timeout? Through what mechanism does the
> system (sometimes) know or find out directly that the remote host
> is missing, so that it doesn't have to wait for timeouts etc? I
> realise that this is more of a general sockets or TCP question
> than something specific to QPid or AMQP, but does anyone here know?
> 2. Is there any way to make the timeout for case 2) shorter? I tried
> setting the "reconnect-timeout" option on the connection, but this
> made no difference.

Set the heartbeat option, then the connection will abort if two 
heartbeat intervals pass with no response from the server.

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org

View raw message