Re: Parallel Seq Scan - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Parallel Seq Scan
Date
Msg-id CAA4eK1K3bBxo845K3xF9SrAmB0vO0Uh8x7kOwBQoq0rj3p48Jw@mail.gmail.com
Whole thread Raw
In response to Re: Parallel Seq Scan  (Haribabu Kommi <kommi.haribabu@gmail.com>)
List pgsql-hackers
On Fri, Oct 16, 2015 at 8:40 AM, Haribabu Kommi <kommi.haribabu@gmail.com> wrote:
>
> On Thu, Oct 15, 2015 at 11:45 PM, Amit Kapila <amit.kapila16@gmail.com> wrote:
> > On Thu, Oct 15, 2015 at 5:39 PM, Haribabu Kommi <kommi.haribabu@gmail.com>
> > wrote:
> >>
> >
> > I am aware of that and purposefully kept it for a consecutive patch.
> > There are other things as well which I have left out from this patch
> > and those are:
> > a. Early stop of executor for Rescan purpose
> > b. Support of pushdown for plans containing InitPlan and SubPlans
> >
> > Then there is more related work like
> > a. Support for prepared statements
> >
>
> OK.
>
> During the test with latest patch, I found a dead lock between worker
> and backend
> on relation lock. To minimize the test scenario, I changed the number
> of pages required
> to start one worker to 1 and all parallel cost parameters as zero.
>
> Backend is waiting for the tuples from workers, workers are waiting on
> lock of relation.
>

The main reason is that we need some heavyweight lock handling so that
workers shouldn't wait for locks acquired by master-backend either by
group locking or something else, the work for which is already in-progress.

You can refer 0004-Partial-group-locking-implementation.patch in mail [1]
sent by Robert to fix few parallelism related issues.  For this kind of issues,
that patch will be sufficient, but we still need more work in deadlock, so
you still might see few issues in that area.

Thanks for your continuous effort on this patch both by review as well as by
testing it.


pgsql-hackers by date:

Previous
From: Craig Ringer
Date:
Subject: Re: PATCH: 9.5 replication origins fix for logical decoding
Next
From: Pavel Stehule
Date:
Subject: Re: [PATCH] SQL function to report log message