Hello Maksim,

I know your post [1]. That thread is why there we performed more tests (see another my email in this thread). We are trying to somehow implement RPO=0 solution using PostgreSQL. Knowing this... Would be possible to build RPO=0 solution with PostgreSQL?

Ondrej

On 20/04/2021 18:51, Maksim Milyutin wrote:
Hi!


This is a known issue with synchronous replication [1]. You might inject into unmodified operation some dummy modification to overcome the negative sides of such partially committing without source code patching.


On 20.04.2021 19:23, Aleksander Alekseev wrote:
Although it's unlikely that someone implemented
an application which deals with important data and "pressed Ctr+C" as
it's done in psql.


Some client libraries have feature to cancel session that has similar effect to "Ctrl+C" from psql after specified by client deadline expiration [2]. Hence, this case might be quite often when application interacts with database.


On Mon, Apr 19, 2021 at 10:13 PM Ondřej Žižka <ondrej.zi...@stratox.cz> wrote:

 From the synchronous_commit=remote_write level and "higher", I would expect, that when the remote application (doesn't matter if flush, write or apply) would not be applied I would not receive a confirmation about the commit (even with a warning). Something like, if there is no commit from sync replica, there is no commit on primary and if someone performs the steps above, the whole transaction will not send a confirmation.


The warning have to be accounted here and performed commit have not to be treated as *successful*.


1. https://www.postgresql.org/message-id/C1F7905E-5DB2-497D-ABCC-E14D4DEE506C%40yandex-team.ru

2. https://www.postgresql.org/message-id/CANtu0ogbu%2By6Py963p-zKJ535b8zm5AOq7zkX7wW-tryPYi1DA%40mail.gmail.com




Reply via email to