Simplify and improve ProcessStandbyHSFeedbackMessage logic.
Tom Lane <tgl@sss.pgh.pa.us>
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
| Path | Change | +/− |
|---|---|---|
| src/backend/replication/walsender.c | modified | +48 −57 |
| src/backend/storage/ipc/procarray.c | modified | +31 −19 |