Re: Logical replication wal sender timestamp bug

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Jeff Janes <jeff.janes@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2019-11-06T07:15:00Z
Lists: pgsql-hackers
On Tue, Nov 05, 2019 at 01:19:37PM +0900, Michael Paquier wrote:
> On Sat, Nov 02, 2019 at 09:54:54PM -0400, Jeff Janes wrote:
>> Filling out the timestamp after the message has already been sent is taking
>> "as late as possible" a little too far.  It results in every message having
>> a zero timestamp, other than keep-alives which go through a different path.
> 
> It seems to me that you are right: the timestamp is computed too
> late.

It is easy enough to reproduce the problem by setting for example
logical replication between two nodes and pgbench to produce some
load and then monitor pg_stat_subscription periodically.  However, it
is a problem since logical decoding has been introduced (5a991ef) so
committed your fix down to 9.4.
--
Michael

Commits

  1. Fix timestamp of sent message for write context in logical decoding