Hi Wolf, Could you please post your test code? I'll try this on 0.14 (shortly to be released) and see if the issue persists.
-Steve > -----Original Message----- > From: wolfwolfswinkel [mailto:[email protected]] > Sent: Thursday, December 22, 2011 8:59 AM > To: [email protected] > Subject: Heartbeats in C++ broker on Windows > > Hi, > > I am using the 0.10 c++ broker and client libraries on windows and performing > some experiments with the reconnect behaviour of the async sender in the > c++ messaging client API. Specifically, I try to enable heartbeats on the > connection, however until now without success. > > I set Connection options "reconnect" to "true" and "heartbeat" to 6, open > the Connection, create a Session and a Sender, then send a few messages > which are delivered as expected. Then I leave the connection idle for a while, > the message "debug Traffic timeout" appears in the client's log after > 12 seconds (probably twice the heartbeat interval). This seems to be the > indication that the broker did not sent a heartbeat in time. > > Then I start sending messages using the Sender again. It appears the > messages do not reach the broker. Inspection on the broker side shows the > connection with the client still exists, but is idle. At some point the Sender > reaches capacity and then waits indefinitely for capacity inside a blocking > sync() call. > > It seems there are two issues here: > > 1. the broker does not send a heartbeat > > 2. when the client detects the missing heartbeat, it gets in a state where it > cannot deliver messages to the broker. No exceptions are thrown, no > indications in the log that the connection is lost or of reconnection attempts > > Regarding the first issue: > > If I turn on tracing on the broker side, I get: > > 2011-12-22 11:49:52 trace SENT [192.168.169.27:5672-192.168.169.115:4518]: > Frame[BEbe; channel=0; {ConnectionTuneBody: channel-max=32767; max- > frame-size=65535; heartbeat-min=0; heartbeat-max=0; }] > 2011-12-22 11:49:52 trace RECV [192.168.169.27:5672-192.168.169.115:4518]: > Frame[BEbe; channel=0; {ConnectionTuneOkBody: channel-max=32767; > max-frame-size=65535; heartbeat=0; }] > > I am not familiar with the protocol at this level, but I suspect this is the broker > telling the client its min/max supported heartbeat intervals (both 0), and > then the client agreeing to use heartbeat interval 0. > > Does anyone recognize these issues? Does the C++ broker on windows > support heartbeats at all? > > Thanks, > > Wolf Wolfswinkel > > > -- > View this message in context: > http://qpid.2158936.n2.nabble.com/Heartbeats-in-C-broker-on-Windows- > tp7118702p7118702.html > Sent from the Apache Qpid users mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > Apache Qpid - AMQP Messaging Implementation > Project: http://qpid.apache.org > Use/Interact: mailto:[email protected] --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
