Re: cleanup patches for incremental backup
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Matthias van de Meent <boekewurm+postgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-01-27T16:31:09Z
Lists: pgsql-hackers
Attachments
- repro_and_fix.patch (text/x-diff) patch
On Sat, Jan 27, 2024 at 11:00:01AM +0300, Alexander Lakhin wrote: > 24.01.2024 20:46, Robert Haas wrote: >> This is weird. There's a little more detail in the log file, >> regress_log_002_blocks, e.g. from the first failure you linked: >> >> [11:18:20.683](96.787s) # before insert, summarized TLI 1 through 0/14E09D0 >> [11:18:21.188](0.505s) # after insert, summarized TLI 1 through 0/14E0D08 >> [11:18:21.326](0.138s) # examining summary for TLI 1 from 0/14E0D08 to 0/155BAF0 >> # 1 >> ... >> [11:18:21.349](0.000s) # got: 'pg_walsummary: error: could >> not open file "/home/nm/farm/gcc64/HEAD/pgsql.build/src/bin/pg_walsummary/tmp_check/t_002_blocks_node1_data/pgdata/pg_wal/summaries/0000000100000000014E0D0800000000155BAF0 >> # 1.summary": No such file or directory' >> >> The "examining summary" line is generated based on the output of >> pg_available_wal_summaries(). The way that works is that the server >> calls readdir(), disassembles the filename into a TLI and two LSNs, >> and returns the result. > > I'm discouraged by "\n1" in the file name and in the > "examining summary..." message. > regress_log_002_blocks from the following successful test run on the same > sungazer node contains: > [15:21:58.924](0.106s) # examining summary for TLI 1 from 0/155BAE0 to 0/155E750 > [15:21:58.925](0.001s) ok 1 - WAL summary file exists Ah, I think this query: SELECT tli, start_lsn, end_lsn from pg_available_wal_summaries() WHERE tli = $summarized_tli AND end_lsn > '$summarized_lsn' is returning more than one row in some cases. I attached a quick sketch of an easy way to reproduce the issue as well as one way to fix it. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
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