> On 27 Apr 2023, at 16:53, Melanie Plageman <melanieplage...@gmail.com> wrote:
> On Thu, Apr 27, 2023 at 8:55 AM Daniel Gustafsson <dan...@yesql.se> wrote:
>> 
>>> On 27 Apr 2023, at 14:10, Masahiko Sawada <sawada.m...@gmail.com> wrote:

>>> Good catch. I think the problem is that vacuum_rel() is called
>>> recursively and we don't reset VacuumFailsafeActive before vacuuming
>>> the toast table. I think we should reset it in heap_vacuum_rel()
>>> instead of Assert(). It's possible that we trigger the failsafe mode
>>> only for either one.Please find the attached patch.
>> 
>> Agreed, that matches my research and testing, I have the same diff here and 
>> it
>> passes testing and works as intended.  This was briefly discussed in [0] and
>> slightly upthread from there but then missed.  I will do some more looking 
>> and
>> testing but I'm fairly sure this is the right fix, so unless I find something
>> else I will go ahead with this.
>> 
>> xid_wraparound is a really nifty testing tool. Very cool.Makes sense to me 
>> too.
> 
> Fix LGTM.

Thanks for review. I plan to push this in the morning.

> Though we previously set it to false before this series of patches,
> perhaps it is
> worth adding a comment about why VacuumFailsafeActive must be reset here
> even though we reset it before vacuuming each table?

Agreed. 

--
Daniel Gustafsson



Reply via email to