Re: 2-phase commit

From: "Dann Corbit" <DCorbit(at)connx(dot)com>
To: "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>, "Marc G(dot) Fournier" <scrappy(at)postgresql(dot)org>
Cc: "Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Zeugswetter Andreas SB SD" <ZeugswetterA(at)spardat(dot)at>, "Andrew Sullivan" <andrew(at)libertyrms(dot)info>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 2-phase commit
Date: 2003-09-29 19:36:25
Message-ID: D90A5A6C612A39408103E6ECDD77B829408BCF@voyager.corporate.connx.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> -----Original Message-----
> From: Bruce Momjian [mailto:pgman(at)candle(dot)pha(dot)pa(dot)us]
> Sent: Monday, September 29, 2003 7:10 AM
> To: Marc G. Fournier
> Cc: Hiroshi Inoue; Tom Lane; 'Zeugswetter Andreas SB SD';
> 'Andrew Sullivan'; pgsql-hackers(at)postgresql(dot)org
> Subject: Re: [HACKERS] 2-phase commit
>
>
> Marc G. Fournier wrote:
> > > Master Slave
> > > ------ -----
> > > commit ready-->
> > > <--OK
> > > commit done->XX
> > >
> > > is the "commit done" message needed ?
> >
> > Of course ... how else will the Slave commit? From my
> understanding,
> > the concept is that the master sends a commit ready to the
> slave, but
> > the OK back is that "OK, I'm ready to commit whenever you are", at
> > which point the master does its commit and tells the slave
> to do its
> > ...
>
> Or the slave could reject the request.
>

Here is a BSD-like licensed transaction monitor:

http://tyrex.sourceforge.net/tpmonitor.html

The stuff that eventually became Tuxedo and Encina was open source from
MIT (not sure what came of it). You used to be able to download the
source code for their transaction monitor that worked on the IBM RS/2.

This is the Transaction Internet Protocol:
http://www.ietf.org/html.charters/OLD/tip-charter.html
It should be considered very seriously as a general solution to the
problem.

I mention this, because a transaction monitor is the next logical step
in managing database activity.
Two phase commit is a subset of transaction processing.

Interesting discussion:
http://www.developer.com/db/article.php/10920_2246481_2
http://www.developer.com/java/data/article.php/10932_3066301_4

Article worth a look (win32 specific, but talks about developing a
transaction monitor):
http://archive.devx.com/free/mgznarch/vcdj/1998/octmag98/dtc1.asp

Some simple background for those who have not spent much time looking
into it:
http://www.geocities.com/rajesh_purohit/db/twophasecommit.html

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Meskes 2003-09-29 19:41:17 Re: ecpg doesn't compile (datetime.h/dtime_t)
Previous Message Manfred Spraul 2003-09-29 19:35:26 Re: 2-phase commit