]> granicus.if.org Git - postgresql/commit
Don't pay heed to wal_sender_timeout while creating a decoding slot.
authorAndres Freund <andres@anarazel.de>
Wed, 28 May 2014 22:32:09 +0000 (00:32 +0200)
committerAndres Freund <andres@anarazel.de>
Wed, 28 May 2014 22:32:09 +0000 (00:32 +0200)
commit21d48d66c8be053ef5ce0474bb30f8a91b7c3dd6
tree3c19b0f6a3be68988a889e24b1780e70e2eb46bc
parentd1d50bff247f189a6a1477596cdbd52d097089a0
Don't pay heed to wal_sender_timeout while creating a decoding slot.

Sometimes CREATE_REPLICATION_SLOT ... LOGICAL ... needs to wait for
further WAL using WalSndWaitForWal(). That used to always respect
wal_sender_timeout and kill the session when waiting long enough
because no feedback/ping messages can be sent while the slot is still
being created.
Introduce the notion that last_reply_timestamp = 0 means that the
walsender currently doesn't need timeout processing to avoid that
problem. Use that notion for CREATE_REPLICATION_SLOT ... LOGICAL.

Bugreport and initial patch by Steve Singer, revised by me.
src/backend/replication/walsender.c