Re: Physical replication slot advance is not persistent
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Alexey Kondratov <a.kondratov@postgrespro.ru>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, andres@anarazel.de, dim@tapoueh.org, pgsql-hackers@postgresql.org, simon@2ndquadrant.com
Date: 2020-06-16T07:27:27Z
Lists: pgsql-hackers
Attachments
- slot-advance-compute-v2.patch (text/x-diff) patch v2
On Wed, Jun 10, 2020 at 08:57:17PM +0300, Alexey Kondratov wrote: > New test reproduces this issue well. Left it running for a couple of hours > in repeat and it seems to be stable. Thanks for testing. I have been thinking about the minimum xmin and LSN computations on advancing, and actually I have switched the recomputing to be called at the end of pg_replication_slot_advance(). This may be a waste if no advancing is done, but it could also be an advantage to enforce a recalculation of the thresholds for each function call. And that's more consistent with the slot copy, drop and creation. > we can safely use $current_lsn used for pg_replication_slot_advance(), since > reatart_lsn is set as is there. It may make the test a bit simpler as well. We could do that. Now I found cleaner the direct comparison of pg_replication_slots.restart before and after the restart. So I have kept it. -- Michael
Commits
-
Fix oldest xmin and LSN computation across repslots after advancing
- 1657e14b50d2 11.9 landed
- 16f43122d46f 12.4 landed
- 43e70addf5a6 13.0 landed
- b48df818dcbd 14.0 landed
-
Fix slot data persistency when advancing physical replication slots
- 374464c3e96f 11.7 landed
- 3228512b7b2b 12.2 landed
- b0afdcad21fd 13.0 landed