Re: Introduce XID age and inactive timeout based replication slot invalidation

From: Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Peter Smith <smithpb2250(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, Ajin Cherian <itsajin(at)gmail(dot)com>, Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Nathan Bossart <nathandbossart(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Introduce XID age and inactive timeout based replication slot invalidation
Date: 2024-12-24 11:36:55
Message-ID: CABdArM4wO2gPfcjrFWWL=D18PyFeWJZJcJGY3uJMzqL+4LDGpw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Dec 20, 2024 at 3:12 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:

> On Mon, Dec 16, 2024 at 4:10 PM Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>
> wrote:
> >
> > Here is the v56 patch set with the above comments incorporated.
> >
>
> Review comments:
> ===============
> 1.
> + {
> + {"idle_replication_slot_timeout", PGC_SIGHUP, REPLICATION_SENDING,
> + gettext_noop("Sets the duration a replication slot can remain idle
> before "
> + "it is invalidated."),
> + NULL,
> + GUC_UNIT_MS
> + },
> + &idle_replication_slot_timeout_ms,
>
> I think users are going to keep idele_slot timeout at least in hours.
> So, millisecond seems the wrong choice to me. I suggest to keep the
> units in minutes. I understand that writing a test would be
> challenging as spending a minute or more on one test is not advisable.
> But I don't see any test testing the other GUCs that are in minutes
> (wal_summary_keep_time and log_rotation_age). The default value should
> be one day.
>

+1
- Changed the GUC unit to "minute".

Regarding the tests, we have two potential options:
1) Introduce an additional "debug_xx" GUC parameter with units of seconds
or milliseconds, only for testing purposes.
2) Skip writing tests for this, similar to other GUCs with units in
minutes.

IMO, adding an additional GUC just for testing may not be worthwhile. It's
reasonable to proceed without the test.

Thoughts?

The attached v57 patch-set addresses all the comments. I have kept the test
case in the patch for now, it takes 2-3 minutes to complete.

--
Thanks,
Nisha

Attachment Content-Type Size
v57-0001-Enhance-replication-slot-error-handling-slot-inv.patch application/octet-stream 11.3 KB
v57-0002-Introduce-inactive_timeout-based-replication-slo.patch application/octet-stream 29.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message wenhui qiu 2024-12-24 11:57:53 Re: transaction lost when delete clog file after normal shutdown
Previous Message Ranier Vilela 2024-12-24 10:25:37 Re: Exists pull-up application with JoinExpr