Re: Two-phase update of restart_lsn in LogicalConfirmReceivedLocation

2018-03-07 Thread Craig Ringer
On 8 March 2018 at 07:32, Tom Lane wrote: > Robert Haas writes: > > On Thu, Mar 1, 2018 at 2:03 AM, Craig Ringer > wrote: > >> So I can't say it's definitely impossible. It seems astonishingly > unlikely, > >> but that's not always good enough. > > > Race conditions tend to happen a lot more of

Re: Two-phase update of restart_lsn in LogicalConfirmReceivedLocation

2018-03-07 Thread Tom Lane
Robert Haas writes: > On Thu, Mar 1, 2018 at 2:03 AM, Craig Ringer wrote: >> So I can't say it's definitely impossible. It seems astonishingly unlikely, >> but that's not always good enough. > Race conditions tend to happen a lot more often than one might think. Just to back that up --- we've s

Re: Two-phase update of restart_lsn in LogicalConfirmReceivedLocation

2018-03-07 Thread Robert Haas
On Thu, Mar 1, 2018 at 2:03 AM, Craig Ringer wrote: > So I can't say it's definitely impossible. It seems astonishingly unlikely, > but that's not always good enough. Race conditions tend to happen a lot more often than one might think. If there's a theoretical opportunity for this to go wrong, i

Re: Two-phase update of restart_lsn in LogicalConfirmReceivedLocation

2018-02-28 Thread Craig Ringer
On 1 March 2018 at 13:39, Arseny Sher wrote: > Hello, > > In LogicalConfirmReceivedLocation two fields (data.catalog_xmin and > effective_catalog_xmin) of ReplicationSlot structure are used for > advancing xmin of the slot. This allows to avoid hole when tuples might > already have been vacuumed,

Two-phase update of restart_lsn in LogicalConfirmReceivedLocation

2018-02-28 Thread Arseny Sher
Hello, In LogicalConfirmReceivedLocation two fields (data.catalog_xmin and effective_catalog_xmin) of ReplicationSlot structure are used for advancing xmin of the slot. This allows to avoid hole when tuples might already have been vacuumed, but slot's state was not yet flushed to the disk: if we c