Re: could not truncate directory "pg_serial": apparent wraparound

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: could not truncate directory "pg_serial": apparent wraparound
Дата
Msg-id 4DF08AC9.4060707@enterprisedb.com
обсуждение исходный текст
Ответ на Re: could not truncate directory "pg_serial": apparent wraparound  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Ответы Re: could not truncate directory "pg_serial": apparent wraparound
Список pgsql-hackers
While testing this, I noticed another serious bug in the OldSerXidSLRU 
handling: we never set the dirty-flag on any page. I believe the reason 
we haven't bumped into this in testing before is that when a new page is 
initialized, it's marked as dirty, so everything goes smoothly when we 
modify recently-zeroed pages. But if a page falls out of the cache, and 
is later read back in and modified, the modifications are lost.

The comments in SLRU could be more explicit about this. It was 
coincidental that I started to wonder where the pages are marked as 
dirty, I somehow thought the SLRU functions do that for you.

Fortunately the fix is very simple, we just need to set the page_dirty 
flag whenever we modify an slru page. But clearly this slru stuff needs 
more testing. It's pretty hard to write good repeatable test cases for 
these things, though.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


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

Предыдущее
От: Marti Raudsepp
Дата:
Сообщение: Re: [PATCH] Allow star syntax in GROUP BY, as a shorthand for all table columns
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: reducing the overhead of frequent table locks - now, with WIP patch