Re: Wrong results from Parallel Hash Full Join

Поиск
Список
Период
Сортировка
От Justin Pryzby
Тема Re: Wrong results from Parallel Hash Full Join
Дата
Msg-id ZECKP5NwoDGT3+RN@telsasoft.com
обсуждение исходный текст
Ответ на Re: Wrong results from Parallel Hash Full Join  (Andres Freund <andres@anarazel.de>)
Ответы Re: Wrong results from Parallel Hash Full Join
Список pgsql-hackers
On Wed, Apr 19, 2023 at 12:20:51PM -0700, Andres Freund wrote:
> On 2023-04-19 12:16:24 -0500, Justin Pryzby wrote:
> > On Wed, Apr 19, 2023 at 11:17:04AM -0400, Melanie Plageman wrote:
> > > Ultimately this is probably fine. If we wanted to modify one of the
> > > existing tests to cover the multi-batch case, changing the select
> > > count(*) to a select * would do the trick. I imagine we wouldn't want to
> > > do this because of the excessive output this would produce. I wondered
> > > if there was a pattern in the tests for getting around this.
> > 
> > You could use explain (ANALYZE).  But the output is machine-dependant in
> > various ways (which is why the tests use "explain analyze so rarely).
> 
> I think with sufficient options it's not machine specific.

It *can* be machine specific depending on the node type..

In particular, for parallel workers, it shows "Workers Launched: ..",
which can vary even across executions on the same machine.  And don't
forget about "loops=".

Plus:
src/backend/commands/explain.c: "Buckets: %d  Batches: %d  Memory Usage: %ldkB\n",

> We have a bunch of
>  EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) ..
> in our tests.

There's 81 uses of "timing off", out of a total of ~1600 explains.  Most
of them are in partition_prune.sql.  explain analyze is barely used.

I sent a patch to elide the machine-specific parts, which would make it
easier to use.  But there was no interest.

-- 
Justin



В списке pgsql-hackers по дате отправления:

Предыдущее
От: David Gilman
Дата:
Сообщение: Re: Note new NULLS NOT DISTINCT on unique index tutorial page
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: Remove io prefix from pg_stat_io columns