Re: cheaper snapshots

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Hannu Krosing <hannu(at)2ndquadrant(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: cheaper snapshots
Date: 2011-07-28 20:20:04
Message-ID: CA+TgmobPb9X64oyOiJexB3YOjMx__B2xD8LzY0OnhMcLBqFrfw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jul 28, 2011 at 3:40 PM, Hannu Krosing <hannu(at)2ndquadrant(dot)com> wrote:
> On Thu, 2011-07-28 at 21:32 +0200, Hannu Krosing wrote:
>> On Thu, 2011-07-28 at 14:27 -0400, Robert Haas wrote:
>>
>> > Hmm, interesting idea.  However, consider the scenario where some
>> > transactions are using synchronous_commit or synchronous replication,
>> > and others are not.  If a transaction that needs to wait (either just
>> > for WAL flush, or for WAL flush and synchronous replication) inserts
>> > its commit record, and then another transaction with
>> > synchronous_commit=off comes along and inserts its commit record, the
>> > second transaction will have to block until the first transaction is
>> > done waiting.
>>
>> What is the current behavior when the synchronous replication fails (say
>> the slave breaks down) - will the transaction be rolled back at some
>> point or will it wait indefinitely , that is until a new slave is
>> installed ?
>
> More importantly, if the master crashes after the commit is written to
> WAL, will the transaction be rolled back after recovery based on the
> fact that no confirmation from synchronous slave is received ?

No. You can't roll back a transaction once it's committed - ever.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-07-28 20:29:12 Re: cheaper snapshots
Previous Message Robert Haas 2011-07-28 20:19:10 Re: cheaper snapshots