Re: cleanup patches for incremental backup
Alexander Lakhin <exclusion@gmail.com>
From: Alexander Lakhin <exclusion@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>,
Nathan Bossart <nathandbossart@gmail.com>
Cc: Matthias van de Meent <boekewurm+postgres@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-01-27T07:00:01Z
Lists: pgsql-hackers
Hello Robert, 26.01.2024 21:37, Robert Haas wrote: > On Fri, Jan 26, 2024 at 12:39 PM Nathan Bossart > <nathandbossart@gmail.com> wrote: >> On Fri, Jan 26, 2024 at 11:04:37AM -0500, Robert Haas wrote: >>> Here is v2 with that addition. >> Looks reasonable. > Thanks for the report & review. I have committed that version. While trying to reproduce the 002_blocks test failure, I've encountered another anomaly (or two): make -s check -C src/bin/pg_walsummary/ PROVE_TESTS="t/002*" PROVE_FLAGS="--timer" # +++ tap check in src/bin/pg_walsummary +++ [05:40:38] t/002_blocks.pl .. # poll_query_until timed out executing this query: # SELECT EXISTS ( # SELECT * from pg_available_wal_summaries() # WHERE tli = 0 AND end_lsn > '0/0' # ) # # expecting this output: # t # last actual query output: # f # with stderr: [05:40:38] t/002_blocks.pl .. ok 266739 ms ( 0.00 usr 0.01 sys + 17.51 cusr 26.79 csys = 44.31 CPU) [05:45:05] All tests successful. Files=1, Tests=3, 267 wallclock secs ( 0.02 usr 0.02 sys + 17.51 cusr 26.79 csys = 44.34 CPU) Result: PASS It looks like the test may call pg_get_wal_summarizer_state() when WalSummarizerCtl->initialized is false yet, i. e. before the first GetOldestUnsummarizedLSN() call. I could reproduce the issue easily (within 10 test runs) with pg_usleep(100000L); added inside WalSummarizerMain() just below: sigprocmask(SIG_SETMASK, &UnBlockSig, NULL); But the fact that the test passes regardless of the timeout, make me wonder, whether any test should fail when such timeout occurs? Best regards, Alexander
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Avoid overflow in MaybeRemoveOldWalSummaries().
- 80686761c49d 17.0 landed
-
Revert "Temporary patch to help debug pg_walsummary test failures."
- 2b520860c08a 17.0 landed
-
Revise pg_walsummary's 002_blocks test to avoid spurious failures.
- ea18eb7d6255 17.0 landed
-
Temporary patch to help debug pg_walsummary test failures.
- 5ddf99734777 17.0 landed
-
More documentation updates for incremental backup.
- 7b1dbf0a8d1d 17.0 landed
-
Fix typos.
- 237d01139b8a 17.0 landed
-
Fix typo.
- 882887e9b458 17.0 landed
-
Try to fix pg_walsummary buildfarm failures.
- a7097ca630a2 17.0 cited
-
Repair various defects in dc212340058b4e7ecfc5a7a81ec50e7a207bf288.
- 3d5c332a3d60 17.0 landed
-
Add new pg_walsummary tool.
- ee1bfd168390 17.0 landed
-
Add new function pg_get_wal_summarizer_state().
- d9ef650fca7b 17.0 landed
-
Document WAL summarization information functions.
- f896057e46b0 17.0 landed