Re: Missing CONCURRENT VACUUM (Was: Release notes for - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: Missing CONCURRENT VACUUM (Was: Release notes for
Date
Msg-id 1124313929.31798.123.camel@fuji.krosing.net
Whole thread Raw
In response to Re: Missing CONCURRENT VACUUM (Was: Release notes for  (Hannu Krosing <hannu@skype.net>)
List pgsql-hackers
On K, 2005-08-17 at 23:58 +0300, Hannu Krosing wrote:
> On K, 2005-08-17 at 16:45 -0400, Tom Lane wrote:
> > Hannu Krosing <hannu@skype.net> writes:
> > > On K, 2005-08-17 at 14:48 -0400, Tom Lane wrote:
> > >> While testing this I realized that it does not in fact work as
> > >> advertised.  It will only exclude long-running VACUUMs from other
> > >> VACUUMs' OldestXmin if *all* the transactions in the system are lazy
> > >> VACUUMs.  If there is even one regular transaction in the system,
> > >> that transaction will include the VACUUMs in its MyProc->xmin, and
> > >> thence GetOldestXmin will have to include them in its result.
> > 
> > > Only if these regular transactions are running in SERIALIZABLE isolation
> > > level, else MyProc->xmin is not set inside GetSnapshotData.
> > 
> > Better read the code again.  The first snap in *any* transaction sets
> > MyProc->xmin.
> 
> Can't find the place :(
> 
> Could you point to the file / function that does this.

Nevermind. Found it - GetTransactionSnapshot() always gets a
serializable snapshot first.

-- 
Hannu Krosing <hannu@tm.ee>


pgsql-hackers by date:

Previous
From: Josh Berkus
Date:
Subject: Re: bitmap scan issues 8.1 devel
Next
From: "Johnny C. Lam"
Date:
Subject: Re: pthread stack on FreeBSD WAS: HEAD doesn't cope with