Thread: Streaming replication and message type header
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
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