[Pgpool-general] pg_terminate_backend triggers failover on pgpool when used as standalone pool

Glyn Astill glynastill at yahoo.co.uk
Tue May 11 08:22:38 UTC 2010


Hi Tatsuo,

My conf file is as follows (I've removed comments etc for clarity)

listen_addresses = '*'
port = 5432 
pcp_port = 9898
socket_dir = '/tmp'
pcp_socket_dir = '/tmp'
backend_socket_dir = '/tmp'
pcp_timeout = 10
num_init_children = 600 
max_pool = 1 
child_life_time = 300
connection_life_time = 30
child_max_connections = 0
client_idle_limit = 0
authentication_timeout = 60
logdir = '/tmp'
pid_file_name = '/var/run/pgpool/pgpool.pid'
replication_mode = false
load_balance_mode = false
replication_stop_on_mismatch = false
replicate_select = false
reset_query_list = 'ABORT; DISCARD ALL'
print_timestamp = true
master_slave_mode = false
connection_cache = true
health_check_timeout = 20
health_check_period = 0
health_check_user = 'nobody'
failover_command = ''
failback_command = ''
insert_lock = false 
ignore_leading_white_space = true
log_statement = false
log_per_node_statement = false
log_connections = false
log_hostname = false
parallel_mode = false
enable_query_cache = false
pgpool2_hostname = ''

system_db_hostname = 'localhost'
system_db_port = 5432
system_db_dbname = 'pgpool'
system_db_schema = 'pgpool_catalog'
system_db_user = 'pgpool'
system_db_password = ''

backend_hostname0 = '10.10.10.95'
backend_port0 = 5432
backend_weight0 = 1

enable_pool_hba = false
recovery_user = 'nobody'
recovery_password = ''
recovery_1st_stage_command = ''
recovery_2nd_stage_command = ''
recovery_timeout = 90
client_idle_limit_in_recovery = 0
lobj_lock_table = ''
ssl = false

--- On Tue, 11/5/10, Tatsuo Ishii <ishii at sraoss.co.jp> wrote:

> From: Tatsuo Ishii <ishii at sraoss.co.jp>
> Subject: Re: [Pgpool-general] pg_terminate_backend triggers failover on pgpool when used as standalone pool
> To: glynastill at yahoo.co.uk
> Cc: pgpool-general at pgfoundry.org
> Date: Tuesday, 11 May, 2010, 4:40
> > We're using pgpool-II 2.3.3
> purely as a connection pool to postgres 8.4, however if any
> one of the connections are closed via pg_terminate_backend
> in postgres 8.4 then pgpool attempts to fail over to a
> nonexistant node? See logging below.
> > 
> > Also how do we log when pgpool is run as a daemon? The
> only way I could get the log output was to run with -n.
> > 
> > Thanks
> > Glyn
> > 
> > 2010-05-10 12:48:13 LOG:   pid 31815:
> pgpool-II successfully started. version 2.3.3 (tomiteboshi)
> > 2010-05-10 12:49:20 LOG:   pid 31815:
> reload config files.
> > 2010-05-10 12:50:06 LOG:   pid 31819:
> postmaster on DB node 0 was shutdown by administrative
> command
> > 2010-05-10 12:50:06 LOG:   pid 31819:
> notice_backend_error: 0 fail over request from pid 31819
> > 2010-05-10 12:50:06 LOG:   pid 31815:
> starting degeneration. shutdown host 10.10.10.95(5432)
> > 2010-05-10 12:50:06 ERROR: pid 31815:
> failover_handler: no valid DB node found
> > 2010-05-10 12:50:06 LOG:   pid 31815:
> failover_handler: set new master node: 1
> > 2010-05-10 12:50:06 LOG:   pid 31815:
> failover done. shutdown host 10.10.10.95(5432)
> > 2010-05-10 12:50:14 LOG:   pid 32465:
> Cannot accept() new connection. all backends are down
> 
> I couldn't reproduce your problem (although I tested with
> replication
> mode). Can you show me pgpool.conf?
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> English: http://www.sraoss.co.jp/index_en.php
> Japanese: http://www.sraoss.co.jp
> 


      


More information about the Pgpool-general mailing list