Re: max_standby_delay considered harmful

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Greg Smith <greg@2ndquadrant.com>
Cc: Josh Berkus <josh@agliodbs.com>, pgsql-hackers@postgresql.org
Date: 2010-05-06T21:32:07Z
Lists: pgsql-hackers
Greg Smith wrote:
> Bruce Momjian wrote:
> > Remember, delaying wal application just delays making the standby a
> > master and makes the slave data appear staler.  We can just tell people
> > that the larger their queries are, the larger this delay will be.  If
> > they want to control this, they can set 'statement_timeout' already.
> >   
> 
> While a useful defensive component, statement_timeout is a user setting, 
> so it can't provide guaranteed protection against a WAL application 
> denial of service from a long running query.  A user that overrides the 
> system setting and kicks off a long query puts you right back into 
> needing a timeout to ensure forward progress of standby replay.

The nice thing about query cancel is that it give predictable behavior. 
We could make statement_timeout that can't be changed if it is set in
postgresql.conf.  Again, let's think of that for 9.1.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com