Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature
Date
Msg-id 20160825195609.GA273578@alvherre.pgsql
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature  (Kevin Grittner <kgrittn@gmail.com>)
Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature  (Kevin Grittner <kgrittn@gmail.com>)
List pgsql-hackers
Kevin Grittner wrote:
> Add the "snapshot too old" feature

> src/backend/access/gin/ginbtree.c                  |   9 +-
> src/backend/access/gin/gindatapage.c               |   7 +-
> src/backend/access/gin/ginget.c                    |  22 +-
> src/backend/access/gin/gininsert.c                 |   2 +-

I'm wondering about the TestForOldSnapshot call in scanPendingInsert().
Why do we apply it to the metapage buffer (line 1717 in master)?
Shouldn't we apply it to the pending-list pages themselves only, if any?
(If there are no pending-list pages, surely the age of the snapshot used
to read the metapage doesn't matter; and if there are, then the age of
the pending-list pages will fail the test.)


FWIW I like the "revert" commit, because it easily shows me in what
places you considered a snapshot-too-old test and decided not to add
one.  Bare BufferGetPage calls (the current situation) don't indicate that.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: increasing the default WAL segment size
Next
From: Peter Geoghegan
Date:
Subject: Re: UPSERT strange behavior