SynchRep; wait-forever and shutdown

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: SynchRep; wait-forever and shutdown
Date: 2010-12-10 04:54:55
Message-ID: AANLkTin3kgcMxTjGqpD25sg2T8gPs6UAqeBq+HQJjB7G@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

In previous discussion, some people wanted the "wait-forever" option which
blocks all the transactions on the master until sync'd standby has appeared,
in order to reduce the risk of data loss in synchronous replication.

What I'm not clear is; How does smart or fast shudown advance while all the
transactions are being blocked?

1. Shutdown should wait for all the transactions to end by appearance of
sync'd standby?
* Problem is that shutdown would take very long.

2. Shutdown should commit all the blocking transactions?
* Problem is that a client thinks that those transactions have successfully
been committed even though they have not been replicated to the
standby.

3. Shutdown should abort all the blocking transactions?
* Problem is that a client thinks that those transactions have been aborted
even though those WAL records have been written on the master. But
this is very common problem for DBMS, so we don't need to worry about
this in the context of replication.

ISTM smart and fast shutdown fits in with #1 and #3, respectively. Thought?

Regards,

--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dan Ports 2010-12-10 05:42:01 Re: serializable read only deferrable
Previous Message Greg Smith 2010-12-10 02:50:56 Re: Final(?) proposal for wal_sync_method changes