!6422 修复gs_get_recv_locations()查询replay_lsn与其余三个不一致

Merge pull request !6422 from james/6.0.0
This commit is contained in:
opengauss_bot
2024-09-24 06:33:47 +00:00
committed by Gitee

View File

@ -2700,6 +2700,7 @@ Datum gs_get_recv_locations(PG_FUNCTION_ARGS)
XLogRecPtr rcvRedo;
XLogRecPtr rcvWrite;
XLogRecPtr lastRplReadLsn;
XLogRecPtr rcvFlush;
XLogRecPtr rcvReceived;
XLogRecPtr localMaxLSN;
@ -2764,7 +2765,10 @@ Datum gs_get_recv_locations(PG_FUNCTION_ARGS)
securec_check(rc, "\0", "\0");
} else {
rcvRedo = GetXLogReplayRecPtr(NULL, NULL);
rcvRedo = GetXLogReplayRecPtr(NULL, &lastRplReadLsn);
if (XLByteEQ(lastRplReadLsn, rcvReceived)) {
rcvRedo = rcvReceived;
}
/* receiver_received_location */
if (rcvReceived == 0) {
localMaxLSN = FindMaxLSN(t_thrd.proc_cxt.DataDir, maxLsnMsg, XLOG_READER_MAX_MSGLENTH, &localMaxLsnCrc,