I'm working with 1.6.24 on a Solaris 2.6 machine.  Currently load testing
using deliver in LMTP mode to pipe from the MTA.  I find that under heavy
load some of the deliver processes will seem to hang, leaving the MTA
waiting.  Everything spirals downward from there, with the number of
processes growing very quickly.

truss against one of the stuck deliver processes shows nothing happening
until I slow the testing and load starts to subside.  Eventually, the
deliver process will come back to life, and the first thing it does is
rename the quota.NEW file as the base quota file - ie, this part of the
code...

    if (rename(new_quota_path, quota_path)) {
        syslog(LOG_ERR, "IOERROR: renaming quota file %s: %m",
               quota_path);
        fclose(newfile);
        close(newfd);
        return IMAP_IOERROR;
    }

No IOERROR is logged, and the rename does succeed. Anyone seen this
before?  Is it a locking issue?  Any suggestions?

-- 
Pete Naylor

Reply via email to