Complete Riak failure.

Dmitry Demeshchuk demeshchuk at gmail.com
Mon Aug 9 10:21:09 EDT 2010


Greetings, Bob.

I thought that the ulimit command concerns only the number of possible
connections to _one_ file/socket.
When I written my own MySQL client in Erlang, I was getting the
{error, einval} error sometimes because I had too many opened
connections to the MySQL server. And ulimit solved this problem.
So, the "ulimit" problem seems to me like a problem for a single
client that tries to make many connections to a server.

However, as far as I understood the explanation of the {error, emfile}
error, it means that too many _different_ files are opened for now (I
guess, it's some limit of the file system). I didn't find any
universal ways to increase this limit.
This problem seems to be a problem of a server that opened too many
simultaneous sockets. And these sockets are really different files so
I'm not sure if ulimit can solve this problem.

Am I wrong?

On Mon, Aug 9, 2010 at 6:11 PM, Bob Ippolito <bob at redivi.com> wrote:
> On Mon, Aug 9, 2010 at 10:07 PM, Dmitry Demeshchuk <demeshchuk at gmail.com> wrote:
>> The error you get means that too many sockets are opened
>> simultaneously. I guess there are two main possible reasons:
>>
>> 1. You are being spammed by someone
>> 2. Your REST requests to Riak are somehow handled slower than new
>> requests come. So, the number of opened HTTP connections increase over
>> time and you start getting this message.
>
> Well, file handles are for sockets and files, there might be a
> backend/schema combination that likes lots of open files. Adding a
> "ulimit -n SOME_BIG_NUMBER" in your start script would make sure you
> have plenty of filenos to spare.
>
> -bob
>



-- 
Best regards,
Dmitry Demeshchuk



More information about the riak-users mailing list