| From: | Satoshi Nagayasu <pgsql(at)snaga(dot)org> |
|---|---|
| To: | Hannu Krosing <hannu(at)tm(dot)ee> |
| Cc: | tgl(at)sss(dot)pgh(dot)pa(dot)us, darren(at)up(dot)hrcoxmail(dot)com, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: protocol change in 7.4 |
| Date: | 2002-11-05 11:54:46 |
| Message-ID: | 20021105205446.2ce49134.pgsql@snaga.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hannu Krosing <hannu(at)tm(dot)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(at)snaga(dot)org>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Galbavy | 2002-11-05 13:16:49 | Re: openbsd 3.2, postgresql 7.3beta3 and openssl 'e_os.h' include file |
| Previous Message | Pedro M. Ferreira | 2002-11-05 11:11:25 | Re: Float output formatting options |