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

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to