On Mon, May 31, 2021 at 09:37:17PM +0900, Michael Paquier wrote:
> I have been looking at all that for the last couple of days, and
> checked the code to make sure that relying on RecoveryInProgress() as
> the tipping point is logically correct in terms of virtual XID,
> snapshot build and KnownAssignedXids cleanup. This stuff is tricky
> enough that I may have missed something, but my impression (and
> testing) is that we should be safe.
A couple of months later, I have looked back at this thread and this
report. I have rechecked all the standby handling and snapshot builds
involving KnownAssignedXids and looked at all the phases that are
getting called until we call ShutdownRecoveryTransactionEnvironment()
to release these, and I don't think that there is a problem with the
solution proposed here. So I propose to move on and apply this
patch. Please let me know if there are any objections.
--
Michael