Re: VM corruption on standby
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: Alexander Korotkov <aekorotkov@gmail.com>,
Kirill Reshke <reshkekirill@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Melanie Plageman <melanieplageman@gmail.com>
Date: 2025-09-10T22:59:19Z
Lists: pgsql-hackers
On Thu, Sep 11, 2025 at 12:00 AM Andrey Borodin <x4mmm@yandex-team.ru> wrote: > > On 10 Sep 2025, at 15:25, Alexander Korotkov <aekorotkov@gmail.com> wrote: > > I believe we need some > > general solution. We might have a special kind of condition variable, > > a critical section condition variable, where both waiting and > > signaling must be invoked only in a critical section. However, I dig > > into our Latch and WaitEventSet, it seems there are too many > > assumptions about postmaster death. So, a critical section condition > > variable probably should be implemented on top of semaphore. Any > > thoughts? > > We want Latch\WaitEventSet, but for critical section. Is it easier to implement from scratch (from semaphores), or is it easier to fix and maintain existing Latch\WaitEventSet? FWIW I'm working on a patch set that kills all backends without releasing any locks when the postmaster exists. Then CVs and other latch-based stuff should be safe in this context. Work was interrupted by a vacation but I hope to post something in the nexts couple of days, over on that other thread I started...
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