Fix autovacuum cancellation.
The problem is caused by me (Andres) having ProcSleep() look at the wrong PGPROC entry in 5788e258bb2. Unfortunately it seems hard to write a reliable test for autovacuum cancellations. Perhaps somebody will come up with a good approach, but it seems worth fixing the issue even without a test. Reported-By: Jeff Janes <jeff.janes@gmail.com> Author: Jeff Janes <jeff.janes@gmail.com> Discussion: https://postgr.es/m/CAMkU=1wH2aUy+wDRDz+5RZALdcUnEofV1t9PzXS_gBJO9vZZ0Q@mail.gmail.com
This commit is contained in:
parent
3438c988fd
commit
5871f09c98
@ -1318,7 +1318,7 @@ ProcSleep(LOCALLOCK *locallock, LockMethod lockMethodTable)
|
|||||||
* Only do it if the worker is not working to protect against Xid
|
* Only do it if the worker is not working to protect against Xid
|
||||||
* wraparound.
|
* wraparound.
|
||||||
*/
|
*/
|
||||||
vacuumFlags = ProcGlobal->vacuumFlags[proc->pgxactoff];
|
vacuumFlags = ProcGlobal->vacuumFlags[autovac->pgxactoff];
|
||||||
if ((vacuumFlags & PROC_IS_AUTOVACUUM) &&
|
if ((vacuumFlags & PROC_IS_AUTOVACUUM) &&
|
||||||
!(vacuumFlags & PROC_VACUUM_FOR_WRAPAROUND))
|
!(vacuumFlags & PROC_VACUUM_FOR_WRAPAROUND))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user