--On Thursday, September 01, 2011 2:03 PM -0400 Victor Duchovni
<victor.ducho...@morganstanley.com> wrote:
So the question is what is it that is causing postdrop to loop while
trying to create the queue file?
/*
* Create a file with a temporary name that does not collide. The
process * ID alone is not sufficiently unique: maildrops can be
shared via the * network. Not that I recommend using a network-based
queue, or having * multiple hosts write to the same queue, but we
should try to avoid * losing mail if we can.
*
* If someone is racing against us, try to win.
*/
for (;;) {
GETTIMEOFDAY(tp);
vstring_sprintf(temp_path, "%s/%d.%d", queue_name,
(int) tp->tv_usec, pid);
if ((fd = open(STR(temp_path), O_RDWR | O_CREAT | O_EXCL, mode))
>= 0) break;
if (errno == EEXIST || errno == EISDIR)
continue;
msg_warn("%s: create file %s: %m", myname, STR(temp_path));
sleep(10);
}
Are the "create file" warnings found in the system log?
Yes:
Mar 22 19:24:52 domain postfix/postdrop[3624]: warning: mail_queue_enter:
create file maildrop/976917.3624: No such file or directory
for example.
However, what is odd about this is we have postfix explicitly use a queue
directory that is always present (/opt/zimbra/data/postfix/spool/), so it
shouldn't be encountering any errors creating a file. :/
I was also wrong about the shutdown order -- We shutdown postfix first, and
then the other services.
--Quanah
--
Quanah Gibson-Mount
Sr. Member of Technical Staff
Zimbra, Inc
A Division of VMware, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration