From 0866e8252f2038f3fdbd9cfabb214461689210df Mon Sep 17 00:00:00 2001 From: Bertrand Drouvot Date: Tue, 14 May 2024 09:10:50 +0000 Subject: [PATCH v2] Log details for stats dropped more than once Adding errdetail_internal() in pgstat_drop_entry_internal() to display the PgStat_HashKey and the entry's refcount when the "can only drop stats once" error is reported. --- src/backend/utils/activity/pgstat_shmem.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 100.0% src/backend/utils/activity/ diff --git a/src/backend/utils/activity/pgstat_shmem.c b/src/backend/utils/activity/pgstat_shmem.c index 91591da395..0595c08d6e 100644 --- a/src/backend/utils/activity/pgstat_shmem.c +++ b/src/backend/utils/activity/pgstat_shmem.c @@ -785,7 +785,12 @@ pgstat_drop_entry_internal(PgStatShared_HashEntry *shent, * backends to release their references. */ if (shent->dropped) - elog(ERROR, "can only drop stats once"); + ereport(ERROR, + errmsg("can only drop stats once"), + errdetail_internal("Stats kind=%s dboid=%u objoid=%u refcount=%u.", + pgstat_get_kind_info(shent->key.kind)->name, + shent->key.dboid, shent->key.objoid, + pg_atomic_read_u32(&shent->refcount))); shent->dropped = true; /* release refcount marking entry as not dropped */ -- 2.34.1