Re: WIP: WAL prefetch (another approach)

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>
Cc: Daniel Gustafsson <daniel(at)yesql(dot)se>, Stephen Frost <sfrost(at)snowman(dot)net>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, David Steele <david(at)pgmasters(dot)net>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com>, Jakub Wartak <Jakub(dot)Wartak(at)tomtom(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: WIP: WAL prefetch (another approach)
Date: 2022-03-08 05:15:43
Message-ID: CA+hUKG+dE2-BOsZAQJC4miaXhZF3U6WV0cUH6yWJ+ixoiFNOSw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Dec 29, 2021 at 5:29 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
> https://github.com/macdice/postgres/tree/recovery-prefetch-ii

Here's a rebase. This mostly involved moving hunks over to the new
xlogrecovery.c file. One thing that seemed a little strange to me
with the new layout is that xlogreader is now a global variable. I
followed that pattern and made xlogprefetcher a global variable too,
for now.

There is one functional change: now I block readahead at records that
might change the timeline ID. This removes the need to think about
scenarios where "replay TLI" and "read TLI" might differ. I don't
know of a concrete problem in that area with the previous version, but
the recent introduction of the variable(s) "replayTLI" and associated
comments in master made me realise I hadn't analysed the hazards here
enough. Since timelines are tricky things and timeline changes are
extremely infrequent, it seemed better to simplify matters by putting
up a big road block there.

I'm now starting to think about committing this soon.

Attachment Content-Type Size
v21-0001-Add-circular-WAL-decoding-buffer-take-II.patch application/x-patch 49.1 KB
v21-0002-Prefetch-referenced-data-in-recovery-take-II.patch application/x-patch 70.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2022-03-08 05:21:08 Re: Handle infinite recursion in logical replication setup
Previous Message Dilip Kumar 2022-03-08 05:02:24 Re: Make relfile tombstone files conditional on WAL level