Re: protocol change in 7.4 - Mailing list pgsql-hackers

From Satoshi Nagayasu
Subject Re: protocol change in 7.4
Date
Msg-id 20021105205446.2ce49134.pgsql@snaga.org
Whole thread Raw
In response to Re: protocol change in 7.4  (Hannu Krosing <hannu@tm.ee>)
Responses Re: protocol change in 7.4  ("Ross J. Reedstrom" <reedstrm@rice.edu>)
List pgsql-hackers

Hannu Krosing <hannu@tm.ee> wrote:
> > I think a precommit-vote-commit phase of 2PC can be implemented in
> > command-lavel or protocol-level.
> > 
> > In command-level 2PC, an user application (or application programmer)
> > must know the DBMS is clustered or not (to use PRECOMMIT command).
> > 
> > In protocol-layer 2PC, no new SQL command is required.
> > A precommit-vote-commit phase will be called implicitly.  It means an
> > user application can be used without any modification.  An application
> > can use a traditional way (BEGIN...COMMIT).
> 
> If application continues to use just BEGIN/COMMIT, then the protocol
> level must parse command stream and recognize COMMIT in order to replace
> it with PRECOMMIT, COMMIT. 
> 
> If the communication library has to do that anyway, it could still do
> the replacement without affecting wire protocol, no ?

In my implementation, 'the extended(2PC) FE/BE protocol' is used only in
the communication between the master and slave server(s), not between a
client app and the master server.

libpq <--Normal FE/BE--> (master)postgres <--Extended(2PC)FE/BE--> (slave)postgres
  <--Extended(2PC)FE/BE--> (slave)postgres                                         <--Extended(2PC)FE/BE-->
(slave)postgres

A client application and client's libpq can work continuously without
any modification. This is very important. And protocol modification
between master and slave server(s) is not so serious issue (I think).

-- 
NAGAYASU Satoshi <snaga@snaga.org>


pgsql-hackers by date:

Previous
From: "Pedro M. Ferreira"
Date:
Subject: Re: Float output formatting options
Next
From: "Henshall, Stuart - Design & Print"
Date:
Subject: Re: [CYGWIN] command