Re: BUG #5915: OldSerXidAdd inflates pg_serial too much

Поиск
Список
Период
Сортировка
От Kevin Grittner
Тема Re: BUG #5915: OldSerXidAdd inflates pg_serial too much
Дата
Msg-id 4D70F844020000250003B4C0@gw.wicourts.gov
обсуждение исходный текст
Ответ на Re: BUG #5915: OldSerXidAdd inflates pg_serial too much  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: BUG #5915: OldSerXidAdd inflates pg_serial too much  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Список pgsql-bugs
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote:

> Hmm, if I'm reading that function correctly, it makes sure that
> when headPage < 0 (which implies that the SLRU has not been used
> since startup, right? )

No, look at the bottom of OldSerXidSetActiveSerXmin() -- cleanup of
segments is done incrementally, but when it finds it has cleaned up
*everything* it sets headPage = -1.  I believe that should only
happen when the xmin has moved past the end of the segment.

> it zeroes out the whole SLRU file, not only the currently active
> region.

That's not the intent.  If it's doing that, it's accidental.  It is
trying to zero from the start of a segment, if a new one is needed.

I'll look at this some more to see if I can spot something I'm
missing, but if you see something to indicate it's not working as I
describe above, please point me in the right direction.

-Kevin

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: BUG #5915: OldSerXidAdd inflates pg_serial too much
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: BUG #5915: OldSerXidAdd inflates pg_serial too much