From: | Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> |
---|---|
To: | japin <japinli(at)hotmail(dot)com> |
Cc: | "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com> |
Subject: | Re: Fix typo about WalSndPrepareWrite |
Date: | 2021-01-14 04:56:16 |
Message-ID: | CAExHW5uKHBWdMXnzs52rZQ17BPMiNNWdZt6W3h7-M6kRSzjpqA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Japin,
Thanks for the report.
I think that comment is correct. It refers to the following code
blocks of XLogSendPhysical()
2744 /*
2745 * OK to read and send the slice.
2746 */
2747 resetStringInfo(&output_message);
2748 pq_sendbyte(&output_message, 'w');
2749
2750 pq_sendint64(&output_message, startptr); /* dataStart */
2751 pq_sendint64(&output_message, SendRqstPtr); /* walEnd */
2752 pq_sendint64(&output_message, 0); /* sendtime, filled in last */
2803 * Fill the send timestamp last, so that it is taken as late
as possible.
2804 */
2805 resetStringInfo(&tmpbuf);
2806 pq_sendint64(&tmpbuf, GetCurrentTimestamp());
2807 memcpy(&output_message.data[1 + sizeof(int64) + sizeof(int64)],
2808 tmpbuf.data, sizeof(int64));
2809
2810 pq_putmessage_noblock('d', output_message.data, output_message.len);
WalSndWriteData() also fills the timestamp there but it may not always
be used with WalSndPrepareWrite, at least theoretically. So it's the
XLogSendPhysical() that it's referring to.
Maybe a better way is to separate those two codeblocks into functions
and use it in WalSndPrepareWrite, WalSndWriteData and XLogSendPhysical
appropriately. That way we don't have to add a comment like that and
the sanity of 'w' message is preserved.
On Thu, Jan 14, 2021 at 10:10 AM japin <japinli(at)hotmail(dot)com> wrote:
>
>
> Hi,
>
> While reading the code about logical replication, I found that
> WalSndPrepareWrite function says it use XLogSendPhysical to fill out the
> sendtime, however, it actually done by WalSndWriteData. It looks like a
> typo, attaching a very small patch to correct it.
>
> --
> Regrads,
> Japin Li.
> ChengDu WenWu Information Technology Co.,Ltd.
>
--
Best Wishes,
Ashutosh Bapat
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2021-01-14 05:10:55 | Re: remove unneeded pstrdup in fetch_table_list |
Previous Message | japin | 2021-01-14 04:40:25 | Fix typo about WalSndPrepareWrite |