mirror of
https://github.com/postgres/postgres.git
synced 2025-11-28 11:44:57 +03:00
Fix a BF failure caused by commit 76b78721ca.
The issue occurred because the replication slot was not released in the slotsync worker when a slot synchronization cycle was skipped. This skip happened because the required WAL was not received and flushed on the standby server. As a result, in the next cycle, when attempting to acquire the slot, an assertion failure was triggered. Author: Hou Zhijie <houzj.fnst@fujitsu.com> Discussion: https://postgr.es/m/CAA4eK1KMwYUYy=oAVHu9mam+vX50ixxfhO4_C=kgQC8VCQHEfw@mail.gmail.com
This commit is contained in:
@@ -725,6 +725,8 @@ synchronize_one_slot(RemoteSlot *remote_slot, Oid remote_dbid)
|
||||
remote_slot->name,
|
||||
LSN_FORMAT_ARGS(latestFlushPtr)));
|
||||
|
||||
ReplicationSlotRelease();
|
||||
|
||||
return slot_updated;
|
||||
}
|
||||
|
||||
@@ -824,6 +826,8 @@ synchronize_one_slot(RemoteSlot *remote_slot, Oid remote_dbid)
|
||||
remote_slot->name,
|
||||
LSN_FORMAT_ARGS(latestFlushPtr)));
|
||||
|
||||
ReplicationSlotRelease();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user