Hi everyone!

Me, Bharath, and Ilya are on patch review session at the PGConf.dev :) Maybe we 
got everything wrong, please consider that we 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 capability to 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 maintained by 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. That might 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.

Reply via email to