Re: Avoid call MaintainOldSnapshotTimeMapping, if old_snapshot_threshold is disabled.

From: Andres Freund <andres(at)anarazel(dot)de>
To: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Avoid call MaintainOldSnapshotTimeMapping, if old_snapshot_threshold is disabled.
Date: 2021-06-18 01:08:27
Message-ID: 20210618010827.y7prpg6hncibxtxk@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2021-06-17 21:27:15 -0300, Ranier Vilela wrote:
> While another long thread discusses the situation of old_snapshot_threshold,
> I believe we can improve procarray.c by avoiding calling
> MaintainOldSnapshotTimeMapping (src/backend/utils/time/snapmgr.c).
>
> There's a very explicit comment there, which says (line 1866):
> "Never call this function when old snapshot checking is disabled."
>
> Well, assert should never be used to validate a condition that certainly
> occurs at runtime.

I don't see how it can happen at runtime currently?

> Since old_snapshot_threshold is -1, it is disabled, so
> MaintainOldSnapshotTimeMapping doesn't need to be run, right?

It *isn't* run, the caller checks OldSnapshotThresholdActive() first.

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Justin Pryzby 2021-06-18 01:11:01 Re: fdatasync performance problem with large number of DB files
Previous Message Michael Paquier 2021-06-18 00:57:10 Re: Centralizing protective copying of utility statements