Re: error context for vacuum to include block number
Justin Pryzby <pryzby@telsasoft.com>
From: Justin Pryzby <pryzby@telsasoft.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>, Alvaro Herrera <alvherre@2ndquadrant.com>, Andres Freund <andres@anarazel.de>, Michael Paquier <michael@paquier.xyz>, pgsql-hackers@postgresql.org
Date: 2020-03-28T01:16:32Z
Lists: 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
Commits
-
Avoid calls to RelationGetRelationName() and RelationGetNamespace() in
- ef75140fe756 13.0 landed
-
Introduce vacuum errcontext to display additional information.
- b61d161c1463 13.0 landed
-
Fix mesurement of elapsed time during truncating heap in VACUUM.
- 007491979461 13.0 cited
-
Allow vacuum command to process indexes in parallel.
- 40d964ec997f 13.0 cited
-
Refactor code dedicated to index vacuuming in vacuumlazy.c
- 1ab41a3c8edc 13.0 landed
-
Remove duplicated progress reporting during heap scan of VACUUM
- e5a02e0fc68b 13.0 landed