Alvaro Herrera wrote:

> Turns out that this problem is not serious at all, because if that
> palloc() fails, the whole postmaster will exit with a FATAL out of
> memory message.
> The problems in the worker code after fork are still an issue though.

It _is_ still an issue -- and a very serious issue at that.  If a worker
fails before getting its entry from the startingWorker pointer, then
(patched) autovacuum will no longer run any task.

Since it doesn't seem like it is possible to signal the launcher until
the worker has set up shared memory, I think we should leave the current
shenanigans in place.  They are really ugly code and I'd love to get rid
of them, but currently I don't see any better mechanism to deal with
this failure scenario.

Thanks for your attention ;-)

Alvaro Herrera       
Bob [Floyd] used to say that he was planning to get a Ph.D. by the "green
stamp method," namely by saving envelopes addressed to him as 'Dr. Floyd'.
After collecting 500 such letters, he mused, a university somewhere in
Arizona would probably grant him a degree.              (Don Knuth)

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to