| From: | Daniel Gustafsson <daniel(at)yesql(dot)se> |
|---|---|
| To: | Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com> |
| Cc: | Alexander Lakhin <exclusion(at)gmail(dot)com>, Tomas Vondra <tomas(at)vondra(dot)me>, "Jonathan Gonzalez V(dot)" <jonathan(dot)abdiel(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: datachecksums: handle invalid and dropped databases during enable |
| Date: | 2026-08-18 22:12:07 |
| Message-ID: | B8AA1FC9-0F96-4A37-84E8-B425DDBD192A@yesql.se |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
> On 18 Aug 2026, at 11:11, Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com> wrote:
>
> Thanks for the report and analysis!
Indeed, thanks Alexander! Stellar work as always.
> 0001 fixes the test. The background session now uses
> synchronous_commit = off, so its exit-time commit does not flush at
> all, and the test checkpoints right before the DROP so the few
> remaining exit-time WAL inserts cannot queue behind a large backlog.
Thanks for the patch, I agree with your fix and have tested it extensively
locally and in CI. After staring at it a bit more, I pushed and backpatched
it.
> 0002 makes the launcher retry the database in this situation. The
> worker records in shared memory when it is terminated by SIGTERM, and
> if the database still exists the launcher starts a new worker for it
> instead of aborting.
> A worker failing still aborts the operation as before, and canceling
> the launcher also still works.
I'm not entirely convinced about the UX around user termination of the worker
so need more time pondering on this one.
--
Daniel Gustafsson
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Daniel Gustafsson | 2026-08-18 22:13:33 | Re: pg_control_checkpoint(): add "data_checksum_version" (Pg19)? |
| Previous Message | Tom Lane | 2026-08-18 21:58:03 | Re: Residual cleanups for tied objects in PL/Perl |