spurious wrap-around shutdown

Поиск
Список
Период
Сортировка
От Jeff Janes
Тема spurious wrap-around shutdown
Дата
Msg-id CAMkU=1xDr+fjZ87RVz2458FYgUpgPcBV8zik5widYw+Qttu4rA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: spurious wrap-around shutdown  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-hackers
On Sun, Jun 16, 2013 at 11:54 AM, Jeff Janes <jeff.janes@gmail.com> wrote:
 
In 9.3 HEAD I am getting what seems to be spurious wrap-around shutdowns.


postgres=# SELECT datname, datfrozenxid, age(datfrozenxid) FROM pg_database;

  datname  | datfrozenxid |    age
-----------+--------------+-----------
 template1 |   2621759843 |         0
 template0 |   2621759843 |         0
 postgres  |   2571759843 |  50000000
 jjanes    |   2437230921 | 184528922


While the behavior is weird, it is not a regression (also present in 9.2 with suitable changes in timing) and the shutdown is not spurious.

If I execute the above query immediately after the shutdown, I see what I would expect, jjanes has an age of about 2^31.  

The one table that is holding everything back is already getting autovac for wraparound at that point, and eventually that vacuum finishes.  When done, pg_class and pg_database are updated (I don't know how they get updated without trying to assign another transaction), and then I get the above query results.

I would think the database would re-allow new transactions at this point, but it does not.  I don't know why.

Since this isn't a regression in 9.3, I probably won't pursue it any more at this time, unless encouraged to.

Cheers,

Jeff

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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: How do we track backpatches?
Следующее
От: Jeff Janes
Дата:
Сообщение: Re: SET work_mem = '1TB';