Re: Use WALReadFromBuffers in more places - Mailing list pgsql-hackers

From Rahila Syed
Subject Re: Use WALReadFromBuffers in more places
Date
Msg-id CAH2L28vxZg0PgiweVw=FqczD0zJC+Ud9+=H2yP-GPJeE2NwDQw@mail.gmail.com
Whole thread Raw
In response to Use WALReadFromBuffers in more places  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
List pgsql-hackers
Hi Bharath,


Hi,

Commit 91f2cae7a4e that introduced WALReadFromBuffers only used it for
physical walsenders. It can also be used in more places benefitting
logical walsenders, backends running pg_walinspect and logical
decoding functions if the WAL is available in WAL buffers. I'm
attaching a 0001 patch for this.

 
Thank you for working on this. It seems like a useful optimization. Do you have any information
on how much this improves the performance of the new callers of WALReadFromBuffers?

Regarding the v3 version of the patch, do you also intend to include other callers of WALRead,
such as walsummarizer.c and pg_waldump.c?  

In WALReadFromBuffers, the buffer scan currently stops when it encounters a buffer that
doesn't have the needed WAL page. However, it's possible to continue scanning past the
missing page and find other relevant pages further along. By keeping track of which pages
are missing, we could read only those specific pages from files, instead of reading everything
after the first missing page. I am wondering if this was taken into account during the design
of the function. 

Thank you,
Rahila Syed

pgsql-hackers by date:

Previous
From: Corey Huinker
Date:
Subject: Re: someone else to do the list of acknowledgments
Next
From: Andres Freund
Date:
Subject: Re: MinGW cross compilation failure on Debian trixie