!4230 GetReplyingRecPtr()函数内同时考虑curReplayingReadRecPtr和lastReplayedEndRecPtr
Merge pull request !4230 from Movead/master
This commit is contained in:
@ -1025,8 +1025,15 @@ XLogRecPtr GetCompletedRecPtr(PageRedoWorker *worker)
|
||||
|
||||
XLogRecPtr GetReplyingRecPtr(PageRedoWorker *worker)
|
||||
{
|
||||
XLogRecPtr curReplayingReadRecPtr;
|
||||
XLogRecPtr lastReplayedEndRecPtr;
|
||||
XLogRecPtr result;
|
||||
pg_read_barrier();
|
||||
return pg_atomic_read_u64(&worker->curReplayingReadRecPtr);
|
||||
|
||||
curReplayingReadRecPtr = pg_atomic_read_u64(&worker->curReplayingReadRecPtr);
|
||||
lastReplayedEndRecPtr = pg_atomic_read_u64(&worker->lastReplayedEndRecPtr);
|
||||
|
||||
return lastReplayedEndRecPtr > curReplayingReadRecPtr ? lastReplayedEndRecPtr : curReplayingReadRecPtr;
|
||||
}
|
||||
|
||||
/* automic write for lastReplayedReadRecPtr and lastReplayedEndRecPtr */
|
||||
|
Reference in New Issue
Block a user