]> granicus.if.org Git - postgresql/commit
Fix accumulation of parallel worker instrumentation.
authorRobert Haas <rhaas@postgresql.org>
Tue, 5 Dec 2017 19:35:33 +0000 (14:35 -0500)
committerRobert Haas <rhaas@postgresql.org>
Tue, 5 Dec 2017 19:35:33 +0000 (14:35 -0500)
commit2c09a5c12a66087218c7f8cba269cd3de51b9b82
tree952f7dc04e00e3226f2fc272b2107dec6b2061ff
parent5bcf389ecfd40daf92238e1abbff4fc4d3f18b33
Fix accumulation of parallel worker instrumentation.

When a Gather or Gather Merge node is started and stopped multiple
times, the old code wouldn't reset the shared state between executions,
potentially resulting in dramatically inflated instrumentation data
for nodes beneath it.  (The per-worker instrumentation ended up OK,
I think, but the overall totals were inflated.)

Report by hubert depesz lubaczewski.  Analysis and fix by Amit Kapila,
reviewed and tweaked a bit by me.

Discussion: http://postgr.es/m/20171127175631.GA405@depesz.com
src/backend/executor/execParallel.c
src/test/regress/expected/select_parallel.out
src/test/regress/sql/select_parallel.sql