On Thu, Dec 21, 2017 at 10:18 AM, Robert Haas <robertmh...@gmail.com> wrote: > If I run the regression tests with force_parallel_mode=on prior to the > parallel hash join patch, they pass. If I run them now, they fail > inside the parallel hash join tests here: > > create table wide as select generate_series(1, 2) as id, rpad('', > 320000, 'x') as t; > > I'm guessing that test case would have failed before, too, but we > didn't have it. I'll analyze this further in a bit.
I think this is just a poorly-written assertion. currentCommandIdUsed is only used to skip redundant increments of the command counter, and CommandCounterIncrement() is categorically denied under parallelism anyway. Therefore, it's OK for this to happen in parallel mode; we just need to be in the leader, not the worker. Therefore, I proposed the attached patch, which fixes the regression test crash for me. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
cci-fix.patch
Description: Binary data