Re: Add LSN <-> time conversion functionality - Mailing list pgsql-hackers

From Andrey M. Borodin
Subject Re: Add LSN <-> time conversion functionality
Date
Msg-id 60B95F50-3B43-421D-A9C2-AA30E807C612@yandex-team.ru
Whole thread Raw
In response to Re: Add LSN <-> time conversion functionality  (Tomas Vondra <tomas.vondra@enterprisedb.com>)
List pgsql-hackers
Hi everyone!

Me, Bharath, and Ilya are on patch review session at the PGConf.dev :) Maybe we got everything wrong, please consider
thatwe are just doing training on reviewing patches. 


=== Purpose of the patch ===
Currently, we have checkpoint_timeout and max_wal size to know when we need a checkpoint. This patch brings a
capabilityto freeze page not only by internal state of the system, but also by wall clock time. 
To do so we need an infrastructure which will tell when page was modified.

The patch in this thread is doing exactly this: in-memory information to map LSNs with wall clock time. Mapping is
maintainedby bacgroundwriter. 

=== Questions ===
1. The patch does not handle server restart. All pages will need freeze after any crash?
2. Some benchmarks to proof the patch does not have CPU footprint.

=== Nits ===
"Timeline" term is already taken.
The patch needs rebase due to some header changes.
Tests fail on Windows.
The patch lacks tests.
Some docs would be nice, but the feature is for developers.
Mapping is protected for multithreaded access by walstats LWlock and might have tuplestore_putvalues() under that lock.
Thatmight be a little dangerous, if tuplestore will be on-disk for some reason (should not happen). 


Overall, the patch is a base for good feature which would help to do freeze right in time. Thanks!


Best regards, Bharath, Andrey, Ilya.


pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: meson "experimental"?
Next
From: Andrew Dunstan
Date:
Subject: Re: The xversion-upgrade test fails to stop server