Re: Weird failure with latches in curculio on v15
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Andres Freund <andres@anarazel.de>, Tom Lane <tgl@sss.pgh.pa.us>, Thomas Munro <thomas.munro@gmail.com>, Fujii Masao <fujii@postgresql.org>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-02-08T23:56:24Z
Lists: pgsql-hackers
On Wed, Feb 08, 2023 at 02:25:54PM -0800, Nathan Bossart wrote: > These are all good points. Perhaps there could be a base archiver > implementation that shell_archive uses (and that other modules could use if > desired, which might be important for backward compatibility with the > existing callbacks). But if you want to do something fancier than > archiving sequentially, you could write your own. Which is basically the kind of things you can already achieve with a background worker and a module of your own? > In any case, I'm not really wedded to any particular approach at the > moment, so I am likewise open to better ideas. I am not sure how much we should try to move from core into the modules when it comes to the current archiver process, with how much control you'd like to give to users. It also looks like to me that this is the kind of problem where we would not have the correct callback design until someone comes in and develops a solution that would shape around it. On top of that, this is the kind of things achievable with just a bgworker, and perhaps simpler as the parallel state can just be maintained in it, which is what the archiver process is about at the end? Or were there some restrictions in the bgworker APIs that would not fit with what an archiver process should do? Perhaps these restrictions, if any, are what we'd better try to lift first? -- Michael
Commits
-
Avoid calling proc_exit() in processes forked by system().
- d0e7f95b4845 11.22 landed
- e2e16904224a 12.17 landed
- ac1dfc303d0e 13.13 landed
- 54fc9dca5b10 14.10 landed
- c9265ae80b6a 15.5 landed
- ee06199fcb0a 16.1 landed
- 97550c071197 17.0 landed
-
Move extra code out of the Pre/PostRestoreCommand() section.
- 882e522d6468 15.5 landed
- d1c56ad37b96 16.1 landed
- 8fb13dd6ab5b 17.0 landed
-
Revert refactoring of restore command code to shell_restore.c
- 2f6e15ac93c5 16.0 landed
-
Refactor code in charge of running shell-based recovery commands
- 9a740f81eb02 16.0 cited
-
Clean up inconsistent use of fflush().
- 7fed801135ba 16.0 cited
-
Report wait events for local shell commands like archive_command.
- 1b06d7bac901 15.0 cited