Skip to content

Commit 6a8e801

Browse files
michaelpqhopebo
authored andcommitted
Add information about "generation" when dropping twice pgstats entry
Dropping twice a pgstats entry should not happen, and the error report generated was missing the "generation" counter (tracking when an entry is reused) that has been added in 818119afccd3. Like d92573adcb02, backpatch down to v15 where this information is useful to have, to gather more information from instances where the problem shows up. A report has shown that this error path has been reached on a standby based on 17.3, for a relation stats entry and an OID close to wraparound. Author: Bertrand Drouvot <[email protected]> Discussion: https://postgr.es/m/CAN4RuQvYth942J2+FcLmJKgdpq6fE5eqyFvb_PuskxF2eL=Wzg@mail.gmail.com Backpatch-through: 15 (cherry picked from commit bdda6ba30cbef00a6eddbe9f956a7b82bb2c7720)
1 parent aa3a69a commit 6a8e801

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/backend/utils/activity/pgstat_shmem.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -838,10 +838,11 @@ pgstat_drop_entry_internal(PgStatShared_HashEntry *shent,
838838
*/
839839
if (shent->dropped)
840840
elog(ERROR,
841-
"trying to drop stats entry already dropped: kind=%s dboid=%u objoid=%u refcount=%u",
841+
"trying to drop stats entry already dropped: kind=%s dboid=%u objoid=%u refcount=%u generation=%u",
842842
pgstat_get_kind_info(shent->key.kind)->name,
843843
shent->key.dboid, shent->key.objoid,
844-
pg_atomic_read_u32(&shent->refcount));
844+
pg_atomic_read_u32(&shent->refcount),
845+
pg_atomic_read_u32(&shent->generation));
845846
shent->dropped = true;
846847

847848
/* release refcount marking entry as not dropped */

0 commit comments

Comments
 (0)