OS: Windows Server 2008 R2
RabbitMQ version: 3.5.2 (for server and clients)
Clients in use: Java and .Net
We routinely (several times a day nominally) receive callbacks into the Java client and .Net client that indicate that connection was dropped by the server and then the connection was re-established immediately afterwards. In the rabbit log, this looks like:
=ERROR REPORT====
Channel error on connection <0.31653.53> (CLIENTHOST -> SERVERHOST, vhost '/', user: USERNAME), channel 1:
{amqp_error,not_found,"no_exchange EXCHANGENAME in vshost '/'",
'queue.bind'}
=WARNING REPORT====
closing AMQP connection <0.31653.53> (CLIENTHOST -> SERVERHOST):
connection_closed_abruptly
=INFO REPORT====
accepting AMQP connection <0.3176.53> (CLIENTHOST -> SERVERHOST)
The client receives something like
AMQP channel shutdown. reason = null, message = connection error
com.rabbitmq.client.ShutdownSignalException: connection error
...
Caused by: java.net.SocketException: Unrecognized Windows Sockets error: 0: recv failed
or in the .Net client,
Exception:
RabbitMQ.Client.Exceptions.AlreadyClosedException: Already closed: The AMQP
operation was interrupted: AMQP close-reason, initiated by Peer, code=404,
text="NOT_FOUND - no exchange 'mux_low_side_outgoing_29' in vhost
'/'", classId=60, methodId=40, cause=
at RabbitMQ.Client.Impl.SessionBase.Transmit(Command cmd)
at RabbitMQ.Client.Impl.ModelBase.ModelSend(MethodBase method,
ContentHeaderBase header, Byte[] body)
at RabbitMQ.Client.Impl.ModelBase.BasicPublish(String exchange,
String routingKey, Boolean mandatory, Boolean immediate, IBasicProperties
basicProperties, Byte[] body)
at RabbitMQ.Client.Impl.ModelBase.BasicPublish(String exchange,
String routingKey, Boolean mandatory, IBasicProperties basicProperties, Byte[]
body)
at RabbitMQ.Client.Impl.ModelBase.BasicPublish(String exchange,
String routingKey, IBasicProperties basicProperties, Byte[] body)
The only thing we've been able to guess at is the client machine is busy when this happens. For example, it will sometimes happen when the application is starting up and doing other initialization work.
Usually, we see a little burst of these messages and everything settles down without any real issue. However, recently one of our .Net applications started receiving the above error a few times a second and had to be restarted to clear the issue.
Note the connection errors are all on connections and channels that are long lived.
Any thoughts and where to look would be helpful. Unfortunately, I haven't been able to come up with a way to consistently reproduce the issues.
Thanks