2009/5/26 Tom Lane <tgl@sss.pgh.pa.us>:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
>> However I think there's a bigger problem here, which is that if the user
>> has set naptime too low, i.e. to a value lower than
>> number-of-databases * 100ms, we'll be running the (expensive)
>> rebuild_database_list function on each iteration ... maybe we oughta put
>> a lower bound on naptime based on the number of databases to avoid this
>> problem.
>
> Bingo, that's surely exactly what was happening to the OP. He had 2000
> databases and naptime at (I assume) the default; so he was rerunning
> rebuild_database_list every 100ms.
>
> So that recovery code path needs some more thought. Maybe a lower bound
> on how often to do rebuild_database_list? And/or don't set adl_next_worker
> to less than 100ms in the future to begin with?
I'd be happy with logging telling me when things are getting pathological.