Re: global / super barriers (for checksums)
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Daniel Gustafsson <daniel@yesql.se>, Magnus Hagander <magnus@hagander.net>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2019-12-11T17:38:51Z
Lists: pgsql-hackers
Hi, On 2019-12-11 09:12:49 -0500, Robert Haas wrote: > On Mon, Dec 9, 2019 at 7:37 PM Daniel Gustafsson <daniel@yesql.se> wrote: > > I sort of like the callback idea conceptually, but Andres is making a good > > point about the extensibility actually making it harder to reason about. > > That objection doesn't hold any water for me, because this is open > source. People can always patch the core. I just don't buy this argument. There's a difference in between an unpatched version of postgres suddenly potentially running hooks everywhere CFI() etc is called, and some user patching postgres to behave differently. In the former case we'll have to ask to reproduce problems without extension in a lot more cases. For me code like this that runs in pretty low level situations that we've gotten wrong more than once, doesn't benefit by being extensible. We just make things more fragile, and provide traps for extension authors. > If we don't add hooks, then we make life easier for fork maintainers > (including my employer) and harder for extension authors. I think > that's *definitely* the wrong bet for the community to be making; we > should be trying very hard to help extension authors and minimize the > need for forks. If you install an extension that uses a hook, any > hook, and it breaks things, then you get to keep both pieces. But that's just not how it ends up working in a lot of cases? People still report bugs to the list, and the debugging experience of problems where an extension causes crashes-at-a-distance is pretty bad. Greetings, Andres Freund
Commits
-
Online enabling and disabling of data checksums
- f19c0eccae96 19 (unreleased) landed
-
Extend the ProcSignal mechanism to support barriers.
- 16a4e4aecd47 13.0 landed
-
Partially deduplicate interrupt handling for background processes.
- 7dbfea3c455e 13.0 landed
-
Use PostgresSigHupHandler in more places.
- 1e53fe0e70f6 13.0 landed
-
Move interrupt-handling code into subroutines.
- 5910d6c7e311 13.0 landed
-
Use procsignal_sigusr1_handler for auxiliary processes.
- 0d3c3aae3366 13.0 landed