pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Teodor Sigaev <teodor@sigaev.ru>
To: Stas Kelvich <s.kelvich@postgrespro.ru>
To: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Subject: Re: FinishPreparedTransaction missing HOLD_INTERRUPTS section
Date: Thu, 3 May 2018 20:11:28 +0300
Message-ID: <134675be-cf09-7f8c-9eba-e87fb13990d5@sigaev.ru> (raw)
In-Reply-To: <3AD85097-A3F3-4EBA-99BD-C38EDF8D2949@postgrespro.ru>
References: <3AD85097-A3F3-4EBA-99BD-C38EDF8D2949@postgrespro.ru>

Thank you, pushed!

Stas Kelvich wrote:
> Hello.
> 
> It seems that during COMMIT PREPARED FinishPreparedTransaction() doesn't
> hold interrupts around writing to wal and cleaning up ProcArray and GXact
> entries. At least RemoveTwoPhaseFile (which is called in between) can print
> a warning with ereport(), which, in turn will check for interrupts and
> therefore can cancel backend or throw an error before GXact clean-up.
> 
> Other similar places like CommitTransaction and PrepareTransaction have
> such hold interrupts sections.
> 
> --
> Stas Kelvich
> Postgres Professional: http://www.postgrespro.com
> The Russian Postgres Company
> 

-- 
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
                                                    WWW: http://www.sigaev.ru/




view thread (3+ messages)

Message-ID: <134675be-cf09-7f8c-9eba-e87fb13990d5@sigaev.ru>
Permalink:  ../134675be-cf09-7f8c-9eba-e87fb13990d5@sigaev.ru/
Also on:    postgresql.org/message-id/134675be-cf09-7f8c-9eba-e87fb13990d5@sigaev.ru

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: teodor@sigaev.ru, s.kelvich@postgrespro.ru
  Subject: Re: FinishPreparedTransaction missing HOLD_INTERRUPTS section
  In-Reply-To: <134675be-cf09-7f8c-9eba-e87fb13990d5@sigaev.ru>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox