Re: Multixid hindsight design - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Multixid hindsight design
Date
Msg-id 26764.1433514477@sss.pgh.pa.us
Whole thread Raw
In response to Re: Multixid hindsight design  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: Multixid hindsight design  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Simon Riggs <simon@2ndQuadrant.com> writes:
> On 11 May 2015 at 22:20, Heikki Linnakangas <hlinnaka@iki.fi> wrote:
>> So the lesson here is that having a permanent pg_multixact is not nice,
>> and we should get rid of it. Here's how to do that:

> An alternate proposal:

> 1. Store only the Locking xids in the Members SLRU
> 2. In the Offsets SLRU store: 1) the Updating Xid and 2) the offset to the
> Locking xids in the Members SLRU.

> This means the Offsets SLRU will be around twice the size it was before BUT
> since we reduce the size of each Members array by one, there is a balanced
> saving there, so this change is disk-space-neutral.

> That way if we need to make Offsets SLRU persistent it won't bloat.
> We then leave the Members SLRU as non-persistent, just as it was <9.3

I don't think you can do that, because it supposes that locking XIDs need
not be remembered across a crash.  Don't prepared transactions break that
assumption?
        regards, tom lane



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [CORE] Restore-reliability mode
Next
From: "Joshua D. Drake"
Date:
Subject: Re: RFC: Remove contrib entirely