Re: BUG #18158: Assert in pgstat_report_stat() fails when a backend shutting down with stats pending
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Xuneng Zhou <xunengzhou@gmail.com>
Cc: Alexander Lakhin <exclusion@gmail.com>, pgsql-bugs@lists.postgresql.org
Date: 2026-06-05T02:14:31Z
Lists: pgsql-bugs
Attachments
- 0001-Lift-shutdown-assertion-in-pgstats-for-WAL-senders.patch (text/plain) patch 0001
On Thu, May 14, 2026 at 03:19:34PM +0800, Xuneng Zhou wrote: > I agree that applying the change wholesale could be too invasive. If > we decide not to address the ordering issue, removing this assertion > seems reasonable, since the non-assert path does not actually provide > the required guarantee. Attached is a patch for 15~17 that is able to achieve this goal: - Lift the assertion on shutdown for WAL senders, but keep it everywhere else. - Secondary trick in pgstat_shutdown_hook to cope with the fact that some stats make still be around at shutdown for a WAL sender. I cannot reproduce the failure re-using the trick sent by Alexander at the top of the thread. Thoughts or objections? -- Michael
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Lift shutdown assertion in pgstats for WAL senders
- eeed86523bb9 15 (unreleased) landed
- 830b476d0bea 16 (unreleased) landed
- 4801610f7c66 17 (unreleased) landed