Re: PANIC :Call AbortTransaction when transaction id is no normal - Mailing list pgsql-hackers

From Tom Lane
Subject Re: PANIC :Call AbortTransaction when transaction id is no normal
Date
Msg-id 15939.1557754652@sss.pgh.pa.us
Whole thread Raw
In response to Re: PANIC :Call AbortTransaction when transaction id is no normal  (Michael Paquier <michael@paquier.xyz>)
Responses Re: PANIC :Call AbortTransaction when transaction id is no normal  (Kuntal Ghosh <kuntalghosh.2007@gmail.com>)
Re: PANIC :Call AbortTransaction when transaction id is no normal  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: PANIC :Call AbortTransaction when transaction id is no normal  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers
Michael Paquier <michael@paquier.xyz> writes:
> On Mon, May 13, 2019 at 01:25:19PM +0530, Kuntal Ghosh wrote:
>> If we fix the issue in this way, we're certainly not going to do all
>> those portal,locks,memory,resource owner cleanups that are done
>> inside AbortTransaction() for a normal transaction ID. But, I'm not
>> sure how relevant those steps are since the database is anyway
>> shutting down.

> And it is happening in bootstrap, meaning that the data folder is most
> likely toast, and needs to be reinitialized.

Indeed, initdb is going to remove the data directory if the bootstrap run
crashes.

If we do anything at all about this, my thought would just be to change
bootstrap_signals() so that it points all the signal handlers at
quickdie(), or maybe something equivalent to quickdie() but printing
a more apropos message, or even just set them all to SIGDFL since that
means process termination for all of these.  die() isn't really the right
thing, precisely because it thinks it can trigger transaction abort,
which makes no sense in bootstrap mode.

But ... that code's been like that for decades and nobody's complained
before.  Why are we worried about bootstrap's response to signals at all?

            regards, tom lane



pgsql-hackers by date:

Previous
From: Ashutosh Sharma
Date:
Subject: Passing CopyMultiInsertInfo structure to CopyMultiInsertInfoNextFreeSlot()
Next
From: David Rowley
Date:
Subject: Re: Passing CopyMultiInsertInfo structure to CopyMultiInsertInfoNextFreeSlot()