I'm using the UW mailutil to transfer mailboxes from UW to Cyrus (2.3.7). It uses APPEND, specifically multiappend (single APPEND with multiple messages being appended). Cyrus-imapd handles this multiappend by creating stage files for each appended message and leaving the file descriptor open. The problem is that after 240 messages, we run out of file descriptors and so an open() of the next stage file fails with EMFILE. I updated /etc/cyrus.conf to make the max fds be 1024 (AFAICT kernel MAX) which helped somewhat but not for larger mailboxes with > 1008 messages.

Shouldn't the multiappend/append be closing the FD for each stage file and then reopening it later as it needs it?

Do people just tweak their kernels to have some insane number of FDs available in order to compensate for this?

Or, do people not use mailutil and instead use something that issues multiple append commands rather than a single append with multiple e- mails?

-nik

----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to