Re: error "can only drop stats once" brings down database
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Floris Van Nee <florisvannee@Optiver.com>
Cc: "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2024-05-03T19:32:26Z
Lists: pgsql-bugs
Floris Van Nee <florisvannee@Optiver.com> writes: >> Hmm. This must be coming from pgstat_drop_entry_internal. >> I suspect the correct fix is in pgstat_drop_entry, along the lines of >> >> - if (shent) >> + if (shent && !shent->dropped) >> >> but it's not clear to me how the already-dropped case ought to affect the >> function's bool result. Also, how are we getting into a concurrent-drop >> situation in recovery? > Anyone has further thoughts on this? This still happens occasionally. I was expecting Andres to comment on it eventually. I don't know that code well enough to want to modify it on my own authority, especially not just before a release. One thing that would be safe enough and perhaps useful is to modify the "can only drop stats once" message to provide a little more detail, like the hash key of the problematic entry. That might help us understand what's triggering this. The OIDs would be opaque perhaps, but the PgStat_Kind value seems useful to know. regards, tom lane
Commits
-
Add more debugging information when dropping twice pgstats entry
- 2de059de2c2d 15.8 landed
- 83f415e2d92e 16.4 landed
- d92573adcb02 17.0 landed