Re: VM corruption on standby
Kirill Reshke <reshkekirill@gmail.com>
From: Kirill Reshke <reshkekirill@gmail.com>
To: Aleksander Alekseev <aleksander@tigerdata.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Andrey Borodin <x4mmm@yandex-team.ru>,
Melanie Plageman <melanieplageman@gmail.com>
Date: 2025-08-10T05:45:15Z
Lists: pgsql-hackers
On Sun, 10 Aug 2025 at 01:55, Aleksander Alekseev <aleksander@tigerdata.com> wrote: > For this reason we have PageHeaderData.pd_lsn for instance - to make sure > pages are evicted only *after* the record that changed it is written > to disk (because WAL records can't be applied to pages from the > future). We don't bump the LSN of the heap page when setting the visibility map bit. > I guess the intent here could be to do an optimization of some sort > but the facts that 1. the instance can be killed at any time and 2. > there might be replicas - were not considered. > IMHO: logging the changes first, then allowing to evict the page. Clearing the vm before the logging changes was intentional [0]. So I assume we should not change the approach, but rather just tweak things a bit to make the whole thing work. [0] https://www.postgresql.org/message-id/BANLkTimuLk4RHXSQHEEiYGbxiXp2mh5KCA%40mail.gmail.com -- Best regards, Kirill Reshke
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Revert "Get rid of WALBufMappingLock"
- 2ce6abdf5085 18.0 landed
- c13070a27b63 19 (unreleased) landed
-
Get rid of WALBufMappingLock
- bc22dc0e0ddc 18.0 cited
-
Split WaitEventSet functions to separate source file
- 393e0d231405 18.0 cited
-
Add WL_EXIT_ON_PM_DEATH pseudo-event.
- cfdf4dc4fc96 12.0 cited