On Fri, Mar 11, 2011 at 5:04 AM, Robert Haas <robertmh...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers