Re: explain analyze output with parallel workers - question about meaning of information for explain.depesz.com
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Hubert Lubaczewski <depesz@depesz.com>, pgsql-hackers mailing list <pgsql-hackers@postgresql.org>
Date: 2017-12-05T05:39:56Z
Lists: pgsql-hackers
Attachments
- fix_accum_instr_parallel_workers_v3.patch (application/octet-stream) patch v3
On Mon, Dec 4, 2017 at 11:17 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Sat, Dec 2, 2017 at 8:04 AM, Amit Kapila <amit.kapila16@gmail.com> wrote: >> Attached patch contains regression test as well. Note that I have >> carefully disabled all variable stats by using (analyze, timing off, >> summary off, costs off) and then selected parallel sequential scan on >> the right of join so that we have nloops and rows as variable stats >> and those should remain constant. > > The regression test contains a whitespace error about which git diff > --check complains. > oops, a silly mistake from my side. > Also, looking at this again, shouldn't the reinitialization of the > instrumentation arrays happen in ExecParallelReinitialize rather than > ExecParallelFinish, so that we don't spend time doing it unless the > Gather is actually re-executed? > Yeah, that sounds better, so modified the patch accordingly. I have one another observation in the somewhat related area. From the code, it looks like we might have some problem with displaying sort info for workers for rescans. I think the problem with the sortinfo is that it initializes shared info with local memory in ExecSortRetrieveInstrumentation after which it won't be able to access the values in shared memory changed by workers in rescans. We might be able to fix it by having some local_info same as sahred_info in sort node. But the main problem is how do we accumulate stats for workers across rescans. The type of sort method can change across rescans. We might be able to accumulate the size of Memory though, but not sure if that is right. I think though this appears to be somewhat related to the problem being discussed in this thread, it can be dealt separately if we want to fix it. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Back-port fix for accumulation of parallel worker instrumentation.
- 2157a61b5aa3 9.6.7 landed
-
Test instrumentation of Hash nodes with parallel query.
- 7d3583ad9ae5 11.0 landed
-
Try again to fix accumulation of parallel worker instrumentation.
- 72567f617460 10.2 landed
- 8526bcb2df76 11.0 landed
-
Revert "Fix accumulation of parallel worker instrumentation."
- 7b3f85073c8d 10.2 landed
- 1d6fb35ad629 11.0 landed
-
Fix accumulation of parallel worker instrumentation.
- 778e78ae9fa5 10.2 landed
- 2c09a5c12a66 11.0 landed