From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
---|---|
To: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
Cc: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, "Kolb, Harald (NSN - DE/Munich)" <harald(dot)kolb(at)nsn(dot)com> |
Subject: | Re: pg_subtrans keeps bloating up in the standby |
Date: | 2010-08-30 07:39:55 |
Message-ID: | 1283153995.1800.1540.camel@ebony |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, 2010-08-30 at 09:59 +0300, Heikki Linnakangas wrote:
> On 27/08/10 20:17, Fujii Masao wrote:
> > Yes. StartupXLOG calls that before bgwriter is invoked. That is, we can
> > ensure that StartupSUBTRANS has always been done before bgwriter
> > performs a restartpoint.
>
> Hmm, the comment in CreateCheckpoint() isn't totally accurate either:
>
> > * Truncate pg_subtrans if possible. We can throw away all data before
> > * the oldest XMIN of any running transaction. No future transaction will
> > * attempt to reference any pg_subtrans entry older than that (see Asserts
> > * in subtrans.c). During recovery, though, we mustn't do this because
> > * StartupSUBTRANS hasn't been called yet.
Yep.
> because in Hot Standby mode, StartSUBTRANS has been called already. We
> could truncate pg_subtrans there too when hot standby is enabled. But
> this is only about the startup checkpoint at the end of recovery, so I'm
> inclined to not change that, not right now just before release anyway,
> just in case we're missing something...
>
> However, is it safe to use GetOldestXMin() during recovery? Or to put it
> other way, is GetOldestXMin() functioning correctly during hot standby?
> It only scans through the ProcArray, but not the known-assigned xids
> array. That seems like an oversight that needs to be fixed.
Yes, thats correct. Otherwise the patch is fine.
I'm working on this now and will commit something shortly.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Training and Services
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2010-08-30 08:19:05 | Re: upcoming wraps |
Previous Message | Heikki Linnakangas | 2010-08-30 06:59:36 | Re: pg_subtrans keeps bloating up in the standby |