| From: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
|---|---|
| To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
| Cc: | "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, Pradeep Kumar <spradeepkumar29(at)gmail(dot)com>, Alexander Lakhin <exclusion(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, vignesh C <vignesh21(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Assertion failure in SnapBuildInitialSnapshot() |
| Date: | 2025-11-06 18:36:12 |
| Message-ID: | CAD21AoDtcZE0azFscV6MK-jmu8ouUT--ZeEJjiOLBKgDDUkcdQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Thu, Nov 6, 2025 at 2:36 AM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> On Thu, Nov 6, 2025 at 12:03 PM Zhijie Hou (Fujitsu)
> <houzj(dot)fnst(at)fujitsu(dot)com> wrote:
> >
> > On Thursday, October 30, 2025 7:01 AM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> > >
> > >
> > > Also, I think it's worth considering the idea Robert shared before[1]:
> > >
> > > ---
> > > But what about just surgically preventing that?
> > > ProcArraySetReplicationSlotXmin() could refuse to retreat the values,
> > > perhaps? If it computes an older value than what's there, it just does nothing?
> > > ---
> > >
> > > We did a similar fix for confirmed_flush LSN by commit ad5eaf390c582, and it
> > > sounds reasonable to me that ProcArraySetReplicationSlotXmin() refuses to
> > > retreat the values.
> >
> > I reviewed the thread and think that we could not straightforwardly apply a
> > similar strategy to prevent the retreat of xmin/catalog_xmin here. This is
> > because we maintain a central value
> > (replication_slot_xmin/replication_slot_catalog_xmin) in
> > ProcArraySetReplicationSlotXmin, where the value is expected to decrease when
> > certain slots are dropped or invalidated.
> >
>
> Good point. This can happen when the last slot is invalidated or dropped.
After the last slot is invalidated or dropped, both slot_xmin and
slot_catalog_xmin values are set InvalidTransactionId. Then in this
case, these values are ignored when computing the oldest safe decoding
XID in GetOldestSafeDecodingTransactionId(), no? Or do you mean that
there is a case where slot_xmin and slot_catalog_xmin retreat to a
valid XID?
Regards,
--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bryan Green | 2025-11-06 18:53:47 | Re: [PATCH] Fix socket handle inheritance on Windows |
| Previous Message | Corey Huinker | 2025-11-06 18:35:34 | Re: Extended Statistics set/restore/clear functions. |