Avoid use of NOTICE to wait for snapshot invalidation

This idea (implemented in commits and bc32a12e0db2 and 9e8fa05d3412) of
using notices to detect that a session is sleeping was unreliable, so
simplify the concurrency controller session to just look at
pg_stat_activity for a process sleeping on the injection point we want
it to hit.  This change allows us to remove a secondary injection point
and the alternative expected output files.

Reproduced by Alexander Lakhin following a report in buildfarm member
skink (which runs the server under valgrind).

Author: Mihail Nikalayeu <[email protected]>
Reported-by: Alexander Lakhin <[email protected]>
Reviewed-by: Álvaro Herrera <[email protected]>
Discussion: https://postgr.es/m/[email protected]

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5dee7a603f664115f8fe9819b0c19abd8209cd02

Modified Files
--------------
src/backend/utils/time/snapmgr.c                   |   1 -
.../index-concurrently-upsert-predicate.out        |  23 ++--
.../index-concurrently-upsert-predicate_1.out      | 116 ---------------------
.../expected/index-concurrently-upsert.out         |  29 ++++--
.../expected/index-concurrently-upsert_1.out       | 116 ---------------------
.../specs/index-concurrently-upsert-predicate.spec |  21 +++-
.../specs/index-concurrently-upsert.spec           |  27 +++--
7 files changed, 72 insertions(+), 261 deletions(-)

Reply via email to