Re: enable_timeout_every() and fin_time

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org, Lukas Fittl <lukas(at)fittl(dot)com>
Subject: Re: enable_timeout_every() and fin_time
Date: 2023-01-03 18:33:34
Message-ID: CA+TgmobXKreG8=aTmW7bPKk4V=dcS3kFYXLhY_QHMzpNkKPO1w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Jan 1, 2023 at 7:36 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> What is the use case for an absolute start time plus a relative
> interval?

The code snippet that you indicate has the important side effect of
changing the global variable startup_progress_phase_start_time, which
is used by has_startup_progress_timeout_expired. Without the fin_time
argument, the timeout machinery would have to call
GetCurrentTimestamp() separately, and the caller wouldn't know what
answer it got. The result would be that the progress reports would
indicate an elapsed time relative to one timestamp, but the time at
which those progress reports were printed would be relative to a
slightly different timestamp.

Maybe nobody would notice such a minor discrepancy, but I wanted to avoid it.

--
Robert Haas
EDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Garen Torikian 2023-01-03 18:56:49 Re: [PATCH] Expand character set for ltree labels
Previous Message Nathan Bossart 2023-01-03 18:33:24 Re: Simplify standby state machine a bit in WaitForWALToBecomeAvailable()