Re: old_snapshot_threshold bottleneck on replica

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Maxim Orlov <orlovmg(at)gmail(dot)com>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: old_snapshot_threshold bottleneck on replica
Date: 2023-06-14 03:56:46
Message-ID: CA+hUKGJSoVQF1V2O5cidpQihVEFtOT7L5C6C0hRMj6wjLgxK1Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Feb 14, 2023 at 9:45 AM Andres Freund <andres(at)anarazel(dot)de> wrote:
> On 2023-01-24 10:46:28 -0500, Robert Haas wrote:
> > On Mon, Jan 23, 2023 at 9:40 AM Maxim Orlov <orlovmg(at)gmail(dot)com> wrote:
> > > One of our customers stumble onto a significant performance degradation while running multiple OLAP-like queries on a replica.
> > > After some investigation, it became clear that the problem is in accessing old_snapshot_threshold parameter.
> >
> > It has been suggested that we remove that feature entirely.
>
> Indeed. There's a lot of things wrong with it. We have reproducers for
> creating wrong query results. Nobody has shown interest in fixing the
> problems, for several years by now. It costs users that *do not* use the
> feature performance (*).
>
> I think we're doing our users a disservice by claiming to have this feature.
>
> I don't think a lot of the existing code would survive if we were to create a
> newer version, more maintainable / reliable, version of the feature.

I raised this at the recent developer meeting and the assembled
hackers agreed. Does anyone think we *shouldn't* drop the feature? I
volunteered to write a removal patch for v17, so here's a first run
through to find all the traces of this feature. In this first go I
removed everything I could think of, but we might want to keep some
vestiges. I guess we might want to keep the registered error
class/code? Should we invent a place where we keep stuff like #define
TestForOldSnapshot(...) expanding to nothing for some amount of time,
for extensions? I dunno, I bet extensions doing stuff that
sophisticated already have a bunch of version tests anyway. I suppose
keeping the GUC wouldn't really be helpful (if you're using it, you
probably want to know that it isn't available anymore and think about
the implications for your application).

Attachment Content-Type Size
0001-Remove-old_snapshot_threshold.patch text/x-patch 83.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2023-06-14 04:17:24 Re: [DOC] Update ALTER SUBSCRIPTION documentation v3
Previous Message Peter Smith 2023-06-14 03:54:46 Re: [DOC] Update ALTER SUBSCRIPTION documentation v3