Re: Disallow cancellation of waiting for synchronous replication

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Maksim Milyutin <milyutinma(at)gmail(dot)com>
Cc: Marco Slot <marco(at)citusdata(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, dim(at)tapoueh(dot)org
Subject: Re: Disallow cancellation of waiting for synchronous replication
Date: 2019-12-25 10:45:23
Message-ID: 2EC4E805-B227-45AE-8AF7-FE1739AEB915@yandex-team.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> 25 дек. 2019 г., в 15:28, Maksim Milyutin <milyutinma(at)gmail(dot)com> написал(а):
>
>> Synchronous replication
>> does not guarantee that a committed write is actually on any replica,
>> but it does in general guarantee that a commit has been replicated
>> before sending a response to the client. That's arguably more
>> important because the rest of what the application might depend on the
>> transaction completing and replicating successfully. I don't know of
>> cases other than cancellation in which a response is sent to the
>> client without replication when synchronous replication is enabled.
>
>
> Yes, at query canceling (e.g. by timeout from client driver) client receives response about completed transaction (though with warning which not all client drivers can handle properly) and the guarantee about successfully replicated transaction *violates*.

We obviously need a design discussion here to address the issue. But the immediate question is should we add this topic to January CF items?

Best regards, Andrey Borodin.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Sergei Kornilov 2019-12-25 11:01:34 Re: ALTER TABLE support for dropping generation expression
Previous Message Maksim Milyutin 2019-12-25 10:28:39 Re: Disallow cancellation of waiting for synchronous replication