From: Noah Misch <noah@leadboat.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Cc: Michael Paquier <michael@paquier.xyz>
Cc: Peter Geoghegan <pg@bowt.ie>
Cc: Andres Freund <andres@anarazel.de>
Subject: Re: conchuela timeouts since 2021-10-09 system upgrade
Date: Tue, 26 Oct 2021 20:01:44 -0700
Message-ID: <20211027030144.GA152505@rfd.leadboat.com> (raw)
In-Reply-To: <139687.1635277318@sss.pgh.pa.us>
References: <64835CF9-D9AA-49BF-A685-01C23B1023C1@yandex-team.ru>
<20211024161942.GB3945842@rfd.leadboat.com>
<640FA6DC-A998-4499-B3B4-2773685B8C56@yandex-team.ru>
<3792312.1635119599@sss.pgh.pa.us>
<B5CC4C8F-1B73-4359-AF68-26A08A17BCD1@yandex-team.ru>
<4170532.1635195582@sss.pgh.pa.us>
<20211026015157.GA113335@rfd.leadboat.com>
<52098.1635228234@sss.pgh.pa.us>
<20211026134500.GA128912@rfd.leadboat.com>
<139687.1635277318@sss.pgh.pa.us>
On Tue, Oct 26, 2021 at 03:41:58PM -0400, Tom Lane wrote:
> Noah Misch <noah@leadboat.com> writes:
> > On Tue, Oct 26, 2021 at 02:03:54AM -0400, Tom Lane wrote:
> >> Or more
> >> practically, use advisory locks in that script to enforce that only one
> >> runs at once.
>
> > The author did try that.
>
> Ah, I see: if the other pgbench thread is waiting in pg_advisory_lock,
> then it is inside a transaction, so it blocks CIC from completing.
> We can get around that though, by using pg_try_advisory_lock and not
> proceeding if it fails.
Good thought.
> The attached POC does this for the 002 test;
> it looks like the same thing could be done to 003.
>
> Now the problem with this is it will only work back to v12, because
> pgbench lacks the necessary features before that. However, I think
> it's worth doing it like this in versions where we can do so, because
> of the load-balancing aspect: this won't waste cycles running CICs
> after the inserts have stopped, nor vice versa.
>
> Thoughts?
I tried it out with the fix removed (git checkout fdd965d; git checkout HEAD^
src/include src/backend; git apply CIC-test-with-one-pgbench.patch).
Sensitivity (~25%) and runtime (~900ms) were in the same ballpark. Still,
even if it doesn't buy back notable cycles, the test code seems easier to read
and understand with your change.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: noah@leadboat.com, tgl@sss.pgh.pa.us, x4mmm@yandex-team.ru, pgsql-bugs@lists.postgresql.org, michael@paquier.xyz, pg@bowt.ie, andres@anarazel.de
Subject: Re: conchuela timeouts since 2021-10-09 system upgrade
In-Reply-To: <20211027030144.GA152505@rfd.leadboat.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox