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.
src/backend/replication/walsender.c | 105 ++++++++++++++++-------------------
src/backend/storage/ipc/procarray.c | 50 ++++++++++------
2 files changed, 79 insertions(+), 76 deletions(-)
pgsql-committers by date
|Next:||From: Robert Haas||Date: 2011-10-21 13:13:57|
|Subject: pgsql: Fix DROP OPERATOR FAMILY IF EXISTS.|
|Previous:||From: Tom Lane||Date: 2011-10-20 19:44:31|
|Subject: pgsql: Fix memory leak in tab completion.|