Robert Haas <robertmhaas@gmail.com> writes:
> On Mon, Apr 15, 2019 at 3:47 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> No. I'm thinking there should be exactly one test of index_cleanup
>> in this logic, and what it would be is along the lines of ...
> I'm not sure that's correct. If you do that, it'll end up in the
> non-tupgone case, which might try to freeze a tuple that should've
> been removed. Or am I confused?
If we're failing to remove it, and it's below the desired freeze
horizon, then we'd darn well better freeze it instead, no?
Since we know that the tuple only just became dead, I suspect
that the case would be unreachable in practice. But the approach
you propose risks violating the invariant that all old tuples
will either be removed or frozen.
regards, tom lane