Avoid use of NOTICE to wait for snapshot invalidation
Álvaro Herrera <alvherre@kurilemu.de>
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 <mihailnikalayeu@gmail.com> Reported-by: Alexander Lakhin <exclusion@gmail.com> Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de> Discussion: https://postgr.es/m/3e302c96-cdd2-45ec-af84-03dbcdccde4a@gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/time/snapmgr.c | modified | +0 −1 |
| src/test/modules/injection_points/expected/index-concurrently-upsert_1.out | deleted | +0 −116 |
| src/test/modules/injection_points/expected/index-concurrently-upsert.out | modified | +20 −9 |
| src/test/modules/injection_points/expected/index-concurrently-upsert-predicate_1.out | deleted | +0 −116 |
| src/test/modules/injection_points/expected/index-concurrently-upsert-predicate.out | modified | +17 −6 |
| src/test/modules/injection_points/specs/index-concurrently-upsert-predicate.spec | modified | +16 −5 |
| src/test/modules/injection_points/specs/index-concurrently-upsert.spec | modified | +19 −8 |
Discussion
- Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY 99 messages · 2024-06-11 → 2026-01-28