Hi,
On 4/5/23 2:33 AM, Jeff Davis wrote:
On Tue, 2023-04-04 at 14:55 -0400, Robert Haas wrote:
Thanks for your continued work on $SUBJECT. I just took a look at
0004,
Thanks Robert for the feedback!
and I think that at the very least the commit message needs
work.
Agree.
Perhaps a commit message like:
"For cascading replication, wake up physical walsenders separately from
logical walsenders.
Physical walsenders can't send data until it's been flushed; logical
walsenders can't decode and send data until it's been applied. On the
standby, the WAL is flushed first, which will only wake up physical
walsenders; and then applied, which will only wake up logical
walsenders.
Previously, all walsenders were awakened when the WAL was flushed. That
was fine for logical walsenders on the primary; but on the standby the
flushed WAL would not have been applied yet, so logical walsenders were
awakened too early."
Thanks Jeff for the commit message proposal! It looks good to me
except that I think that "flushed WAL could have been not applied yet" is
better than
"flushed WAL would not have been applied yet" but it's obviously open to
discussion.
Currently changed it that way and used it in V60 shared up-thread.
For comments, I agree that WalSndWakeup() clearly needs a comment
update. The call site in ApplyWalRecord() could also use a comment. You
could add a comment at every call site, but I don't think that's
necessary if there's a good comment over WalSndWakeup().
Agree, added a comment over WalSndWakeup() and one before calling WalSndWakeup()
in ApplyWalRecord() in V60.
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com