Re: WAL usage calculation patch - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: WAL usage calculation patch
Date
Msg-id CAA4eK1J2OtmkXH266NX8y=fS2BmGiS2DBx2HE_HGHC49Gxo4=A@mail.gmail.com
Whole thread Raw
In response to Re: WAL usage calculation patch  (Julien Rouhaud <rjuju123@gmail.com>)
Responses Re: WAL usage calculation patch  (Julien Rouhaud <rjuju123@gmail.com>)
Re: WAL usage calculation patch  (Dilip Kumar <dilipbalaut@gmail.com>)
List pgsql-hackers
On Mon, Mar 30, 2020 at 6:14 PM Julien Rouhaud <rjuju123@gmail.com> wrote:
>
> On Mon, Mar 30, 2020 at 03:52:38PM +0530, Amit Kapila wrote:
> >
> > I think the right place to compute this information is
> > XLogRecordAssemble even though we update it at the place where you
> > have it in the patch.  You can probably compute that in local
> > variables and then transfer to pgWalUsage in XLogInsertRecord.  I am
> > fine if you can think of some other way but the current patch doesn't
> > seem correct to me.
>
> My previous approach was indeed totally broken.  v8 attached which hopefully
> will be ok.
>

This is better.  Few more comments:
1. The point (c) from my previous email doesn't seem to be fixed
properly.  Basically, the record data is only attached with FPW in
some particular cases like where REGBUF_KEEP_DATA is set, but the
patch assumes it is always set.

2.
+ /* Report a full page imsage constructed for the WAL record */
+ *num_fpw += 1;

Typo. /imsage/image

3.  We need to enhance the patch to cover WAL usage for parallel
vacuum and parallel create index based on Sawada-San's latest patch[1]
which fixed the case for buffer usage.

[1] - https://www.postgresql.org/message-id/CA%2Bfd4k5L4yVoWz0smymmqB4_SMHd2tyJExUgA_ACsL7k00B5XQ%40mail.gmail.com

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: INSERT ... OVERRIDING USER VALUE vs GENERATED ALWAYS identitycolumns
Next
From: Fujii Masao
Date:
Subject: Re: Planning counters in pg_stat_statements (using pgss_store)