Re: Two-phase commit for 8.1

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
Cc: Hans-Jürgen Schönig <postgres(at)cybertec(dot)at>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Two-phase commit for 8.1
Date: 2005-01-23 17:32:55
Message-ID: Pine.OSF.4.61.0501231916520.414393@kosh.hut.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, 23 Jan 2005, Alvaro Herrera wrote:

> On Sun, Jan 23, 2005 at 01:37:30PM +0200, Heikki Linnakangas wrote:
>
>> As the patch gets more attention, I'm sure more issues will come up.

> I see the changes to the lock manager are huge. Can you explain what's
> the idea behind those? Do you release the locks and then reacquire
> them, or do you reassign them to a pseudo process?

I reassign them to a pseudo process (persistedLocksProc).

Much of the changes in lock.c are just about moving code around.
Some copy-paste code has been put in functions. LockAcquire has been
changed to take PGPROC as an argument, so that locks can be acquired on
behalf of the pseudo process.

Then there's completely new code for persisting locks on PREPARE
TRANSACTION and reacquiring them on recovery.

If it helps, I could try to split it into two patches, one with code
rearrangements that don't change current behaviour, and then the actual
2PC stuff on top of that.

> Are there possibilities of deadlock somewhere?

Not that I know of.

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Marc G. Fournier 2005-01-23 18:17:11 Re: 8.1 development cycle (was a couple of other threads
Previous Message Stephen Frost 2005-01-23 16:40:25 Re: [PATCHES] Merge pg_shadow && pg_group -- UNTESTED