Simplify and improve ProcessStandbyHSFeedbackMessage logic.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: b4a0223d008d7c2c9824d846e22b664b2f09cf6e
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2011-10-20T23:43:31Z
Releases: 9.2.0
Simplify and improve ProcessStandbyHSFeedbackMessage logic.

There's no need to clamp the standby's xmin to be greater than
GetOldestXmin's result; if there were any such need this logic would be
hopelessly inadequate anyway, because it fails to account for
within-database versus cluster-wide values of GetOldestXmin.  So get rid of
that, and just rely on sanity-checking that the xmin is not wrapped around
relative to the nextXid counter.  Also, don't reset the walsender's xmin if
the current feedback xmin is indeed out of range; that just creates more
problems than we already had.  Lastly, don't bother to take the
ProcArrayLock; there's no need to do that to set xmin.

Also improve the comments about this in GetOldestXmin itself.

Files

PathChange+/−
src/backend/replication/walsender.c modified +48 −57
src/backend/storage/ipc/procarray.c modified +31 −19