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
shutdownwould take very long.
2. Shutdown should commit all the blocking transactions? * Problem is that a client thinks that those transactions
havesuccessfully 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
havebeen aborted even though those WAL records have been written on the master. But this is very common
problemfor 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