Re: Concurrency issue in pg_rewind - Mailing list pgsql-hackers

From Stephen Frost
Subject Re: Concurrency issue in pg_rewind
Date
Msg-id 20201007191430.GC3063@tamriel.snowman.net
Whole thread Raw
In response to Re: Concurrency issue in pg_rewind  ("Andrey M. Borodin" <x4mmm@yandex-team.ru>)
List pgsql-hackers
Greetings,

* Andrey M. Borodin (x4mmm@yandex-team.ru) wrote:
> > 18 сент. 2020 г., в 11:59, Michael Paquier <michael@paquier.xyz> написал(а):
> > On Fri, Sep 18, 2020 at 11:31:26AM +0500, Andrey M. Borodin wrote:
> >> This is whole point of having prefetch. restore_command just links
> >> file from the same partition.
> >
> > If this stuff is willing to do so, you may have your reasons, but even
> > if you wish to locate both pg_wal/ and the prefetch path in the same
> > partition, I don't get why it is necessary to have the prefetch path
> > included directly in pg_wal?  You could just use different paths for
> > both.  Say, with a base partition at /my/path/, you can just have
> > /my/path/pg_wal/ that the Postgres backend links to, and
> > /my/path/wal-g/prefetch/ for the secondary path.
>
> This complexity doesn't seem necessary to me. What we gain? Prefetched WAL is WAL per se. Makes sense to keep it in
pg_waltree by default. 
>
> I will implement possibility to move cache out of pg_wal (similar functionality is implemented in pgBackRest). But it
seemsuseless to me: user can configure WAL prefetch to be less performant, without any benefits. 

In this case there's certainly one very clear benefit: pg_rewind will be
more robust at detecting serious issues and complaining loudly,
hopefully avoiding having users end up with corrupted clusters.  That's
certainly not nothing, from my perspective.

Thanks,

Stephen

Attachment

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [HACKERS] logical decoding of two-phase transactions
Next
From: Stephen Frost
Date:
Subject: Re: Incremental sort docs and release announcement