mirror of
https://github.com/postgres/postgres.git
synced 2025-07-18 17:42:25 +03:00
Minor but necessary improvements to WAL keepalives
Fujii Masao
This commit is contained in:
@ -750,7 +750,8 @@ ProcessWalSndrMessage(XLogRecPtr walEnd, TimestampTz sendTime)
|
|||||||
walrcv->lastMsgReceiptTime = lastMsgReceiptTime;
|
walrcv->lastMsgReceiptTime = lastMsgReceiptTime;
|
||||||
SpinLockRelease(&walrcv->mutex);
|
SpinLockRelease(&walrcv->mutex);
|
||||||
|
|
||||||
elog(DEBUG2, "sendtime %s receipttime %s replication apply delay %d transfer latency %d",
|
if (log_min_mesages <= DEBUG2)
|
||||||
|
elog(DEBUG2, "sendtime %s receipttime %s replication apply delay %d ms transfer latency %d ms",
|
||||||
timestamptz_to_str(sendTime),
|
timestamptz_to_str(sendTime),
|
||||||
timestamptz_to_str(lastMsgReceiptTime),
|
timestamptz_to_str(lastMsgReceiptTime),
|
||||||
GetReplicationApplyDelay(),
|
GetReplicationApplyDelay(),
|
||||||
|
@ -834,7 +834,12 @@ WalSndLoop(void)
|
|||||||
if (pq_is_send_pending())
|
if (pq_is_send_pending())
|
||||||
wakeEvents |= WL_SOCKET_WRITEABLE;
|
wakeEvents |= WL_SOCKET_WRITEABLE;
|
||||||
else
|
else
|
||||||
|
{
|
||||||
WalSndKeepalive(output_message);
|
WalSndKeepalive(output_message);
|
||||||
|
/* Try to flush pending output to the client */
|
||||||
|
if (pq_flush_if_writable() != 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/* Determine time until replication timeout */
|
/* Determine time until replication timeout */
|
||||||
if (replication_timeout > 0)
|
if (replication_timeout > 0)
|
||||||
|
Reference in New Issue
Block a user