[rabbitmq-discuss] TCP timeout is also happening for C# clients

Tony Garnock-Jones tonyg at lshift.net
Wed May 14 11:58:20 BST 2008


Hi Geoffrey,

Geoffrey Anderson wrote:
> FYI: I have found that a Hearbeat adjustment solves a BasicPublish() timeout problem
> in dotnet clients.

I think you may have happened across a bug others have seen before; are
you running .NET on a Microsoft operating system? If so, it is likely
that the Heartbeat feature will not work well for you, and you should
disable heartbeats by setting the heartbeat interval to zero.

See
http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2008-April/001043.html
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=94149

A future release of the RabbitMQ .NET client will employ an alternative
strategy for detecting idle sockets that does not fall foul of
Microsoft's broken read-timeout behaviour.

> OK guys thanks for guidance with diagnosing the connection problems.  It is solved
> after I created an environment variable.

Great! Pleased to hear it.

> I now suspect there is a threading bug in the RabbitMQ stack and it is common to
> both C# and java clients either by repetition of a mistaken code pattern, or by some
> code layer in the RabbitMQ system which is shared in common by clients of both
> languages.  Solutions applied in the application layer are probably not the best
> way.

I'd be surprised if you were seeing anything other than the
heartbeat-timeout problem.

Regards,
  Tony
-- 
 [][][] Tony Garnock-Jones     | Mob: +44 (0)7905 974 211
   [][] LShift Ltd             | Tel: +44 (0)20 7729 7060
 []  [] http://www.lshift.net/ | Email: tonyg at lshift.net




More information about the rabbitmq-discuss mailing list