From: | Kevin Grittner <kgrittn(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix interaction between CREATE INDEX and "snapshot too old". |
Date: | 2016-06-10 14:35:51 |
Message-ID: | E1bBNXL-0007oE-JW@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix interaction between CREATE INDEX and "snapshot too old".
Since indexes are created without valid LSNs, an index created
while a snapshot older than old_snapshot_threshold existed could
cause queries to return incorrect results when those old snapshots
were used, if any relevant rows had been subject to early pruning
before the index was built. Prevent usage of a newly created index
until all such snapshots are released, for relations where this can
happen.
Questions about the interaction of "snapshot too old" with index
creation were initially raised by Andres Freund.
Reviewed by Robert Haas.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/bf9a60ee3349a2f2dc5fe6d571a8d39cfc634371
Modified Files
--------------
src/backend/catalog/index.c | 28 +++++++++++++++++++++-------
src/backend/storage/buffer/bufmgr.c | 3 +--
src/backend/utils/time/snapmgr.c | 5 +----
src/include/utils/snapmgr.h | 13 +++++++++++++
4 files changed, 36 insertions(+), 13 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Grittner | 2016-06-10 14:45:01 | Re: [HACKERS] Re: pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold < |
Previous Message | Amit Kapila | 2016-06-10 13:22:26 | Re: [COMMITTERS] pgsql: Don't generate parallel paths for rels with parallel-restricted |