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

From Kevin Grittner
Subject Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature
Date
Msg-id CACjxUsN-EXf4u5=76Co1kto-KG=mOj63=taO7ioo4qQ6jBkwew@mail.gmail.com
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers
On Thu, Aug 25, 2016 at 2:56 PM, Alvaro Herrera
<alvherre@2ndquadrant.com> wrote:
> 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.

What about the state after pending-list entries are applied?  Would
the change you suggest still run across a page with an appropriate
LSN?

I will go review what I did in the gin AM, but wanted to put that
question out there first...

--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: increasing the default WAL segment size
Next
From: Oleg Bartunov
Date:
Subject: Fwd: [Snowball-discuss] Greek stemmer