[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.


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.

 [][][] 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