Hot take: this otherwise excellent postmortem is too forgiving of PostgreSQL; transaction ID wraparound autovacuum is a nasty failure mode that too many learn about only when their own production systems are capsized by it!
Conversation
Replying to
I agree, but at the same time it's worth noting that the ultimate cause is usually how autovacuum interacts with some other thing that has a conflicting heavyweight lock (e.g. automated TRUNCATE or DROP TRIGGER). That happened during the similar Joyent Manta incident.
Also worth noting: "Avoid re-vacuuming pages containing only frozen tuples" feature in 9.6 can significantly ameliorate performance drop from anti-wraparound autovacuum. It would be nice to know the Postgres version in use on affected Mailchimp DB.
3
7
. o O ( The true 64-bit xid support we're about to get is intended for zheap, possibly gist (?) and other AMs which don't to have to freeze, but could probably also work for [traditional] heap if we could find space in the page header for a reference epoch, or some such scheme )
1
2
Show replies


