[rabbitmq-discuss] intermittent disconnects under load

Matthias Radestock matthias at lshift.net
Mon Nov 30 11:43:26 GMT 2009


Gojko,

Gojko Adzic wrote:
> we had a round of stress testing and got intermittent connection errors. 
> I don't know exactly what causes it but the Java client throws this 
> exception from a background thread and packets don't go completely to 
> the client. We ran it on a cluster of two nodes, using Java clients.
> 
> Exception in thread "Thread-22" 
> com.rabbitmq.client.ShutdownSignalException: connection error; reason: 
> java.lang.NullPointerException
> at com.rabbitmq.client.impl.AMQConnection.shutdown(AMQConnection.java:588)
> at 
> com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:454)
> Caused by: java.lang.NullPointerException
> at 
> com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:438)
> 
> 
> Line above 438 of AMQConnection says "//FIXME: catch 
> NullPointerException and throw more informative one?" so I guess this is 
> a well known problem - any hints on what is causing it and how to work 
> around it until a fix is in place?

Looking at the code, the NPE would result if an incoming frame 
references a channel that does not exist. I can't see how that can 
happen unless the server is misbehaving (which it shouldn't - I am 
assuming you are talking to a RabbitMQ server, right?). I've had a quick 
look through our channel closing code for any obvious race condition, 
but it seems fine.

Is the above reproducible, and if so, can you send us the code & 
instructions?


Regards,

Matthias




More information about the rabbitmq-discuss mailing list