Re: [COMMITTERS] pgsql: Efficient transaction-controlled synchronous replication.
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Simon Riggs <simon@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-03-11T10:46:03Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Efficient transaction-controlled synchronous replication.
- a8a8a3e09652 9.1.0 cited
On Fri, Mar 11, 2011 at 5:04 AM, Robert Haas <robertmhaas@gmail.com> wrote: >> if ((wrote_xlog && XactSyncCommit) || forceSyncCommit || nrels > 0 || >> SyncRepRequested()) >> >> Whenever synchronous_replication is TRUE, we disable synchronous_commit. >> But, before disabling that, we should check also max_wal_senders and >> synchronous_standby_names? Otherwise, synchronous_commit can >> be disabled unexpectedly even in non replication case. > > Yeah, that's bad. At the risk of repeating myself, I don't think this > code should be checking SyncRepRequested() in the first place. If the > user has turned off synchronous_commit, then we should just commit > asynchronously, even if sync rep is otherwise in force. Otherwise, > this if statement is going to get really complicated. The logic is > already at least mildly wrong here anyway: clearly we do NOT need to > commit synchronously if the transaction has not written xlog, even if > sync rep is enabled. Yeah, not to wait for replication when synchronous_commit is disabled seems to be more reasonable. Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center