Re: [COMMITTERS] pgsql: Send new protocol keepalive messages to standby servers.

Fujii Masao <masao.fujii@gmail.com>

From: Fujii Masao <masao.fujii@gmail.com>
To: Simon Riggs <simon@2ndquadrant.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2012-01-12T03:09:15Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Send new protocol keepalive messages to standby servers.

On Thu, Jan 12, 2012 at 12:20 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
>> +static void
>> +ProcessWalSndrMessage(XLogRecPtr walEnd, TimestampTz sendTime)
>>
>> walEnd is not used in ProcessWalSndrMessage() at all. Can't we remove it?
>> If yes, walEnd field in WalSndrMessage is also not used anywhere, so ISTM
>> we can remove it.
>
> It's there to allow extension of the message processing to be more
> complex than it currently is. Changing the protocol is much harder
> than changing a function call.
>
> I'd like to keep it since it doesn't have any negative effects.

OK. Another problem about walEnd is that WalDataMessageHeader.walEnd is not
the same kind of location as WalSndrMessage.walEnd. The former indicates the
location that WAL has already been flushed (maybe not sent yet), i.e.,
"send request
location". OTOH, the latter indicates the location that WAL has
already been sent.
Is this inconsistency intentional?

Regards,

-- 
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center