Re: Eager page freeze criteria clarification - Mailing list pgsql-hackers

From Peter Geoghegan
Subject Re: Eager page freeze criteria clarification
Date
Msg-id CAH2-WznQLTkn6F5oKAuVcQ==-4_7RL2=VCqjpXX+WR0hZTuaAA@mail.gmail.com
Whole thread Raw
In response to Re: Eager page freeze criteria clarification  (Melanie Plageman <melanieplageman@gmail.com>)
Responses Re: Eager page freeze criteria clarification
List pgsql-hackers
On Wed, Sep 27, 2023 at 4:09 PM Melanie Plageman
<melanieplageman@gmail.com> wrote:
> At the risk of seeming too execution-focused, I want to try and get more
> specific. Here is a description of an example implementation to test my
> understanding:
>
> In table-level stats, save two numbers: younger_than_cpt/older_than_cpt
> storing the number of instances of unfreezing a page which is either
> younger or older than the start of the most recent checkpoint at the
> time of its unfreezing

Can you define "unfreeze"? I don't know if this newly invented term
refers to unsetting a page that was marked all-frozen following (say)
an UPDATE, or if it refers to choosing to not freeze when the option
was available (in the sense that it was possible to do it and fully
mark the page all-frozen in the VM). Or something else.

I also find the term "opportunistic freezing" confusing. What's
opportunistic about it? It seems as if the term has been used as a
synonym of "freezing not triggered by min_freeze_age" on this thread,
or "freezing that is partly conditioned on setting the page all-frozen
in the VM", but I'm not even sure of that.

The choice to freeze or not freeze pretty much always relies on
guesswork about what'll happen to the page in the future, no?
Obviously we wouldn't even apply the FPI trigger criteria if we could
somehow easily determine that it won't work out (to some degree that's
what conditioning it on being able to set the all-frozen VM bit
actually does).

--
Peter Geoghegan



pgsql-hackers by date:

Previous
From: Melanie Plageman
Date:
Subject: Re: Eager page freeze criteria clarification
Next
From: David Rowley
Date:
Subject: Re: Should consider materializing the cheapest inner path in consider_parallel_nestloop()