Hi Ying,

It's the beam.smp process that is the main couchdb process. The
other processes:

  epmd: Erlang port mapper daemon, acts as a name server for other
        Erlang hosts
  beam.smp: BEAM, the Erlang Virtual Machine, where couchdb runs
  cpu_sup: Erlang CPU supervisor process
  couchjs: The CouchDB view server process, where your Javascript 
        map/reduce views execute and are built/maintained. You have
        2o f these running.

> Another question, how did you know that the error is EMFILE? I did
> not see this even by skimming through the code.

It's right here:

> >> {"status":500,"name":"badmatch","message":"Database encountered an
> >> unknown
> >> error","reason":"{error,{badmatch,{error,{{badmatch,{error,emfile}},

The {error,emfile} says that the OS has passed up an EMFILE error. I know
what this error is from (on Linux) running `man errno`, which lists:

       EMFILE          Too many open files (POSIX.1)

The error code emfile isn't in CouchDB itself because we don't explicitly
check for it - as we consider that a configuration error, not a database
fault.

All the best,
Joan

Reply via email to