From: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
---|---|
To: | Daniel Gustafsson <daniel(at)yesql(dot)se> |
Cc: | Noah Misch <noah(at)leadboat(dot)com>, John Naylor <john(dot)naylor(at)enterprisedb(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Ian Lawrence Barwick <barwick(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Anastasia Lubennikova <lubennikovaav(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Peter Geoghegan <pg(at)bowt(dot)ie> |
Subject: | Re: Testing autovacuum wraparound (including failsafe) |
Date: | 2023-11-28 02:00:53 |
Message-ID: | CAD21AoBUgppMyu5ExLWOfZaBOySsv+v3LF7Mu836Bo=ACqHKJQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Nov 27, 2023 at 10:40 PM Daniel Gustafsson <daniel(at)yesql(dot)se> wrote:
>
> > On 27 Nov 2023, at 14:06, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
>
> > Is it true that we can modify the timeout after creating
> > BackgroundPsql object? If so, it seems we don't need to introduce the
> > new timeout argument. But how?
>
> I can't remember if that's leftovers that incorrectly remains from an earlier
> version of the BackgroundPsql work, or if it's a very bad explanation of
> ->set_query_timer_restart(). The timeout will use the timeout_default value
> and that cannot be overridden, it can only be reset per query.
Thank you for confirming this. I see there is the same problem also in
interactive_psql(). So I've attached the 0001 patch to fix these
documentation issues. Which could be backpatched.
> With your patch the timeout still cannot be changed, but at least set during
> start which seems good enough until there are tests warranting more complexity.
> The docs should be corrected to reflect this in your patch.
I've incorporated the comments except for the following one and
attached updated version of the rest patches:
On Fri, Sep 29, 2023 at 7:20 PM vignesh C <vignesh21(at)gmail(dot)com> wrote:
> Few comments:
> 1) Should we have some validation for the inputs given:
> +PG_FUNCTION_INFO_V1(consume_xids_until);
> +Datum
> +consume_xids_until(PG_FUNCTION_ARGS)
> +{
> + FullTransactionId targetxid =
> FullTransactionIdFromU64((uint64) PG_GETARG_INT64(0));
> + FullTransactionId lastxid;
> +
> + if (!FullTransactionIdIsNormal(targetxid))
> + elog(ERROR, "targetxid %llu is not normal", (unsigned
> long long) U64FromFullTransactionId(targetxid));
>
> If not it will take inputs like -1 and 999999999999999.
> Also the notice messages might confuse for the above values, as it
> will show a different untilxid value like the below:
> postgres=# SELECT consume_xids_until(999999999999999);
> NOTICE: consumed up to 0:10000809 / 232830:2764472319
The full transaction ids shown in the notice messages are separated
into epoch and xid so it's not a different value. This epoch-and-xid
style is used also in pg_controldata output and makes sense to me to
show the progress of xid consumption.
Once the new test gets committed, I'll prepare a new buildfarm animal
for that if possible.
Regards,
--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com
Attachment | Content-Type | Size |
---|---|---|
v6-0001-fix-wrong-description-of-BackgroundPsql-s-timeout.patch | application/octet-stream | 1.5 KB |
v6-0003-Add-tests-for-XID-wraparound.patch | application/octet-stream | 23.7 KB |
v6-0002-Add-option-to-specify-timeout-seconds-to-Backgrou.patch | application/octet-stream | 3.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | jian he | 2023-11-28 02:00:56 | Re: remaining sql/json patches |
Previous Message | Tom Lane | 2023-11-28 01:32:28 | Re: SSL tests fail on OpenSSL v3.2.0 |