On Tue, Oct 8, 2013 at 3:16 PM, Andres Freund <and...@2ndquadrant.com>wrote:

> On 2013-10-08 15:07:02 +0530, Pavan Deolasee wrote:
> > On Tue, Oct 8, 2013 at 2:33 PM, Sawada Masahiko <sawada.m...@gmail.com
> >wrote:
> >
> > > On Fri, Oct 4, 2013 at 4:32 PM, Fujii Masao <masao.fu...@gmail.com>
> wrote:
> > > >
> > > I attached the v12 patch which have modified based on above
> suggestions.
> > >
> >
> > There are still some parts of this design/patch which I am concerned
> about.
> >
> > 1. The design clubs synchronous standby and failback safe standby rather
> > very tightly. IIRC this is based on the feedback you received early, so
> my
> > apologies for raising it again so late.
>
> It is my impression that there still are several people having pretty
> fundamental doubts about this approach in general. From what I remember
> neither Heikki, Simon, Tom nor me were really convinced about this
> approach.
>


Listing down all objections and their solutions:

Major Objection on the proposal:
* Tom Lane*
# additional complexity to the code it will cause performance overhead - On
an average it causes 0.5 - 1% performance overhead for fast transaction
workload, as the wait is mostly on backend process. The latest re-factored
code, looks less complex.
# Use of rsync with checksum - but many pages on the two servers may differ
in their binary values because of hint bits

*Heikki :*
# Use pg_rewind to do the same:
It has well known problem of hint bit updates.
If we use this we need enable checksums or explicitly WAL log hint bits
which leads to performance overhead

*Amit Kapila*
# How to take care of extra WAL on old master during recovery.?
we can solve this by deleting all WAL file when old master before it starts
as new standby.

*Simon Riggs*
# Renaming patch - done
# remove extra set of parameters - done
# performance drop - On an average it causes 0.5 - 1% performance overhead
for fast transaction workload, as the wait is mostly on backend process.
# The way of configuring standby - with synchronous_transfer parameter we
can configure 4 types of standby servers depending on the need.

*Fujii Masao*
# how patch interacts with cascaded standby - patch works same as
synchronous replication
# CHECKPOINT in the standby, it got stuck infinitely. - fixed this
# Complicated conditions in SyncRepWaitForLSN() – code has been refactored
in v11
# Improve source code comments - done

*Pavan Deolasee*
 # Interaction of synchronous_commit with synchronous_transfer
- Now synchronous_commit only controls whether and how
to wait for the standby only when a transaction
commits. synchronous_transfer OTOH tells how to interpret the standby
listed in
synchronous_standbys parameter.
 # Further Improvements in the documentation - we will do that
 # More stress testing - we will do that

Any inputs on stress testing would help.

Reply via email to