From: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | 9.4 HEAD: select() failed in postmaster |
Date: | 2013-09-11 00:18:21 |
Message-ID: | CAMkU=1xd3=wFqZwwuXPWe4BQs3h1seYo8LV9JtSjW5RodoPxMg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I've been getting some failures after an immediate shutdown or crash,
during severe IO stress, with the message:
LOG: XX000: select() failed in postmaster: Invalid argument
LOCATION: ServerLoop, postmaster.c:1560
It is trying to sleep for -1 seconds.
I think the problem is here, where there should be a Max rather than a Min:
commit 82233ce7ea42d6ba519aaec63008aff49da6c7af
Author: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Date: Fri Jun 28 17:20:53 2013 -0400
Send SIGKILL to children if they don't die quickly in immediate shutdown
...
+ /* remaining time, but at least 1 second */
+ timeout->tv_sec = Min(SIGKILL_CHILDREN_AFTER_SECS -
+ (time(NULL) - AbortStartTime), 1);
But I don't understand the logic behind this anyway. Why sleep at least 1
second? If time is up, it is up, why not use zero as the minimum?
Cheers,
Jeff
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2013-09-11 00:18:59 | Re: One-line comment to improve understanding of VARSIZE_ANY_EXHDR macro |
Previous Message | Bruce Momjian | 2013-09-11 00:14:10 | Re: unaccent module - two params function should be immutable |