Re: [HACKERS] autovacuum does not start in HEAD

Поиск
Список
Период
Сортировка
От ITAGAKI Takahiro
Тема Re: [HACKERS] autovacuum does not start in HEAD
Дата
Msg-id 20070426102316.654D.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
обсуждение исходный текст
Ответы Re: [HACKERS] autovacuum does not start in HEAD  (Bruce Momjian <bruce@momjian.us>)
Re: [HACKERS] autovacuum does not start in HEAD  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: [HACKERS] autovacuum does not start in HEAD  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-patches
I wrote:
> I found that autovacuum launcher does not launch any workers in HEAD.

The attached autovacuum-fix.patch could fix the problem. I changed
to use 'greater or equal' instead of 'greater' at the decision of
next autovacuum target.

The point was in the resolution of timer; There is a platform that timer
has only a resolution of milliseconds. We initialize adl_next_worker with
current_time in rebuild_database_list(), but we could use again the same
value in do_start_worker(), because there is no measurable difference
in those low-resolution-platforms.


Another attached patch, autovacuum-debug.patch, is just for printf-debug.
I got the following logs without fix -- autovacuum never works.

# SELECT oid, datname FROM pg_database ORDER BY oid;
  oid  |  datname
-------+-----------
     1 | template1
 11494 | template0
 11495 | postgres
 16384 | bench
(4 rows)

# pgbench bench -s1 -c1 -t100000
[with configurations of autovacuum_naptime = 10s and log_min_messages = debug1]

LOG:  do_start_worker skip : 230863399.250000, 230863399.250000, 230863409.250000
LOG:  rebuild_database_list: db=11495, time=230863404.250000
LOG:  rebuild_database_list: db=16384, time=230863409.250000
DEBUG:  autovacuum: processing database "bench"
LOG:  do_start_worker skip : 230863404.250000, 230863404.250000, 230863414.250000
LOG:  do_start_worker skip : 230863404.250000, 230863409.250000, 230863414.250000
LOG:  rebuild_database_list: db=11495, time=230863409.250000
LOG:  rebuild_database_list: db=16384, time=230863414.250000
LOG:  do_start_worker skip : 230863409.250000, 230863409.250000, 230863419.250000
LOG:  do_start_worker skip : 230863409.250000, 230863414.250000, 230863419.250000
LOG:  rebuild_database_list: db=11495, time=230863414.250000
LOG:  rebuild_database_list: db=16384, time=230863419.250000
...
(no autovacuum activities forever)

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center


Вложения

В списке pgsql-patches по дате отправления:

Предыдущее
От: Koichi Suzuki
Дата:
Сообщение: Re: [HACKERS] Full page writes improvement, code update
Следующее
От: Gregory Stark
Дата:
Сообщение: Re: LIMIT/SORT optimization