On Thu, 2010-05-27 at 19:21 +0900, Fujii Masao wrote:
> On Thu, May 27, 2010 at 6:30 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
> > Would it be easier to have
> > this happen in a second pair of processes WALSynchroniser (on primary)
> > and WAL Acknowledger (on standby). WALAcknowledger would send back a
> > stream of ack messages with latest xlog positions. WALSynchroniser would
> > receive these messages and wake up sleeping backends. If we did that
> > then there'd be almost no change at all to existing code, just
> > additional code and processes for the sync case. Code would be separate
> > and there would be no performance concerns either.
>
> No, this seems to be bad idea. We should not establish extra connection
> between servers. That would be a source of trouble.
What kind of trouble? You think using an extra connection would cause
problems; why?
I've explained it would greatly simplify the code to do it that way and
improve performance. Those sound like good things, not problems.
> > If you do choose to make #3 important, then I'd say you need to work out
> > how to make WALWriter active as well, so it can perform regular fsyncs,
> > rather than having WALReceiver wait across that I/O.
>
> Yeah, this might be an option for optimization though I'm not sure how
> it has good effect.
As I said, WALreceiver would not need to wait across fsync...
-- Simon Riggs www.2ndQuadrant.com