qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Huston" <shus...@riverace.com>
Subject RE: Heartbeats in C++ broker on Windows
Date Thu, 22 Dec 2011 16:42:36 GMT
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:wolf.wolfswinkel@objectplus.nl]
> Sent: Thursday, December 22, 2011 8:59 AM
> To: users@qpid.apache.org
> 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:users-subscribe@qpid.apache.org


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


Mime
View raw message