Re: heap_abort_speculative() sets xmin to Invalid* without HEAP_XMIN_INVALID

2020-07-23 Thread Peter Geoghegan
On Thu, Jul 23, 2020 at 2:49 PM Alvaro Herrera wrote: > On 2020-Jul-23, Andres Freund wrote: > > > I think we should change heap_abort_speculative() to set > > HEAP_XMIN_INVALID in master. > > +1 +1 > +1 for doing it as an additional fix, with a fat comment somewhere > explaining where such tupl

Re: heap_abort_speculative() sets xmin to Invalid* without HEAP_XMIN_INVALID

2020-07-23 Thread Alvaro Herrera
On 2020-Jul-23, Andres Freund wrote: > I think we should change heap_abort_speculative() to set > HEAP_XMIN_INVALID in master. +1 > But we can't really do anything about > existing tuples without it - therefore we will have to forever take care > about encountering that combination :(. > > Perh

heap_abort_speculative() sets xmin to Invalid* without HEAP_XMIN_INVALID

2020-07-23 Thread Andres Freund
Hi, After adding a few assertions to validate the connection scalability patch I saw failures that also apply to master: I added an assertion to TransactionIdIsCurrentTransactionId(), *IsInProgress(), ... ensuring that the xid is within an expected range. Which promptly failed in isolation tests.