Tom Lane wrote:

> I'd still like to have some fork-rate-limiting behavior in there
> somewhere.  However, it might make sense for the avlauncher to do that
> rather than the postmaster.  Does that idea seem more implementable?

Well, there's already rate limiting in the launcher:


                        if (AutoVacuumShmem->av_signal[AutoVacForkFailed])
                        {
                                /*
                                 * If the postmaster failed to start a new 
worker, we sleep
                                 * for a little while and resend the signal.  
The new worker's
                                 * state is still in memory, so this is 
sufficient.  After
                                 * that, we restart the main loop.
                                 *
                                 * XXX should we put a limit to the number of 
times we retry?
                                 * I don't think it makes much sense, because a 
future start
                                 * of a worker will continue to fail in the 
same way.
                                 */
                                AutoVacuumShmem->av_signal[AutoVacForkFailed] = 
false;
                                pg_usleep(100000L);             /* 100ms */
                                
SendPostmasterSignal(PMSIGNAL_START_AUTOVAC_WORKER);
                                continue;
                        }

Does it just need a longer delay?

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to