[pgpool-general: 3638] Re: PGPool sending r/w queries to wrong DB node

Yugo Nagata nagata at sraoss.co.jp
Fri Apr 17 19:21:09 JST 2015


On Wed, 15 Apr 2015 09:22:23 -0400
Pablo Sanchez <pablo at blueoakdb.com> wrote:

> [ Comments below, in-line ]
> 
> On 04/15/2015 07:01 AM, Yugo Nagata wrote:
> > Hi,
> 
> Hi Yugo,
> 
> > How did you terminate the DELETE? If you terminated by
> > pg_terminal_backend(), this caused the degerenation.  I confirmed
> > this by issuing "SELECT pg_sleep(100)" through pgpool-II.
> 
> Aha!  I did terminate the DELETEs as follows:
> 
>     SELECT pg_terminate_backend(pid)
>     FROM   pg_stat_activity
>     WHERE  query LIKE 'delete%'
>     AND    state ='active';
> 
> At the time we had this "pgpool.conf" setting:
> 
>     fail_over_on_backend_error = on
> 
> As I mentioned earlier in the thread, after the error I've changed it
> to:
> 
>     fail_over_on_backend_error = off
> 
> With "fail_over_on_backend_error = off", I tried the Unit Test you
> provided and pgpool did not degenerate.  :)
> 
> Does pg_cancel_backend() also cause a degeneration?

I tried but this didn't cause it.

> 
> In an effort to improve the documentation ... the current pgpool-II
> user manual doesn't mention anything about a pg_terminate_backend()
> causing a failover.

As a sample of backend communication error, it might be good to 
mention pg_terminate_backend and kill command.

Thanks!

> 
>     http://www.pgpool.net/docs/latest/pgpool-en.html:
> 
> Perhaps we can append to the "fail_over_on_backend_error" section the
> following:
> 
>      fail_over_on_backend_error V2.3 -
> 
>      ... old text here ...
> 
>      CAUTION:  when set to /on/, a pg_terminate_backend() or
>      pg_cancel_backend() will cause a failover.
> 
> Cheers,
> --
> Pablo Sanchez - Blueoak Database Engineering, Inc
> Ph:    819.459.1926         Blog:  http://pablo-blog.blueoakdb.com
> iNum:  883.5100.0990.1054
> 


-- 
Yugo Nagata <nagata at sraoss.co.jp>


More information about the pgpool-general mailing list