Re: Proposal: Progressive explain - Mailing list pgsql-hackers

From Rafael Thofehrn Castro
Subject Re: Proposal: Progressive explain
Date
Msg-id CAG0ozMo4eaJJqqiHP7dHXm=u8vK-qqxo5Q1DVu=amHisZiX5_g@mail.gmail.com
Whole thread Raw
In response to Re: Proposal: Progressive explain  (Rafael Thofehrn Castro <rafaelthca@gmail.com>)
List pgsql-hackers
 
Implementation of the new GUC progressive_explain_min_duration was done with
timeouts. The timeout callback function is used to initialize the progressive
explain.

There is a catch to this implementation. In thread https://www.postgresql.org/message-id/flat/d68c3ae31672664876b22d2dcbb526d2%40postgrespro.ru
where torikoshia proposes logging of query plans it was raised concerns about
logging plans in the CFI, a sensible part of the code. So torikoshia implemented
a smart workaround consisting in adjusting the execProcNode wrapper of all nodes
so that the plan printing can be done there.

I'm not sure if this same concern applies to timeout callbacks so I also implemented
a second version of the latest patch that uses that execProcNode wrapper strategy.

The wrapper code was implemented by torikoshia (torikoshia@oss.nttdata.com), so
adding the credits here.

Did additional benchmarks and found issues with the patch that doesn't do execProcNode
wrapping. There are sporadic crashes with double free or corruption (top)

So making the patch that uses the wrapper the current one. Again, giving the credits to
torikoshia as being the owner of that section of the code.

Rafael.
Attachment

pgsql-hackers by date:

Previous
From: Melanie Plageman
Date:
Subject: Re: Log connection establishment timings
Next
From: Nathan Bossart
Date:
Subject: Re: strange valgrind reports about wrapper_handler on 64-bit arm