On 06/21/2013 01:32 PM, Christian Fromme wrote:
Hi,

playing around with Qpid this got my attention:

When the qpidd vanishes during a client calling this:

         Connection connection(url, connection_options);

You need a connection.open() here.

         Session session = connection.createSession();
         Sender sender = session.createSender(foo);

I get this in the client:

#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb4c089d6 in nanosleep () from /lib/libc.so.6
#2  0xb4c3a8ac in usleep () from /lib/libc.so.6
#3  0xb5968e72 in qpid::sys::usleep(unsigned long long) () from
/opt/qpid/qpid-0.20-1dfs/lib/libqpidcommon.so.2
#4  0xb785c34f in
qpid::client::amqp0_10::ConnectionImpl::connect(qpid::sys::AbsTime
const&) () from /opt/qpid/qpid-0.20-1dfs/lib/libqpidmessaging.so.2
#5  0xb785c636 in qpid::client::amqp0_10::ConnectionImpl::open() ()
from /opt/qpid/qpid-0.20-1dfs/lib/libqpidmessaging.so.2
#6  0xb78589e4 in qpid::client::amqp0_10::ConnectionImpl::reopen() ()
from /opt/qpid/qpid-0.20-1dfs/lib/libqpidmessaging.so.2
#7  0xb7858fa9 in
qpid::client::amqp0_10::ConnectionImpl::newSession(bool, std::string
const&) () from /opt/qpid/qpid-0.20-1dfs/lib/libqpidmessaging.so.2
#8  0xb782866e in
qpid::messaging::Connection::createSession(std::string const&) () from
/opt/qpid/qpid-0.20-1dfs/lib/libqpidmessaging.so.2

And it seems to never return. No exception. Nothing. Is this a known
issue? Can I tweak around the connection options to change this
(currently got: "{reconnect:true,heartbeat:5}")?

The stack trace shows it is trying to 'reconnect'. This may be because the connection was not actually opened in the first place(?). In any case this would happen if the connection was established and was then lost. If the broker(s) specified never become available then the reconnect will never succeed. You can limit the time or number of retries with some combination of the following:

- reconnect_timeout: seconds (give up and report failure after specified time) - reconnect_limit: n (give up and report failure after specified number of attempts) - reconnect_interval_min: seconds (initial delay between failed reconnection attempts) - reconnect_interval_max: seconds (maximum delay between failed reconnection attempts) - reconnect_interval: shorthand for setting the same reconnect_interval_min/max




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to