Berserk Autovacuum (let's save next Mandrill)

Поиск
Список
Период
Сортировка
От Darafei "Komяpa" Praliaskouski
Тема Berserk Autovacuum (let's save next Mandrill)
Дата
Msg-id CAC8Q8t+j36G_bLF=+0iMo6jGNWnLnWb1tujXuJr-+x8ZCCTqoQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: Berserk Autovacuum (let's save next Mandrill)
Re: Berserk Autovacuum (let's save next Mandrill)
Список pgsql-hackers
Hi hackers,

Attached is sketch of small patch that fixes several edge cases with autovacuum. Long story short autovacuum never comes to append only tables, killing large productions.

First case, mine.
 https://www.postgresql.org/message-id/CAC8Q8tLBeAxR%2BBXWuKK%2BHP5m8tEVYn270CVrDvKXt%3D0PkJTY9g%40mail.gmail.com

We had a table we were appending and wanted Index Only Scan to work. For it to work, you need to call VACUUM manually, since VACUUM is the only way to mark pages all visible, and autovacuum never comes to append only tables. We were clever to invent a workflow without dead tuples and it painfully bit us.

Second case, just read in the news.
https://mailchimp.com/what-we-learned-from-the-recent-mandrill-outage/

Mandrill has 6TB append only table that autovacuum probably never vacuumed. Then anti-wraparound came and production went down. If autovacuum did its job before that last moment, it would probably be okay.

Idea: look not on dead tuples, but on changes, just like ANALYZE does.
It's my first patch on Postgres, it's probably all wrong but I hope it helps you get the idea.
--
Darafei Praliaskouski
Support me: http://patreon.com/komzpa
Вложения

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

Предыдущее
От: Ants Aasma
Дата:
Сообщение: Re: Enable data checksums by default
Следующее
От: Gavin Flower
Дата:
Сообщение: Re: PostgreSQL pollutes the file system