Re: Pre-allocating WAL files

From: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
To: "Bossart, Nathan" <bossartn(at)amazon(dot)com>
Cc: Maxim Orlov <orlovmg(at)gmail(dot)com>, Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>, Maxim Orlov <m(dot)orlov(at)postgrespro(dot)ru>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Pre-allocating WAL files
Date: 2022-01-15 08:06:05
Message-ID: CALj2ACUAYU5LeYGj+EdTBULhMgbpGJTAUd9KwzbBD4ynd_jWeA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jan 6, 2022 at 3:39 AM Bossart, Nathan <bossartn(at)amazon(dot)com> wrote:
>
> On 12/30/21, 3:52 AM, "Maxim Orlov" <orlovmg(at)gmail(dot)com> wrote:
> > I did check the patch too and found it to be ok. Check and check-world are passed.
> > Overall idea seems to be good in my opinion, but I'm not sure where is the optimal place to put the pre-allocation.
> >
> > On Thu, Dec 30, 2021 at 2:46 PM Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com> wrote:
> >> I've checked the patch v7. It applies cleanly, code is good, check-world tests passed without problems.
> >> I think it's ok to use checkpointer for this and the overall patch can be committed. But the seen performance gain makes me think again before adding this feature. I did tests myself a couple of months ago and got similar results.
> >> Really don't know whether is it worth the effort.
>
> Thank you both for your review.

It may have been discussed earlier, let me ask this here - IIUC the
whole point of pre-allocating WAL files is that creating new WAL files
of wal_segment_size requires us to write zero-filled empty pages to
the disk which is costly. With the advent of
fallocate/posix_fallocate, isn't file allocation going to be much
faster on platforms where fallocate is supported? IIRC, the
"Asynchronous and "direct" IO support for PostgreSQL." has a way to
use fallocate. If at all, we move ahead and use fallocate, then the
whole point of pre-allocating WAL files becomes unnecessary?

Having said above, the idea of pre-allocating WAL files is still
relevant, given the portability of fallocate/posix_fallocate.

Regards,
Bharath Rupireddy.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bharath Rupireddy 2022-01-15 08:08:26 Re: Pre-allocating WAL files
Previous Message Bharath Rupireddy 2022-01-15 07:25:43 Re: O(n) tasks cause lengthy startups and checkpoints