From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Cc: | Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com> |
Subject: | XX000: tuple concurrently deleted during DROP STATISTICS |
Date: | 2023-11-08 15:10:51 |
Message-ID: | ZUuk-8CfbYeq6g_u@pryzbyj2023 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I found this in our logs, and reproduced it under v11-v16.
CREATE TABLE t(a int, b int);
INSERT INTO t SELECT generate_series(1,999);
CREATE STATISTICS t_stats ON a,b FROM t;
while :; do psql postgres -qtxc "ANALYZE t"; done &
while :; do psql postgres -qtxc "begin; DROP STATISTICS t_stats"; done &
It's known that concurrent DDL can hit elog(). But in this case,
there's only one DDL operation.
(gdb) bt
#0 0x00000000009442a0 in pg_re_throw ()
#1 0x0000000000943504 in errfinish ()
#2 0x00000000004fcafe in simple_heap_delete ()
#3 0x0000000000639d3f in RemoveStatisticsDataById ()
#4 0x0000000000639d79 in RemoveStatisticsById ()
#5 0x000000000057a428 in deleteObjectsInList ()
#6 0x000000000057a8f0 in performMultipleDeletions ()
#7 0x000000000060b5ed in RemoveObjects ()
#8 0x00000000008099ce in ProcessUtilitySlow.isra.1 ()
#9 0x0000000000808c71 in standard_ProcessUtility ()
#10 0x00007efbfed7a508 in pgss_ProcessUtility () from /usr/pgsql-16/lib/pg_stat_statements.so
#11 0x000000000080745a in PortalRunUtility ()
#12 0x0000000000807579 in PortalRunMulti ()
#13 0x00000000008079dc in PortalRun ()
#14 0x0000000000803927 in exec_simple_query ()
#15 0x0000000000803f28 in PostgresMain ()
#16 0x000000000077bae6 in ServerLoop ()
#17 0x000000000077cbaa in PostmasterMain ()
#18 0x00000000004ba788 in main ()
--
Justin
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2023-11-08 15:19:51 | Re: meson documentation build open issues |
Previous Message | Alexander Lakhin | 2023-11-08 15:00:00 | Re: Cleaning up array_in() |