[rabbitmq-discuss] 21673 never recovers from emfile

Matthew Sackman matthew at lshift.net
Fri Jan 15 16:28:34 GMT 2010


On Fri, Jan 15, 2010 at 10:18:39AM -0600, Scott Brooks wrote:
> On 2010-01-15, at 11:09 AM, Matthew Sackman wrote:
> 
> > On Fri, Jan 15, 2010 at 09:57:00AM -0600, tsuraan wrote:
> >>> Hmmm, interesting find. I don't think that this is related to the file
> >>> descriptor management that's going on in the new persister, but I'll
> >>> certainly test and see if I can reproduce.
> >> 
> >> Ok, some better test conditions:
> > 
> > Many thanks for these. The Erlang VM gets very upset when it runs out of
> > available file descriptors. The safest thing to do is just to massively
> > raise the limit through ulimit. That said, we do have some plans to be
> > able to artificially limit the number of FDs Rabbit is using to a little
> > less than the actual limit. This would allow Rabbit to successfully
> > refuse new connections when it gets to this artificial limit, and leave
> > enough FDs around for the VM to continue with.
> > 
> > Matthew
> 
> Can you confirm if this bug exists in 1.7.0?
> We have seen some rare crashes that look similar to this on 1.7.0.

The same behaviour exists in 1.7.0 - the issue is the Erlang VM blowing
up at some random point. It's not really a bug per se - I wouldn't
expect Java or .Net VMs to do particularly well when they run out of
file descriptors either. If you are seeing this, you should raise the
limit on the number of FDs available to Rabbit.

Matthew




More information about the rabbitmq-discuss mailing list