On Wed, Sep 27, 2023 at 4:09 PM Melanie Plageman <melanieplage...@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