Re: 2-phase commit - Mailing list pgsql-hackers

From Christopher Kings-Lynne
Subject Re: 2-phase commit
Date
Msg-id 20030927133344.Y15218-100000@houston.familyhealth.com.au
Whole thread Raw
In response to Re: 2-phase commit  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: 2-phase commit  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
> Not "it can", but "it has to".  The master *must* keep hold of that
> request forever (or until the slave responds, or until we reconfigure
> the system not to consider that slave valid anymore).  Similarly, the
> slave cannot forget the maybe-committed transaction on pain of not being
> a valid slave anymore.  You can make this work, but the resource costs
> are steep.  For instance, in Postgres, you don't get to truncate the WAL
> log, for what could be a really really long time --- more disk space
> than you wanted to spend on WAL anyway.  The locks held by the
> maybe-committed transaction are another potentially unpleasant problem;
> you can't release them, no matter what else they are blocking.

So, after 'n' seconds of waiting, we abandon the slave and the slave
abandons the master.

Such a condition is probably a fairly serious failure anyway, and
something that an admin would need to expect.  The admin would also need
to expect to allocate a heap of disk space for WAL.

Chris




pgsql-hackers by date:

Previous
From: Christopher Kings-Lynne
Date:
Subject: Re: Threads vs Processes
Next
From: Oliver Elphick
Date:
Subject: Re: initdb failure (was Re: [GENERAL] sequence's plpgsql)