Re: Two Phase Commit WAS: Re: Two weeks to feature freeze - Mailing list pgsql-hackers

From Josh Berkus
Subject Re: Two Phase Commit WAS: Re: Two weeks to feature freeze
Date
Msg-id 200306230900.59719.josh@agliodbs.com
Whole thread Raw
Responses Re: Two Phase Commit WAS: Re: Two weeks to feature freeze  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Two Phase Commit WAS: Re: Two weeks to feature freeze  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom,

> No.  I want to know what the subordinate does when it's promised to
> commit and the co-ordinator never responds.  AFAICS the subordinate
> is screwed --- it can't commit, and it can't abort, and it can't expect
> to make progress indefinitely on other work while it's holding locks
> for the not-quite-committed transaction.

AFAIK, MS SQL Server's two-phase commit works like this ... if both servers 
prepare, and one crashes, the transaction is screwed up.  Somewhat unreliable 
considering the frequence with which MSSQL crashes, yet it seems to be good 
enough for several companies to sell "solutions" based on it. (performance is 
also appalling, but that's a different issue)

Anybody have a grasp of Oracle internals for 2PC?

Anyway, I would vote for a first implemenation for 2PC which addressed the 
commit-then-crash issue in some expedient-but-not-reliable way, and putting 
2PC in /contrib with a "not for production use" warning.  Some people will 
use it in production anyway, and hopefully one or more of them will put in 
the dozens of hours required to make it reliable.

-- 
Josh Berkus
Aglio Database Solutions
San Francisco


pgsql-hackers by date:

Previous
From: ohp@pyrenet.fr
Date:
Subject: ftp mirror
Next
From: Nailah Ogeer
Date:
Subject: SHM_QUEUE