Remove the "snapshot too old" feature.
authorThomas Munro <tmunro@postgresql.org>
Tue, 5 Sep 2023 06:26:12 +0000 (18:26 +1200)
committerThomas Munro <tmunro@postgresql.org>
Tue, 5 Sep 2023 07:53:43 +0000 (19:53 +1200)
commitf691f5b80a85c66d715b4340ffabb503eb19393e
tree26a06c87096de2f9571956b4370ccbf1852d4cba
parentaa0d3504560d40f4300a3d49d1c6c3bfc3b894e5
Remove the "snapshot too old" feature.

Remove the old_snapshot_threshold setting and mechanism for producing
the error "snapshot too old", originally added by commit 848ef42b.
Unfortunately it had a number of known problems in terms of correctness
and performance, mostly reported by Andres in the course of his work on
snapshot scalability.  We agreed to remove it, after a long period
without an active plan to fix it.

This is certainly a desirable feature, and someone might propose a new
or improved implementation in the future.

Reported-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CACG%3DezYV%2BEvO135fLRdVn-ZusfVsTY6cH1OZqWtezuEYH6ciQA%40mail.gmail.com
Discussion: https://postgr.es/m/20200401064008.qob7bfnnbu4w5cw4%40alap3.anarazel.de
Discussion: https://postgr.es/m/CA%2BTgmoY%3Daqf0zjTD%2B3dUWYkgMiNDegDLFjo%2B6ze%3DWtpik%2B3XqA%40mail.gmail.com
50 files changed:
contrib/Makefile
contrib/bloom/blscan.c
contrib/meson.build
contrib/old_snapshot/Makefile [deleted file]
contrib/old_snapshot/meson.build [deleted file]
contrib/old_snapshot/old_snapshot--1.0.sql [deleted file]
contrib/old_snapshot/old_snapshot.control [deleted file]
contrib/old_snapshot/time_mapping.c [deleted file]
doc/src/sgml/config.sgml
doc/src/sgml/contrib.sgml
doc/src/sgml/filelist.sgml
doc/src/sgml/oldsnapshot.sgml [deleted file]
src/backend/access/brin/brin_revmap.c
src/backend/access/gin/ginbtree.c
src/backend/access/gin/ginget.c
src/backend/access/gist/gistget.c
src/backend/access/hash/hashsearch.c
src/backend/access/heap/heapam.c
src/backend/access/heap/pruneheap.c
src/backend/access/heap/vacuumlazy.c
src/backend/access/nbtree/nbtsearch.c
src/backend/access/spgist/spgscan.c
src/backend/catalog/index.c
src/backend/commands/vacuum.c
src/backend/storage/buffer/bufmgr.c
src/backend/storage/ipc/ipci.c
src/backend/storage/ipc/procarray.c
src/backend/storage/lmgr/lwlocknames.txt
src/backend/utils/activity/wait_event_names.txt
src/backend/utils/errcodes.txt
src/backend/utils/misc/guc_tables.c
src/backend/utils/misc/postgresql.conf.sample
src/backend/utils/time/snapmgr.c
src/include/access/heapam.h
src/include/storage/bufmgr.h
src/include/utils/old_snapshot.h [deleted file]
src/include/utils/snapmgr.h
src/test/modules/Makefile
src/test/modules/meson.build
src/test/modules/snapshot_too_old/.gitignore [deleted file]
src/test/modules/snapshot_too_old/Makefile [deleted file]
src/test/modules/snapshot_too_old/expected/sto_using_cursor.out [deleted file]
src/test/modules/snapshot_too_old/expected/sto_using_hash_index.out [deleted file]
src/test/modules/snapshot_too_old/expected/sto_using_select.out [deleted file]
src/test/modules/snapshot_too_old/meson.build [deleted file]
src/test/modules/snapshot_too_old/specs/sto_using_cursor.spec [deleted file]
src/test/modules/snapshot_too_old/specs/sto_using_hash_index.spec [deleted file]
src/test/modules/snapshot_too_old/specs/sto_using_select.spec [deleted file]
src/test/modules/snapshot_too_old/sto.conf [deleted file]
src/tools/pgindent/typedefs.list