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
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 |