Re: Implement waiting for wal lsn replay: reloaded
Tomas Vondra <tomas@vondra.me>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Clean up 019_replslot_limit.pl comments
- 0b866bb90368 19 (unreleased) landed
-
Stabilize 019_replslot_limit.pl: wait on slot restart_lsn
- cdb1d1cf1de6 19 (unreleased) landed
-
Use WAIT FOR LSN in PostgreSQL::Test::Cluster::wait_for_catchup()
- 7e8aeb9e483d 19 (unreleased) landed
- f30848cb05d4 19 (unreleased) landed
-
Add tab completion for the WAIT FOR LSN MODE option
- 76948337f724 19 (unreleased) landed
-
Add the MODE option to the WAIT FOR LSN command
- 49a181b5d634 19 (unreleased) landed
-
Extend xlogwait infrastructure with write and flush wait types
- 7a39f43d885b 19 (unreleased) landed
-
Unify error messages
- 502e256f2262 19 (unreleased) cited
-
Optimize shared memory usage for WaitLSNProcInfo
- 75e82b2f5a6f 19 (unreleased) landed
-
Fix WaitLSNWakeup() fast-path check for InvalidXLogRecPtr
- ede6acef4967 19 (unreleased) landed
-
Fix incorrect function name in comments
- 23792d738158 19 (unreleased) landed
-
Add infrastructure for efficient LSN waiting
- 3b4e53a075ea 19 (unreleased) landed
-
Add pairingheap_initialize() for shared memory usage
- 8af3ae0d4b36 19 (unreleased) landed
-
Implement WAIT FOR command
- 447aae13b030 19 (unreleased) landed
On 11/5/25 10:51, Alexander Korotkov wrote: > Hi! > > On Mon, Nov 3, 2025 at 5:13 PM Andres Freund <andres@anarazel.de> wrote: >> On 2025-11-03 16:06:58 +0100, Álvaro Herrera wrote: >>> On 2025-Nov-03, Alexander Korotkov wrote: >>> >>>> I'd like to give this subject another chance for pg19. I'm going to >>>> push this if no objections. >>> >>> Sure. I don't understand why patches 0002 and 0003 are separate though. >> >> FWIW, I appreciate such splits. Even if the functionality isn't usable >> independently, it's still different type of code that's affected. And the >> patches are each big enough to make that worthwhile for easier review. > > Thank you for the feedback, pushed. > Hi, The new TAP test 049_wait_for_lsn.pl introduced by this commit, because it takes a long time - about 65 seconds on my laptop. That's about 25% of the whole src/test/recovery, more than any other test. And most of the time there's nothing happening - these are the two log messages showing the 60-second wait: 2025-11-13 21:12:39.949 CET checkpointer[562597] LOG: checkpoint complete: wrote 9 buffers (7.0%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 2 recycled; write=0.906 s, sync=0.001 s, total=0.907 s; sync files=0, longest=0.000 s, average=0.000 s; distance=32768 kB, estimate=32768 kB; lsn=0/040000B8, redo lsn=0/04000060 2025-11-13 21:13:38.994 CET client backend[562727] 049_wait_for_lsn.pl ERROR: recovery is not in progress So there's a checkpoint, 60 seconds of nothing, and then a failure. I haven't looked into why it waits for 1 minute exactly, but adding 60 seconds to check-world is somewhat annoying. While at it, I noticed a couple comments refer to WaitForLSNReplay, but but I think that got renamed simply to WaitForLSN. regards -- Tomas Vondra