Streaming replication and message type header

Fujii Masao <masao.fujii@gmail.com>

From: Fujii Masao <masao.fujii@gmail.com>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Simon Riggs <simon@2ndquadrant.com>, pgsql-hackers@postgresql.org
Date: 2010-02-03T08:19:46Z
Lists: pgsql-hackers

Attachments

On Tue, Jan 19, 2010 at 12:20 AM, Heikki Linnakangas
<heikki.linnakangas@enterprisedb.com> wrote:
> Tom Lane wrote:
>> Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
>>> Simon Riggs wrote:
>>>> Do we need a new record type for that, is there a handy record type to
>>>> bounce from?
>>
>>> After starting streaming, slices of WAL are sent as CopyData messages.
>>> The CopyData payload begins with an XLogRecPtr, followed by the WAL
>>> data. That payload format needs to be extended with a 'message type'
>>> field and a new message type for the timestamps need to be added.
>>
>> Whether or not anyone bothers with the timestamp message, I think adding
>> a message type header is a Must Fix item.  A protocol with no provision
>> for extension is certainly going to bite us in the rear before long.
>
> Agreed a message type header is a good idea, although we don't expect
> streaming replication and the protocol to work across different major
> versions anyway.

The attached patch adds a message type header into the payload in
CopyData message sent from walsender to walreceiver, to make the
replication protocol more extensible.

Regards,

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