Re: Global snapshots - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Global snapshots
Date
Msg-id 20200917215432.GA24265@momjian.us
Whole thread Raw
In response to Re: Global snapshots  (Alexey Kondratov <a.kondratov@postgrespro.ru>)
Responses Re: Global snapshots  (Alexey Kondratov <a.kondratov@postgrespro.ru>)
List pgsql-hackers
On Tue, Sep  8, 2020 at 01:36:16PM +0300, Alexey Kondratov wrote:
> Thank you for the link!
> 
> After a quick look on the Sawada-san's patch set I think that there are two
> major differences:
> 
> 1. There is a built-in foreign xacts resolver in the [1], which should be
> much more convenient from the end-user perspective. It involves huge in-core
> changes and additional complexity that is of course worth of.
> 
> However, it's still not clear for me that it is possible to resolve all
> foreign prepared xacts on the Postgres' own side with a 100% guarantee.
> Imagine a situation when the coordinator node is actually a HA cluster group
> (primary + sync + async replica) and it failed just after PREPARE stage of
> after local COMMIT. In that case all foreign xacts will be left in the
> prepared state. After failover process complete synchronous replica will
> become a new primary. Would it have all required info to properly resolve
> orphan prepared xacts?
> 
> Probably, this situation is handled properly in the [1], but I've not yet
> finished a thorough reading of the patch set, though it has a great doc!
> 
> On the other hand, previous 0003 and my proposed patch rely on either manual
> resolution of hung prepared xacts or usage of external monitor/resolver.
> This approach is much simpler from the in-core perspective, but doesn't look
> as complete as [1] though.

Have we considered how someone would clean up foreign transactions if the
coordinating server dies?  Could it be done manually?  Would an external
resolver, rather than an internal one, make this easier?

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EnterpriseDB                             https://enterprisedb.com

  The usefulness of a cup is in its emptiness, Bruce Lee




pgsql-hackers by date:

Previous
From: John Naylor
Date:
Subject: Re: WIP: BRIN multi-range indexes
Next
From: John Naylor
Date:
Subject: Re: WIP: BRIN multi-range indexes