On Tue, Nov 21, 2017 at 4:18 AM, Andres Freund <and...@anarazel.de> wrote: > On 2017-11-13 19:03:41 -0800, Andres Freund wrote: >> On 2017-11-03 07:53:30 -0700, Andres Freund wrote: >> > Here's that patch. I've stared at this some, and Robert did too. Robert >> > mentioned that the commit message might need some polish and I'm not >> > 100% sure about the error message texts yet. >> > >> > I'm not yet convinced that the new elog in vacuumlazy can never trigger >> > - but I also don't think we want to actually freeze the tuple in that >> > case. >> >> I'm fairly sure it could be triggered, therefore I've rewritten that. >> >> I've played around quite some with the attached patch. So far, after >> applying the second patch, neither VACUUM nor VACUUM FULL / CLUSTER make >> the situation worse for already existing corruption. HOT pruning can >> change the exact appearance of existing corruption a bit, but I don't >> think it can make the corruption meaningfully worse. It's a bit >> annoying and scary to add so many checks to backbranches but it kinda >> seems required. The error message texts aren't perfect, but these are >> "should never be hit" type elog()s so I'm not too worried about that. >> >> Please review! > > Ping? Alvaro, it'd be good to get some input here.
Note that I will be able to jump on the ship after being released from commit fest duties. This is likely a multi-day task for testing and looking at it, and I am not the most knowledgeable human being with this code. -- Michael