[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