> ComputeXidHorizons() already takes ProcArrayLock and has all the
> information about who is blocking the vacuum, so I think we can
> capture the blocker right there and get the reason almost for free,
> without a second scan.
This idea proved to result in incorrect information. See [1]
[1] https://www.postgresql.org/message-id/CAA5RZ0sjMgMo4Xg-niyyF-CpkQ_CK6uOfNKYT%3D9RmiBkAxQkbQ%40mail.gmail.com
--
Sami Imseih
Amazon Web Services (AWS)