invisible commit question for sync replication

From: qihua wu <staywithpin(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: invisible commit question for sync replication
Date: 2023-02-01 06:52:49
Message-ID: CAPoYtoLLjg1rPLNsPoF5E4dAPgGaMnBEpxP-yW8xjgGkm1q16w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

When run a cluster with sync replication, if DML is done on primary, but
primary is isolated from all slave, then the DML will hang, if cancel it
DML, it will say:
WARNING: canceling wait for synchronous replication due to user request
DETAIL: The transaction has already committed locally, but might not have
been replicated to the standby

So the workflow is
1: commit to local.
2: waiting for ACK from remote sync.

When cancel the DML at step 2. the data are arealy on local, that's why
it's warning.

But when runs an insert which is waiting for remote ACK, and then query
from another session, I didn't find that row. Why this happen? If the
insert is already one locally, whey another session can't read it?

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Julien Rouhaud 2023-02-01 07:11:28 Re: invisible commit question for sync replication
Previous Message Brent Wood 2023-02-01 06:45:37 Re: Best Open Source OS for Postgresql