Thread: Back patch of Remove durable_rename_excl()

Back patch of Remove durable_rename_excl()

From
Nitin Jadhav
Date:
Hi,

I noticed that the corruption issue related to two hardlinks pointing
to the same WAL file has been fixed in the master branch up to version
16 in commit [1]. As a result, the function durable_rename_excl()
became unused and was removed in commit [2]. Since this corruption
issue is occurring in older versions, commit [1] has been backported
for versions 13 to 15 in commit [3]. However, I don't see the
backporting for commit [2]. Is there a specific reason for this? If
not, I would suggest backporting commit [2] for versions 13 to 15 as
well.

[1]: https://github.com/postgres/postgres/commit/dac1ff30906b9cef7859380905d038892b32968b
[2]: https://github.com/postgres/postgres/commit/eb64ceac7ec3422f2370b8824dce62ee8fe52dca
[3]: https://github.com/postgres/postgres/commit/c1c9df3159cfa91416bebe56ae50bc32d8a4e10b

Best Regards,
Nitin Jadhav
Azure Database for PostgreSQL
Microsoft



Re: Back patch of Remove durable_rename_excl()

From
Tom Lane
Date:
Nitin Jadhav <nitinjadhavpostgres@gmail.com> writes:
> I noticed that the corruption issue related to two hardlinks pointing
> to the same WAL file has been fixed in the master branch up to version
> 16 in commit [1]. As a result, the function durable_rename_excl()
> became unused and was removed in commit [2]. Since this corruption
> issue is occurring in older versions, commit [1] has been backported
> for versions 13 to 15 in commit [3]. However, I don't see the
> backporting for commit [2]. Is there a specific reason for this?

Fear of breaking extensions that use the function, perhaps?
We don't like to break ABI in minor releases.

            regards, tom lane



Re: Back patch of Remove durable_rename_excl()

From
Nathan Bossart
Date:
On Mon, Jan 27, 2025 at 09:47:22AM -0500, Tom Lane wrote:
> Nitin Jadhav <nitinjadhavpostgres@gmail.com> writes:
>> I noticed that the corruption issue related to two hardlinks pointing
>> to the same WAL file has been fixed in the master branch up to version
>> 16 in commit [1]. As a result, the function durable_rename_excl()
>> became unused and was removed in commit [2]. Since this corruption
>> issue is occurring in older versions, commit [1] has been backported
>> for versions 13 to 15 in commit [3]. However, I don't see the
>> backporting for commit [2]. Is there a specific reason for this?
> 
> Fear of breaking extensions that use the function, perhaps?
> We don't like to break ABI in minor releases.

Yup [0].  It'd be nice if we could get folks to stop using it, but that
doesn't seem worth the ABI breakage, and from a couple of web searches,
there doesn't seem to be much external use, anyway.  IMHO letting it slowly
phase out as versions go out of support is sufficient in this case.

[0] https://postgr.es/m/20220418182336.GA2298576%40nathanxps13

-- 
nathan



Re: Back patch of Remove durable_rename_excl()

From
Nitin Jadhav
Date:
Thank you for providing the details. I agree to the concern about
breaking extensions that depend on the function. Gradually phasing it
out as versions become unsupported seems like a sensible approach.

Best Regards,
Nitin Jadhav
Azure Database for PostgreSQL
Microsoft

On Mon, Jan 27, 2025 at 8:43 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
>
> On Mon, Jan 27, 2025 at 09:47:22AM -0500, Tom Lane wrote:
> > Nitin Jadhav <nitinjadhavpostgres@gmail.com> writes:
> >> I noticed that the corruption issue related to two hardlinks pointing
> >> to the same WAL file has been fixed in the master branch up to version
> >> 16 in commit [1]. As a result, the function durable_rename_excl()
> >> became unused and was removed in commit [2]. Since this corruption
> >> issue is occurring in older versions, commit [1] has been backported
> >> for versions 13 to 15 in commit [3]. However, I don't see the
> >> backporting for commit [2]. Is there a specific reason for this?
> >
> > Fear of breaking extensions that use the function, perhaps?
> > We don't like to break ABI in minor releases.
>
> Yup [0].  It'd be nice if we could get folks to stop using it, but that
> doesn't seem worth the ABI breakage, and from a couple of web searches,
> there doesn't seem to be much external use, anyway.  IMHO letting it slowly
> phase out as versions go out of support is sufficient in this case.
>
> [0] https://postgr.es/m/20220418182336.GA2298576%40nathanxps13
>
> --
> nathan