From: | ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | autovacuum does not start in HEAD |
Date: | 2007-04-25 08:27:15 |
Message-ID: | 20070425164613.70BB.ITAGAKI.TAKAHIRO@oss.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
I found that autovacuum launcher does not launch any workers in HEAD.
AFAICS, we track the time to be vaccumed of each database in the following way:
1. In rebuild_database_list(), we initialize avl_dbase->adl_next_worker
with (current_time + autovacuum_naptime / nDBs).
2. In do_start_worker(), we skip database entries that adl_next_worker
is between current_time and current_time + autovacuum_naptime.
3. If there is no jobs in do_start_worker(), we call rebuild_database_list()
to rebuild database entries.
The point is we use the same range (current_time and current_time +
autovacuum_naptime) at 1 and 2. We set adl_next_worker with values in the
range, and drop all of them at 2 because their values are in the range.
And if there is no database to vacuum, we re-initilaize database list at 3,
then we repeat the cycle.
Or am I missing something?
Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center
From | Date | Subject | |
---|---|---|---|
Next Message | Zoltan Boszormenyi | 2007-04-25 08:31:56 | Re: [HACKERS] parser dilemma |
Previous Message | Dave Page | 2007-04-25 08:03:41 | Buildfarm: Stage logs not available for MSVC builds |
From | Date | Subject | |
---|---|---|---|
Next Message | Zoltan Boszormenyi | 2007-04-25 08:31:56 | Re: [HACKERS] parser dilemma |
Previous Message | Zeugswetter Andreas ADI SD | 2007-04-25 08:00:16 | Re: [HACKERS] Full page writes improvement, code update |