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.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/b4a0223d008d7c2c9824d846e22b664b2f09cf6e
Modified Files
--------------
src/backend/replication/walsender.c | 105 ++++++++++++++++-------------------
src/backend/storage/ipc/procarray.c | 50 ++++++++++------
2 files changed, 79 insertions(+), 76 deletions(-)