Re: error context for vacuum to include block number - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: error context for vacuum to include block number
Date
Msg-id 20200328011632.GY20103@telsasoft.com
Whole thread Raw
In response to Re: error context for vacuum to include block number  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: error context for vacuum to include block number  (Amit Kapila <amit.kapila16@gmail.com>)
List pgsql-hackers
On Sat, Mar 28, 2020 at 06:28:38AM +0530, Amit Kapila wrote:
> > Hm, but I caused a crash *without* adding CHECK_FOR_INTERRUPTS, just
> > kill+sleep.  The kill() could come from running pg_cancel_backend().  And the
> > sleep() just encourages a context switch, which can happen at any time.
> 
> pg_sleep internally uses CHECK_FOR_INTERRUPTS() due to which it would
> have accepted the signal sent via pg_cancel_backend().  Can you try
> your scenario by temporarily removing CHECK_FOR_INTERRUPTS from
> pg_sleep() or maybe better by using OS Sleep call?

Ah, that explains it.  Right, I'm not able to induce a crash with usleep().

Do you want me to resend a patch without that change ?  I feel like continuing
to trade patches is more likely to introduce new errors or lose someone else's
changes than to make much progress.  The patch has been through enough
iterations and it's very easy to miss an issue if I try to eyeball it.

-- 
Justin



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: error context for vacuum to include block number
Next
From: Tomas Vondra
Date:
Subject: Re: [PATCH] Incremental sort (was: PoC: Partial sort)