Re: pg_receivewal fail to streams when the partial file to write is not fully initialized present in the wal receiver directory - Mailing list pgsql-hackers

From mahendrakar s
Subject Re: pg_receivewal fail to streams when the partial file to write is not fully initialized present in the wal receiver directory
Date
Msg-id CABkiuWrx1-tNBqJS6+YFJBBdYtB9dMVUMAV1Ap2cv_wu0eZsUQ@mail.gmail.com
Whole thread Raw
In response to Re: pg_receivewal fail to streams when the partial file to write is not fully initialized present in the wal receiver directory  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
List pgsql-hackers
Changes look good to me.

Thanks,
Mahendrakar.

On Fri, 19 Aug 2022 at 17:28, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote:
On Fri, Aug 19, 2022 at 1:37 PM mahendrakar s
<mahendrakarforpg@gmail.com> wrote:
>
> Hi Bharath,
> I reviewed your patch. Minor comments.

Thanks.

> 1. Why are we not using durable_unlink instead of unlink to remove the partial tmp files?

durable_unlink() issues fsync on the parent directory, if used, those
fsync() calls will be per partial.tmp file. Moreover, durable_unlink()
is backend-only, not available for tools i.e. FRONTEND code. If we
don't durably remove the pratial.tmp file, it will get deleted in the
next cycle anyways, so no problem there.

> 2. Below could be a simple if(shouldcreatetempfile){} else{} as in error case we need to return NULL.

Yeah, that way it is much simpler.

Please review the attached v6 patch.

--
Bharath Rupireddy
RDS Open Source Databases: https://aws.amazon.com/rds/postgresql/

pgsql-hackers by date:

Previous
From: Zhihong Yu
Date:
Subject: including pid's for `There are XX other sessions using the database`
Next
From: Ranier Vilela
Date:
Subject: Re: Use array as object (src/fe_utils/parallel_slot.c)