On Fri, Oct 17, 2025 at 5:11 PM Chao Li <[email protected]> wrote: > It took me some time to understand this fix. My most confusing was that once > overwrite happens, how a reader head to catch up again? Finally I figured it > out: > > ``` > + lag_tracker->read_heads[head] = > + (lag_tracker->write_head + 1) % > LAG_TRACKER_BUFFER_SIZE; > ``` > > "(lag_tracker->write_head + 1) % LAG_TRACKER_BUFFER_SIZE” points to the > oldest LSN in the ring, from where an overflowed reader head starts to catch > up. > > I have no comment on the code change. Nice patch!
Thanks for the review! I've updated the source comment to make the code easier to understand. The updated patch is attached. > All I wonder is if we can add a TAP test for this fix? I think it would be good to add a test for this fix, but reproducing the condition where the buffer fills up and the slowest read entry overflows takes a time. Because of that, I'm not sure adding such a potentially slow test is a good idea. Regards, -- Fujii Masao
v2-0001-Fix-stalled-lag-columns-in-pg_stat_replication-wh.patch
Description: Binary data
