mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Fix race condition when changing synchronous_standby_names
A momentary window exists when synchronous_standby_names changes that allows commands issued after the change to continue to act as async until the change becomes visible. Remove the race by using more appropriate test in syncrep.c Author: Asim Rama Praveen and Ashwin Agrawal Reported-by: Xin Zhang, Ashwin Agrawal, and Asim Rama Praveen Reviewed-by: Michael Paquier, Masahiko Sawada
This commit is contained in:
@ -156,11 +156,9 @@ SyncRepWaitForLSN(XLogRecPtr lsn, bool commit)
|
||||
mode = Min(SyncRepWaitMode, SYNC_REP_WAIT_FLUSH);
|
||||
|
||||
/*
|
||||
* Fast exit if user has not requested sync replication, or there are no
|
||||
* sync replication standby names defined. Note that those standbys don't
|
||||
* need to be connected.
|
||||
* Fast exit if user has not requested sync replication.
|
||||
*/
|
||||
if (!SyncRepRequested() || !SyncStandbysDefined())
|
||||
if (!SyncRepRequested())
|
||||
return;
|
||||
|
||||
Assert(SHMQueueIsDetached(&(MyProc->syncRepLinks)));
|
||||
|
Reference in New Issue
Block a user