Thread: Streaming replication and message type header

Streaming replication and message type header

From
Fujii Masao
Date:
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

Attachment

Re: Streaming replication and message type header

From
Heikki Linnakangas
Date:
Fujii Masao wrote:
> 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.

Ok, commmitted.

--  Heikki Linnakangas EnterpriseDB   http://www.enterprisedb.com