Re: parallel mode and parallel contexts

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: parallel mode and parallel contexts
Date: 2015-01-07 17:33:56
Message-ID: CA+TgmoZfkKWoMmcy3RUT43YwzGW8BEf2Opzc3_+wwzV99gSoWw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jan 7, 2015 at 10:34 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> Yes, I didn't mean to suggest the confusion was introduced by you -
> it's just you stepped into the mess by correctly using the word top in
> a place where its meaning would be opposite to the close-by usage of
> TopTransaction.
>
> Anyway, feeling good about this now. Thanks for your patience.

Thanks for the kind words, and the review. Here's a new version with
a much-expanded README and some other changes to the comments to
hopefully address some of your other concerns. I also fixed a couple
of other problems while I was at it: the comments in xact.c claimed
that parallel shutdown waits for workers to exit, but parallel.c
didn't know anything about that. Also, I fixed it so that when an
error is propagated from the parallel worker to the user backend, the
error context in effect at the time the parallel context was created
is used, rather than whatever is in effect when we notice the error.

I have little doubt that this version is still afflicted with various
bugs, and the heavyweight locking issue remains to be dealt with, but
on the whole I think this is headed in the right direction.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachment Content-Type Size
parallel-mode-v0.4.patch text/x-patch 122.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mike Blackwell 2015-01-07 18:51:49 Re: [PATCH] explain sortorder
Previous Message Marko Tiikkaja 2015-01-07 17:28:41 Re: HINTing on UPDATE foo SET foo.bar = ..;