mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
Fix possible crash reading pg_stat_activity.
With the old code, a backend that read pg_stat_activity without ever having executed a parallel query might see a backend in the midst of executing one waiting on a DSA LWLock, resulting in a crash. The solution is for backends to register the tranche at startup time, not the first time a parallel query is executed. Report by Andreas Seltenreich. Patch by me, reviewed by Thomas Munro.
This commit is contained in:
@ -486,7 +486,6 @@ ExecInitParallelPlan(PlanState *planstate, EState *estate, int nworkers)
|
||||
shm_toc_insert(pcxt->toc, PARALLEL_KEY_DSA, area_space);
|
||||
pei->area = dsa_create_in_place(area_space, dsa_minsize,
|
||||
LWTRANCHE_PARALLEL_QUERY_DSA,
|
||||
"parallel_query_dsa",
|
||||
pcxt->seg);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user