On Thu, Aug 6, 2020 at 2:22 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.com> writes: > > On Wed, Aug 5, 2020 at 1:30 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > >> I'm strongly tempted to convert the trailing Assert to an actual > >> test-and-elog, too, but didn't do so here. > > > I was thinking about that, too. +1 for taking that step. > > Will do. > > In the longer term, it's annoying that we have no test methodology > for this other than "manually set a breakpoint here".
One of the methods I see is we can just add some GUC variable for some action injection. basically it adds some code based on the GUC like this; if (shall_delay_planning) { sleep(10) }; AFAIK, MongoDB uses much such technology in their test framework. First it defines the fail point [1], and then does code injection if the fail point is set [2]. At last, during the test it can set a fail point like a GUC, but with more attributes [3]. If that is useful in PG as well and it is not an urgent task, I would like to help in this direction. [1] https://github.com/mongodb/mongo/search?q=MONGO_FAIL_POINT_DEFINE&unscoped_q=MONGO_FAIL_POINT_DEFINE [2] https://github.com/mongodb/mongo/blob/d4e7ea57599b44353b5393afedee8ae5670837b3/src/mongo/db/repl/repl_set_config.cpp#L475 [3] https://github.com/mongodb/mongo/blob/e07c2d29aded5a30ff08b5ce6a436b6ef6f44014/src/mongo/shell/replsettest.js#L1427 If we're going > to allow plan-relevant DDL changes to happen with less than full table > lock, I think we need to improve that. I spent a little bit of time > just now trying to build an isolationtester case for this, and failed > completely. So I wonder if we can create some sort of test module that > allows capture of a plan tree and then execution of that plan tree later > (even after relcache inval would normally have forced replanning). > Obviously that could not be a normal SQL-accessible feature, because > some types of invals would make the plan completely wrong, but for > testing purposes it'd be mighty helpful to check that a stale plan > still works. > > regards, tom lane > > > -- Best Regards Andy Fan