0

When I debug my java client code. I wait so long and rabbitmq server logs "missed heartbeats from client, timeout: 60s" error. It is ok. But after this error occurd it is impossible to connect rabbitmq server again even if I restart java client. Client side java program handle socket closed error again and again. Also it is impossible to connect rabbitmq web interface after heartbeats error. To solve this connection problem I have to restart docker desktop container. Why does rabbitmq stay in this state after heartbeats missed from client.

After restart my java client I get:

2019-04-11 11:13:36,870 ERROR c.e.b.d.w.Main [main] java.util.concurrent.TimeoutException
2019-04-11 11:13:36,870 ERROR c.r.c.i.ForgivingExceptionHandler [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
java.net.SocketException: Socket Closed
    at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_152]
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[?:1.8.0_152]
    at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[?:1.8.0_152]
    at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_152]
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[?:1.8.0_152]
    at java.io.BufferedInputStream.read(BufferedInputStream.java:265) ~[?:1.8.0_152]
    at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:288) ~[?:1.8.0_152]
    at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:91) ~[amqp-client-4.1.0.jar:4.1.0]
    at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:164) ~[amqp-client-4.1.0.jar:4.1.0]
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:578) [amqp-client-4.1.0.jar:4.1.0]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
Gürcan Kavakçı
  • 562
  • 1
  • 11
  • 24
  • This is probably specific to docker but there's really not enough information here to help. You should try reproducing outside of docker. If not possible, see if there's a way to reset the network between the container and the host. Or, provide a way to reliably reproduce the issue and maybe someone who uses docker can help. – Luke Bakken Apr 11 '19 at 14:52
  • @LukeBakken I debug my program on windows and I use Docker Desktop on windows. They are on same machine. When connection lost between rabbitmq and my program. All programs which run on docker stay in unstable state and impossible to access them without restart docker. I will test it with rabbitmq outside docker. – Gürcan Kavakçı Apr 15 '19 at 08:16

0 Answers0