[pgpool-general: 217] Re: Pgpool-II killed java client when master make shutdown

Tatsuo Ishii ishii at postgresql.org
Wed Feb 8 08:33:48 JST 2012


Everything seems normal. You killed PostgreSQL master and it makes
pgpool child unable to communicate with the backend (of course). So
the only way for pgpool can do is, exitting processing which cause the
Java client gets killed.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> Hi all,
> 
> I am using pgpool-II for my project. Everything is working fine i.e.
> automatic failover and online recovery.
> 
> I have two servers, one is master and other is standby. I am directly
> communicating with pgpool-II which connects with master and standby servers.
> 
> Now I am inserting records in database using java on the same port where
> pgpool-II is running.
> 
> When I killed my master node then my java client also killed before
> automatic failover.
> 
> Logs at pgpool-II
> 
> 2012-02-06 12:20:00 DEBUG: pid 30348: pool_unset_command_success: done
> 2012-02-06 12:20:00 DEBUG: pid 30348: pool_set_failed_transaction: done
> 2012-02-06 12:20:00 DEBUG: pid 30348: pool_set_ignore_till_sync: done
> 2012-02-06 12:20:00 DEBUG: pid 30348: pool_unset_query_in_progress: done
> 2012-02-06 12:20:00 LOG:   pid 30348: do_child: exits with status 1 due to
> error
> 2012-02-06 12:20:00 ERROR: pid 30348: pool_flush_it: write failed to
> backend (0)
>                                 . reason: Broken pipe offset: 0 wlen: 5
> 2012-02-06 12:20:00 DEBUG: pid 30318: reap_handler called
> 2012-02-06 12:20:00 DEBUG: pid 30318: reap_handler: call wait3
> 2012-02-06 12:20:00 DEBUG: pid 30318: child 30348 exits with status 256
> 2012-02-06 12:20:00 DEBUG: pid 30318: fork a new child pid 30433
> 2012-02-06 12:20:00 DEBUG: pid 30318: reap_handler: normally exited
> 2012-02-06 12:20:00 DEBUG: pid 30433: I am 30433
> 2012-02-06 12:20:00 DEBUG: pid 30433:
> pool_initialize_private_backend_status: in
>                                                                 itialize
> backend status
> 2012-02-06 12:20:06 DEBUG: pid 30318: starting health checking
> 2012-02-06 12:20:06 DEBUG: pid 30318: health_check: 0 th DB node status: 2
> 2012-02-06 12:20:06 ERROR: pid 30318: connect_inet_domain_socket: connect()
> fail
>                           ed: Connection refused
> 2012-02-06 12:20:06 ERROR: pid 30318: health check failed. 0 th host
> localhost a
>                                 t port 5434 is down
> 2012-02-06 12:20:06 LOG:   pid 30318: set 0 th backend down status
> 2012-02-06 12:20:06 DEBUG: pid 30318: failover_handler called
> 2012-02-06 12:20:06 DEBUG: pid 30318: failover_handler: starting to select
> new m
>                           aster node
> 2012-02-06 12:20:06 LOG:   pid 30318: starting degeneration. shutdown host
> local
>                           host(5434)
> 2012-02-06 12:20:06 LOG:   pid 30318: Restart all children
> 2012-02-06 12:20:06 DEBUG: pid 30318: failover_handler: kill 30319
> 2012-02-06 12:20:06 DEBUG: pid 30318: failover_handler: kill 30320
> 2012-02-06 12:20:06 DEBUG: pid 30318: failover_handler: kill 30321
> 2012-02-06 12:20:06 DEBUG: pid 30318: failover_handler: kill 30322
> 2012-02-06 12:20:06 DEBUG: pid 30318: failover_handler: kill 30323
> 2012-02-06 12:20:06 DEBUG: pid 30320: child received shutdown request
> signal 3
> 2012-02-06 12:20:06 DEBUG: pid 30321: child received shutdown request
> signal 3
> 
> pgpool.conf:
> 
> listen_addresses = '*'
> port = 5432
> pcp_port = 5433
> num_init_children = 32
> max_pool = 4
> child_life_time = 300
> health_check_timeout = 30
> health_check_period = 10
> health_check_user = 'health'
> health_check_password = 'health'
> 
> Please tell me am I doing anything wrong?
> 
> Thanks,
> Saurabh


More information about the pgpool-general mailing list