From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
Cc: | Melanie Plageman <melanieplageman(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Parallel Full Hash Join |
Date: | 2020-12-29 02:28:12 |
Message-ID: | CA+hUKG+hTSJFVz6o_vK7O_u_e9L_GtXyLqLYAvr-atU=WqxySg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Dec 28, 2020 at 9:49 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> On Thu, Nov 5, 2020 at 7:34 AM Melanie Plageman
> <melanieplageman(at)gmail(dot)com> wrote:
> > I've attached a patch with the corrections I mentioned upthread.
> > I've gone ahead and run pgindent, though, I can't say that I'm very
> > happy with the result.
> >
> > I'm still not quite happy with the name
> > BarrierArriveAndDetachExceptLast(). It's so literal. As you said, there
> > probably isn't a nice name for this concept, since it is a function with
> > the purpose of terminating parallelism.
>
> You sent in your patch, v3-0001-Support-Parallel-FOJ-and-ROJ.patch to
> pgsql-hackers on Nov 5, but you did not post it to the next
> CommitFest[1]. If this was intentional, then you need to take no
> action. However, if you want your patch to be reviewed as part of the
> upcoming CommitFest, then you need to add it yourself before
> 2021-01-01 AOE[2]. Also, rebasing to the current HEAD may be required
> as almost two months passed since when this patch is submitted. Thanks
> for your contributions.
Thanks for this reminder Sawada-san. I had some feedback I meant to
post in November but didn't get around to:
+bool
+BarrierArriveAndDetachExceptLast(Barrier *barrier)
I committed this part (7888b099). I've attached a rebase of the rest
of Melanie's v3 patch.
+ WAIT_EVENT_HASH_BATCH_PROBE,
That new wait event isn't needed (we can't and don't wait).
* PHJ_BATCH_PROBING -- all probe
- * PHJ_BATCH_DONE -- end
+
+ * PHJ_BATCH_DONE -- queries not requiring inner fill done
+ * PHJ_BATCH_FILL_INNER_DONE -- inner fill completed, all queries done
Would it be better/tidier to keep _DONE as the final phase? That is,
to switch around these two final phases. Or does that make it too
hard to coordinate the detach-and-cleanup logic?
+/*
+ * ExecPrepHashTableForUnmatched
+ * set up for a series of ExecScanHashTableForUnmatched calls
+ * return true if this worker is elected to do the
unmatched inner scan
+ */
+bool
+ExecParallelPrepHashTableForUnmatched(HashJoinState *hjstate)
Comment name doesn't match function name.
Attachment | Content-Type | Size |
---|---|---|
v4-0001-Parallel-Hash-Full-Right-Join.patch | text/x-patch | 24.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-12-29 03:20:51 | Let's start using setenv() |
Previous Message | Thomas Munro | 2020-12-29 00:59:58 | Re: doc review for v14 |