Re: [HACKERS] Moving relation extension locks out of heavyweight lock manager

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: Alex Ignatov <a(dot)ignatov(at)postgrespro(dot)ru>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Michael Paquier <michael(at)paquier(dot)xyz>, Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] Moving relation extension locks out of heavyweight lock manager
Date: 2018-05-22 01:30:44
Message-ID: CAD21AoBn8WbOt21MFfj1mQmL2ZD8KVgMHYrOe1F5ozsQC4Z_hw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, May 22, 2018 at 12:05 AM, Alex Ignatov <a(dot)ignatov(at)postgrespro(dot)ru> wrote:
>
>
> --
> Alex Ignatov
> Postgres Professional: http://www.postgrespro.com
> The Russian Postgres Company
>
> -----Original Message-----
> From: Alex Ignatov <a(dot)ignatov(at)postgrespro(dot)ru>
> Sent: Monday, May 21, 2018 6:00 PM
> To: 'Robert Haas' <robertmhaas(at)gmail(dot)com>; 'Andres Freund' <andres(at)anarazel(dot)de>
> Cc: 'Masahiko Sawada' <sawada(dot)mshk(at)gmail(dot)com>; 'Michael Paquier' <michael(at)paquier(dot)xyz>; 'Mithun Cy' <mithun(dot)cy(at)enterprisedb(dot)com>; 'Tom Lane' <tgl(at)sss(dot)pgh(dot)pa(dot)us>; 'Thomas Munro' <thomas(dot)munro(at)enterprisedb(dot)com>; 'Amit Kapila' <amit(dot)kapila16(at)gmail(dot)com>; 'PostgreSQL-development' <pgsql-hackers(at)postgresql(dot)org>
> Subject: RE: [HACKERS] Moving relation extension locks out of heavyweight lock manager
>
>
>
>
> -----Original Message-----
> From: Robert Haas <robertmhaas(at)gmail(dot)com>
> Sent: Thursday, April 26, 2018 10:25 PM
> To: Andres Freund <andres(at)anarazel(dot)de>
> Cc: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>; Michael Paquier <michael(at)paquier(dot)xyz>; Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com>; Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>; Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>; Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>; PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
> Subject: Re: [HACKERS] Moving relation extension locks out of heavyweight lock manager
>
> On Thu, Apr 26, 2018 at 3:10 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
>>> I think the real question is whether the scenario is common enough to
>>> worry about. In practice, you'd have to be extremely unlucky to be
>>> doing many bulk loads at the same time that all happened to hash to
>>> the same bucket.
>>
>> With a bunch of parallel bulkloads into partitioned tables that really
>> doesn't seem that unlikely?
>
> It increases the likelihood of collisions, but probably decreases the number of cases where the contention gets really bad.
>
> For example, suppose each table has 100 partitions and you are bulk-loading 10 of them at a time. It's virtually certain that you will have some collisions, but the amount of contention within each bucket will remain fairly low because each backend spends only 1% of its time in the bucket corresponding to any given partition.
>
> --
> Robert Haas
> EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
>
> Hello!
> I want to try to test this patch on 302(704 ht) core machine.
>
> Patching on master (commit 81256cd05f0745353c6572362155b57250a0d2a0) is ok but got some error while compiling :

Thank you for reporting.
Attached an rebased patch with current HEAD.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Attachment Content-Type Size
extension-lock-v13.patch application/octet-stream 43.7 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro HORIGUCHI 2018-05-22 01:51:03 Re: [doc fix] Add operation of freeing output SQLDA
Previous Message Kyotaro HORIGUCHI 2018-05-22 01:28:14 Re: Problem while updating a foreign table pointing to a partitioned table on foreign server